首页
学习
活动
专区
圈层
工具
发布

MYSQL基本操作-select 查询语句

目录 MYSQL基本操作-select 查询语句 MYSQL基本操作-select 查询语句 针对数据表里面的每条记录,select查询语句叫做数据查询语言(DQL) select的语法格式 SELECT...,否则获取不需要的列数据会降低查询和所使用应用程序的效率 查询表的部分字段 select bookid, bookname from book; 可以指定表的所有字段,然后更改字段顺序, 这种查询所有字段的写法比较灵活...from book; select count(distinct typeid) from yyTest; 注意:当使用distinct的时候,只会返回指定的字段,其他字段都不会返回,所以查询语句就变成去重查询语句...= 1; select * from book where borrowsum > 8; select * from book where borrowsum >= 10; 多条件的查询栗子 多条件的查询都需要使用逻辑运算符...; select * from book where borrowsum not between 10 and 30; 查询值为空的行 is null是一个关键字来的,用于判断字段的值是否为空值(NULL

4.1K20

Mysql常用sql语句(8)- where 条件查询

测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 条件查询应该是作为测试平时用到最多的关键字了!!...它可以用来指定查询条件,减少不必要的查询时间 where的语法格式 WHERE 查询条件 五种查询条件 比较运算符、逻辑运算符 between and 关键字 is null 关键字 in、exist...,具体可参考这篇博文:(后面补充) 单一条件的查询栗子 一般单一条件查询用的就是比较运算符 select * from yyTest where id = 1; select * from yyTest...= 1; select * from yyTest where height > 170; select * from yyTest where height >= 175; select * from...yyTest where age < 20; select * from yyTest where age <= 20; 多条件的查询栗子 多条件的查询都需要使用逻辑运算符,下面的栗子比较简单不展开描述

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MYSQL基本操作-select 查询语句【续】

    子查询 查看图书类别表中有图书的类别id和类别名称 常见错误写法 正确写法 ---- 前言 内容:MYSQL基本操作-select 查询语句【续】 聚合函数 最大值(max) select max(bookprice...自连接是同一个表不同实例的连接操作 自连接必须指定别名(aliasName)区分不同实例 SELECT b2.bookname,b2.borrowsum FROM book AS b2,book AS...子查询 子查询在我们查询方法中是比较常用的,通过子查询可以实现多表查询 子查询是指:将一个查询语句嵌套在另一个查询语句中 子查询可以在select、update、delete语句中使用,还可以进行多层嵌套...* from emp) as t; 如果嵌套的是子查询,必须给表指定别名,一般会返回多行多列的结果集,当做一张新的临时表 只出现在子查询中而没有出现在父查询中的表不能包含在输出列中 多层嵌套子查询的最终结果集只包含父查询...(最外层的查询)的select 语句中出现的字段 子查询的结果集通常会作为其外层查询的数据源或用于条件判断

    2.7K40

    Mysql常用sql语句(3)- select 查询语句基础使用

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 针对数据表里面的每条记录,select查询语句叫做数据查询语言...(DQL) select的语法格式 SELECT {* | } [ FROM , … [WHERE [GROUP BY where group by having order by limit 这篇先简单入个门 最简单的查询栗子 栗子一:查询表的所有字段 select * from yytest; ?...知识点 通配符,代表查询所有字段 * 使用 时,只能按照数据表中字段的顺序进行排列,不能自定义字段排序 * 建议:不知道所需查询的列名称时,才用 ,否则获取不需要的列数据会降低查询和所使用应用程序的效率...from join on where group by having order by limit 它们的执行顺序是 from on join where group by having select

    2.1K10

    MySQL 简单查询语句执行过程分析(四)WHERE 条件

    本文是 MySQL 简单查询语句执行过程分析 6 篇中的第 4 篇,第 1 ~ 3 篇请看这里: MySQL 简单查询语句执行过程分析(一)词法分析 & 语法分析 MySQL 简单查询语句执行过程分析(...二)查询准备阶段 MySQL 简单查询语句执行过程分析(三)从 InnoDB 读数据 今天我们分为 3 个部分来介绍,首先会看一下 where 条件在源码中的结构是什么样的,对 where 条件结构有了初步了解之后...示例 SQL 1: select * from t_recbuf where bit1 = 220 示例 SQL 1 中,用整数 220 作为 where 条件的值进行查询,server 层会把 char...示例 SQL 3: select * from t_recbuf where bit1 = bit1 | b'100' 当我们想要查询 bit1 字段中第 3 位是 1 的记录时,可以像示例 SQL...,还请帮忙转发朋友圈,让更多的人看到,大家一起进步,谢谢 ^_^ 预告一下,下一篇要写的内容是 MySQL 简单查询语句执行过程分析(五)发送数据,敬请关注!

    3.5K30

    MySQL数据查询select语句灵活使用详解

    案例:查询用户表user的所有信息 Select * from user 第二种:带有条件筛选的单表查询 where 这个语法只是在select查询语句的最好加上一条where语句进行数据的进一步过滤...:多表查询 join 我们很多时候往往要多个表的数据举行查询,因为根据关系型数据库设计的特点,我们需要的各个字段的数据往往分布于各个不同的数据表内。...第四种:过滤相同列数据 distinct 如果我们得到的查询结果中有相同的数据行,我们可以通过distinct关键词进行过滤。...语法结构: Select 字段 from 表 [where语句] [order by语句] [limit语句] 举例:获取用户表的前十条记录 Select * from user limit 10 获取用户表的第...语句所在sql中的位置: select 字段 from 表 [where语句] [group by语句][having语句] 至于having之后的字段表达式的用法类似于where语句,唯一不同的就是

    2.9K10

    mysql(基本的SELECT语句)

    SELECT department_id FROM   employees;  在SELECT语句中使用关键字DISTINCT去除重复行 SELECT DISTINCT department_id FROM...空值参与运算 所有运算符或列值遇到null值,运算的结果都为null SELECT NULL+1,NULL-1,NULL*1,NULL>1,NULL<1,NULL=1 FROM DUAL 在 MySQL...如果真的相同,请在SQL语句中使用一对``(着重号)引起来。(键盘上1数字的旁边那玩意) 补充: SELECT 查询还可以对常数进行查询。对的,就是在 SELECT 查询结果中增加一列固定的常数列。...SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。...条件查询 语法: SELECT 字段1,字段2 FROM 表名 WHERE 过滤条件  用WHERE 子句,将不满足条件的行过滤掉 WHERE子句紧随 FROM子句 举例 SELECT employee_id

    2.8K30

    【mysql】基本的select语句

    如果真的相同,请在SQL语句中使用一对(着重号)引起来。 5. 查询常数 SELECT 查询还可以对常数进行查询。就是在 SELECT 查询结果中增加一列固定的常数列。...SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。...过滤元素 练习:查询90号部门的员工信息 SELECT * FROM employees #过滤条件,声明在FROM结构的后面 WHERE department_id = 90; [在这里插入图片描述...] 练习:查询last_name为'King'的员工信息 SELECT * FROM EMPLOYEES WHERE LAST_NAME = 'King'; [在这里插入图片描述] 注意:mysql...的员工姓名和工资 SELECT last_name salary FROM employees WHERE salary > 12000; [在这里插入图片描述] 查询员工号为176的员工的姓名和部门号

    2.6K30

    select语句的执行流程(MySql)

    学习了极客时间MySql课程,做个总结 以一条select语句为例:select * from T where ID=4 ,梳理下执行的流程 一条sql语句在执行过程中需要经过连接器、分析器、优化器、...查询缓存 在经过连接器之后,会执行第二步查询缓存,在MySql拿到查询后,会先到查询缓存查看是否执行过这条语句,之前执行的结果会以key-value对的形式存在,如果不在查询缓存中,会继续执行后面的极端...在MySql8.0之后去掉了查询缓存的功能。...分析器 分析器会先做“词法分析”,识别出sql里的字符串分别是什么,读出“select”关键字对出这是一条查询语句,把字符串T识别成“表T” “语法分析”,根据词法分析的结果,判断该条sql是否满足MySql...的语法 优化器 优化器的作用在于选择最优的逻辑执行sql,例如在一个语句进行多表关联的时候,决定各个表的连接顺序 执行器 在开始执行前,先判断你对表T是否有执行查询的权限,没有就返回没有权限的错误,有权限则继续执行

    1K10

    MySQL 数据库使用SQL SELECT语句来查询数据

    MySQL 数据库使用SQL SELECT语句来查询数据。 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。...语法 以下为在MySQL数据库中查询数据通用的 SELECT 语法: SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT...N][ OFFSET M] 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。...SELECT 命令可以读取一条或者多条记录。 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据 你可以使用 WHERE 语句来包含任何条件。...你可以使用 LIMIT 属性来设定返回的记录数。 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

    3.9K20

    【重学MySQL】十三、基本的 select 语句

    【重学MySQL】十三、基本的 select 语句 基本的SELECT语句是SQL(Structured Query Language,结构化查询语言)中最常用的语句之一,用于从数据库表中检索数据...在这种情况下,MySQL仍然能够处理这样的查询,因为MySQL会忽略这个DUAL的引用,并直接执行SELECT语句中的计算或函数。...别名在表达式中的使用 列的别名还可以在SELECT语句的表达式中使用,但需要注意的是,别名在定义它的SELECT列表中是不可见的,也就是说,你不能在同一个SELECT列表的另一个表达式中直接使用它。...返回第一个非NULL值 总之,当在MySQL中编写查询并处理可能包含NULL值的列时,重要的是要了解NULL在不同运算和函数中的行为,并相应地调整你的查询逻辑。...不同的数据库系统(如MySQL、SQL Server、Oracle等)可能在SQL方言上有所不同,但基本的SELECT语句在大多数系统中都是通用的。

    2.2K10

    MySQL Select语句是怎么执行的?

    MySQL Select语句是怎么执行的?...[7goo7i5di4.png] 首先,我们可以看到,整个select语句包含三个模块,其中客户端和MySQL两个部分,MySQL又包含server端和存储引擎侧,server端包含连接器、查询缓存...关于查询缓存,还有2点需要注意: a、MySQL8.0中开始弃用查询缓存,因为查询缓存的命中率一般较低,弊大于利。...这里可以给出一个例子,例如我们建立了(a,b)的联合索引, select * from table where a=1 and b=1; select * from table where b=1 and...A1:有些时候,SQL语句要操作的表不只是SQL字面上那些。比如如果有个触发器,得在执行器阶段(过程中)才能确定。优化器阶段前是无能为力的 Q2:MySQL权限到底在哪里验证?

    3.3K40

    Mysql查询语句使用select.. for update导致的数据库死锁分析

    近期有一个业务需求,多台机器需要同时从Mysql一个表里查询数据并做后续业务逻辑,为了防止多台机器同时拿到一样的数据,每台机器需要在获取时锁住获取数据的数据段,保证多台机器不拿到相同的数据。...经过分析,mysql的innodb存储引擎实务锁虽然是锁行,但它内部是锁索引的,根据where条件和select的值是否只有主键或非主键索引来判断怎么锁,比如只有主键,则锁主键索引,如果只有非主键,则锁非主键索引...但同样的select .. for update语句怎么就死锁了呢?...比如有60条数据,select .. for update查询第31-60条数据,update在更新1-10条数据,按照innodb存储引擎的行锁原理,应该不会导致不同行的锁导致的互相等待。...虽然两个sql语句期望锁的数据行不一样,但两个sql语句查询或更新的条件或结果字段如果有相同列,则可能会导致互相等待对方锁,2个sql语句即引起了死锁。

    5.5K10

    软件测试|MySQL SELECT语句的详细使用

    简介MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了许多功能强大的SQL查询语句,其中最常用且最重要的是SELECT语句。...SELECT语句用于从数据库表中检索数据,并根据给定的条件返回所需的结果集。在本文中,我们将深入探讨MySQL SELECT语句的各个方面,并提供一些示例来说明其用法。...下面先介绍一些简单的 SELECT 语句,关于 WHERE、GROUP BY、ORDER BY 和 LIMIT 等限制条件,后面我们会一一讲解。查询表中所有字段查询所有字段是指查询表中所有字段的数据。...虽然使用通配符可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。使用“*”的优势是,当不知道所需列的名称时,可以通过“*”获取它们。...查询表中指定的字段查询表中的某一个字段的语法格式为:SELECT FROM ;查询单个字段查询 employees表中 name 列所有员工的姓名,SQL 语句和运行结果如下所示

    2.2K20

    《MySQL》系列 - select 语句是怎么执行的?

    假设现在我有张 user 表,只有两列,一列 id 自增的,一列 name 是  varchar 类型。...select * from user where id = 1;  01 mysql 架构概览 要想理解这个问题就必须要知道 mysql 的内部架构。...1.2 查询缓存 连接建立以后可以执行 select 语句了。这就会来到第二步:查询缓存。 查询缓存中存储的数据是 key-value 的形式,key 是查询语句,value 是查询的结果。...而对于要使用缓存的语句则可用 SQL_CACHE 显示指定,像这样: select SQL_CACHE * from user where id = 1; PS:MySQL 8.0 及以上版本把查询缓存删掉了...你输入的 sql 是啥,由啥组成,MySQL 都需要知道它们代表什么。 首先根据 "select" 识别出这是查询语句。

    3.1K20

    mysql中select子查(select中的select子查询)询探索

    实际上,第一条SQL语句的执行顺序是这样的: 执行子查询,查询出员工所在的部门名称。这个子查询使用了dept表,通过员工表和部门表的deptno字段关联,查询出员工所在部门的名称。...总的来说,第一条SQL语句使用了子查询,虽然可以实现查询员工姓名和部门名称的功能,但是效率不高,不够优化。而第二条SQL语句使用了JOIN操作,可以更好地利用索引,提高查询效率。...= 3; Subquery returns more than 1 row 子查询中的limit mysql> select d.dname,(select e.ename from emp e where...子查询可能的使用场景 带统计的查询 查询部门名称,地点,和部门人数 mysql> select dname,loc,(select count(empno) from emp e where e.deptno...,主查询只需要一行,例如查询部门名称,所在地,和部门中id最大的一个人的名称 mysql> select d.dname,(select e.ename from emp e where e.deptno

    3K00

    StarRocks 查询探秘(二):SELECT语句的语义分析之旅

    本文主要分析 Anylyze 阶段做的工作, 基于StarRocks-3.4.0版本在上一篇文章StarRocks 查询探秘(一):SELECT语句的解析之旅平头哥,公众号:BigData共享StarRocks...查询探秘(一):SELECT语句的解析之旅中,剖析了 StarRocks 是如何把一条文本 SQL 解析成一颗 AST 树;本文将接着上一篇文章,分析 Analyze 阶段,该阶段主要是针对 SQL...通过 Visitor 模式结合递归遍历的方式,逐层分析 AST 的每个节点。不同的 SQL 语句类型对应不同的 Analyzer 处理逻辑,确保语义分析的针对性。...)生成的 AST,其中 stmt 就是上一个阶段构建出的 AST 抽象语法树逐步分析 SQL 查询的各个组成部分(SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER...以下面两层查询sql为例,SELECT sum_pvFROM (      SELECT app_id,  SUM(pv) AS sum_pv      FROM xxx_table      WHERE

    45710

    INSERT...SELECT语句对查询的表加锁吗

    前言: insert into t2 select * from t1; 这条语句会对查询表 t1 加锁吗?不要轻易下结论。...对GreatSQL的锁进行研究之前,首先要确认一下事务的隔离级别,不同的事务隔离级别,锁的表现是不一样的。...SELECT 可能会读取到不同的数据,导致插入的数据不一致。 幻读:在某些情况下,另一个事务可能会在 INSERT ... SELECT 执行期间插入新的行,导致插入操作插入到不应该插入的行。...SELECT 语句在执行期间读取到的数据是一致的,并且不会被其他事务修改,从而维护了事务的隔离性和一致性。尽管 MVCC 可以在大多数情况下提供高效的数据读取和写入,但它并不能完全替代锁机制。...结论: INSERT...SELECT语句是否对查询表加锁跟事务隔离级别有关,REPEATABLE-READ隔离级别下加共享读锁,此共享读锁属于Nextkey lock,会影响其他事务对查询表的DML操作

    1K10
    领券