MySQL基础学习: 第二章 DQL语句
2024-01-08 18:05:56
一、MySQL中的DQL语句
DQL主要指的是SELECT语句。SELECT用于检索从一个或多个表中选择的行,并且可以包括UNION操作和子查询。从MySQL 8.0.31开始,也支持INTERSECT和EXCEPT操作。本章主要对SELECT语句的用法进行逐一的介绍,语法如下:
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
[FROM table_references
[PARTITION partition_list]]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
[HAVING where_condition]
[WINDOW window_name AS (window_spec)
[, window_name AS (window_spec)] ...]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[into_option]
[FOR {UPDATE | SHARE}
[OF tbl_name [, tbl_name] ...]
[NOWAIT | SKIP LOCKED]
| LOCK IN SHARE MODE]
[into_option]
into_option: {
INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name] ...
}
- select_expr:包含一个选择列表,可以表示一列或、达式或者*来简写。
二、基础查询操作
1、查询常量
主要包含数字常量和字符串常量:
- 数字常量:select 1
- 字符常量:select ‘abc’
2、查询表达式
例如数字相乘或相加:
- select 2*3
- select 2+3:在MySQL中+号的功能仅仅是一个运算符,其运算有如下规则:
- 如果其中有一项元素为字符,则在做加法运算时会将字符转成数字。
- 如果字符可以转成数字,则做相加。
- 如果字符不可以转数字,则将字符转为0,然后做相加。
- 如果其中一项元素为null,则相加的结果为null,例如SELECT null + 10,结果为null。
3、查询函数
例如查询数据库版本和当前所在的数据库:
- select version()
- select database()
4、查询表
在查询的过程中可以为字段、函数、子查询、表名使用as(也可以不用写)关键字起别名。起别名可以起到如下作用:(1)使用有意义的别名便于理解;(2)对于联合查询如果两个表的字段名相同,可以使用别名进行区分。
三、查询语句的执行顺序
查询中用到的关键词主要包含六个,并且他们的顺序依次为
select、from、where、group by、having、order by 、limit
对于我们书写SELECT语句的的顺序如下:
SELECT DISTINCT
select_list
FROM
left_table join_type
JOIN right_table ON join_condition
WHERE
where_condition
GROUP BY
group_by_list
having
having_condition
ORDER BY
order_by_condition
LIMIT limit_number
而MySQL server按照如下的顺序对SELECT语句进行解析:
FROM left_table
ON join_condition
join_type JOIN right_table
WHERE where_condition
GROUP BY group_by_list
HAVING having_condition
SELECT
DISTINCT select_list
ORDER BY order_by_condition
LIMIT limit_number
其中select和from是必须的,关键字的解析如下:
- from:需要从哪个数据表检索数据
- where:过滤表中数据的条件
- group by:如何将上面过滤出的数据分组
- having:对上面已经分组的数据进行过滤的条件
- select:查看结果集中的哪个列,或列的计算结果
- order by :按照什么样的顺序来查看返回的数据
四、条件查询
1、 简单条件运算符:
- “>”
- "< "
- “=”
- “!=”
- “<>”
- " >= "
- “<=“”
2、逻辑运算符:
- &&
- ||
- !
- and
- or
- not
3、模糊查询:
- like:%匹配诺干个元素,可以为0,_匹配一个元素
- between and: 包含临界值
- in:判断某个字段的值是否属于in列表中的某一项
- is null:=或<>不能用于判断null值,is null 或is not null可以判断null值且仅仅可以判断null值
- 安全等于:<=>既可以判断null值,又可以判断普通值
文章来源:https://blog.csdn.net/yuming226/article/details/135397029
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!