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

mysql(基本的SELECT语句)

单引号、双引号是成对结束的必须使用英文状态下的半角输入方式字符串型和日期时间类型的数据可以使用单引号(' ')表示列的别名,尽量使用双引号(" "),而且不建议省略as  单行注释:#注释文字(MySQL...多行注释:/* 注释文字 */  好了正文开始: SELECT   标识选择哪些列 FROM     标识从哪个表中选择 选择全部列 SELECT *FROM  departments; #表名...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...而且,在 MySQL 里面,空值是占用空间的。  着重号 我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,请在SQL语句中使用一对``(着重号)引起来。

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

    MySQL之优化SELECT语句

    MySQL之优化SELECT语句 摘要: 本文主题为MySQL优化SELECT语句,涵盖了数据库性能提升概述,WHERE子句优化,范围优化和哈希联接优化。...优化SELECT语句是提高数据库性能的关键一环。本文将探讨几个关键的优化技术,包括WHERE子句优化、范围优化和哈希联接优化。...这些优化原则同样适用于包含WHERE子句的DELETE和UPDATE语句。需要注意的是,MySQL优化器在不断发展,可能会对查询进行多种优化,因此下面的示例仅是其中的一部分。...2.覆盖索引(Covering Index): 当MySQL发现查询的SELECT列都在索引中已经包含时,它可以使用覆盖索引,避免访问表的数据行,从而提高查询效率。...总结: MySQL数据库的性能优化对于提高应用程序的效率和用户体验至关重要。本文讨论了优化SELECT语句的几个方面,包括改进WHERE子句、范围优化以及使用哈希联接代替块嵌套循环联接算法。

    1.6K10

    MYSQL基本操作-select 查询语句

    目录 MYSQL基本操作-select 查询语句 MYSQL基本操作-select 查询语句 针对数据表里面的每条记录,select查询语句叫做数据查询语言(DQL) select的语法格式 SELECT... [{ }…]] [ORDER BY ] [LIMIT[,] count...语句中使用 distinct必须在所有字段前面 如果有多个字段需要去重,则会对多个字段进行组合去重,即所有字段的数据重复才会被去重 SELECT DISTINCT ,, FROM ; select distinct borrowsum from book; select count(distinct typeid) from yyTest; 注意:当使用distinct的时候...,只会返回指定的字段,其他字段都不会返回,所以查询语句就变成去重查询语句 条件查询 条件查询应该是作为测试平时用到最多的关键字了!!

    4.1K20

    select语句的执行流程(MySql)

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

    1.1K10

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

    子查询 查看图书类别表中有图书的类别id和类别名称 常见错误写法 正确写法 ---- 前言 内容:MYSQL基本操作-select 查询语句【续】 聚合函数 最大值(max) select max(bookprice...) as '最贵的书' from book; 最小值(min) select min(borrowsum) as '最受嫌弃的书...' from book; 数量(count) select count...select borrowsum, count(bookid) from book group by borrowsum having count(bookid) = 1; 分组排序 select borrowsum..., count(bookid) from book group by borrowsum order by count(bookid) desc; 统计功能分组查询 select borrowsum...子查询可以在select、update、delete语句中使用,还可以进行多层嵌套 WHERE (子查询) 操作符可以是比较运算符、in、not in、exists、not

    2.7K40

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

    【重学MySQL】十三、基本的 select 语句 基本的SELECT语句是SQL(Structured Query Language,结构化查询语言)中最常用的语句之一,用于从数据库表中检索数据...然而,值得注意的是,虽然DUAL在Oracle数据库中是一个常见的概念,但在MySQL中,它并不是严格必需的,因为MySQL允许你执行没有FROM子句的SELECT语句。...但在MySQL中,你可以直接写: SELECT 5 * 10; 这条语句同样会返回50,而不需要引用DUAL表。...在这种情况下,MySQL仍然能够处理这样的查询,因为MySQL会忽略这个DUAL的引用,并直接执行SELECT语句中的计算或函数。...按部门计算员工数 SELECT department_id, COUNT(employee_name) AS employee_count FROM employees GROUP BY department_id

    2.2K10

    MySQL Select语句是怎么执行的?

    MySQL Select语句是怎么执行的?...今天分享的内容是select和update的执行流程。 select的执行过程 话不多说,来个神图镇楼(自己画的)。...[7goo7i5di4.png] 首先,我们可以看到,整个select语句包含三个模块,其中客户端和MySQL两个部分,MySQL又包含server端和存储引擎侧,server端包含连接器、查询缓存...这里可以给出一个例子,例如我们建立了(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

    Select count(*)、Count(1)、Count(0)的区别和执行效率比较

    count()的执行效率比count(col)高,因此可以用count()的时候就不要去用count(col)。...count(col)的执行效率比count(distinct col)高,不过这个结论的意义不大,这两种方法也是看需要去用。...如果是对特定的列做count的话建立这个列的非聚集索引能对count有很大的帮助。 如果经常count()的话则可以找一个最小的col建立非聚集索引以避免全表扫描而影响整体性能。...在不加WHERE限制条件的情况下,COUNT()与COUNT(COL)基本可以认为是等价的; 但是在有WHERE限制条件的情况下,COUNT()会比COUNT(COL)快非常多; count(0)=...count(1)=count(*) count(指定的有效值)--执行计划都会转化为count(*) 如果指定的是列名,会判断是否有null,null不计算 当然,在建立优化count的索引之前一定要考虑新建立的索引会不会对别的查询有影响

    2.5K20

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

    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" 识别出这是查询语句。...之后进行语法分析,它会根据输入的语句分析是不是符合 MySQL 的语法。

    3.1K20
    领券