本文主要是介绍MySQL 系统学习系列 - SQL 语句 DQL 语句的使用(1)《MySQL系列篇-03》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SQL 语句 DQL
数据库表常见查询语句
1. 全部查询
-
# 查询全部 [SELECT * FROM 表名]SELECT * FROM stu; # 查询stu表中的所有列# 再 SELECT 语句后加上 distinct 语句,表示去重查询SELECT distinct `name` FROM stu; # 查询stu表中的所有name列(去重)
2. 条件查询
-
# 条件查询 [SELECT * FROM 表名 FROM WHERE 条件]# 比较运算符SELECT * FROM stu FROM WHERE age<7;SELECT `name` FROM stu WHERE ag>=7;......
-
# 逻辑运算SELECT * FROM stu WHERE age>=7 and age<18;........
-
# 范围查询 [非连续与连续查询]# 非连续 SELECT * FROM 表名 WHERE 条件列 IN (某一个范围逗号隔开)SELECT * FROM stu WHERE age IN (10,18,19); # 表示查询年龄为10、18、19的学生信息SELECT * FROM stu WHERE age=10 or age=18 or age=19;# 该语句与上面的语句等价# 连续 SELECT * FROM 表名 WHERE 条件列 BETWEEN v1 AND v2 [表示在v1到v2的范围之间,包含本身v1,v2]SELECT * FROM stu WHERE age BETWEEN 7 and 18; # 表示查询年龄在7-18之间的学生信息SELECT * FROM stu WHERE age>=7 AND age<=18; # 该语句与上面的语句等价
-
# 空值判断# 判空 SELECT * FROM 表名 WHERE 条件列 IS NULLSELECT * FROM stu WHERE age IS NOT NULL;# 判非空 SELECT * FROM 表名 WHERE 条件列 IS NOT NULLSELECT * FROM stu WHERE age IS NULL;/**上面只是判断null不包含空字符- 所以想要包含空字符也包含null的话,可以直接使用空字符来进行判断- 空字符饱和null如下*/SELECT * FROM stu WHERE age!="";SELECT * FROM stu WHERE age="";
3. 模糊查询like
-
# 模糊查询like [SELECT * FROM 表名 WHERE 条件列 LIKE 模糊条件值]# % 任意字符 SELECT * FROM 表名 WHERE 条件列 LIKE v%|%v... SELECT * FROM stu WHERE `name` LIKE "k%"; # 表示查询stu中name首位为k的所有数据# _ 单个字符,即相当于一个(_)代表一个字符SELECT * FROM stu WHERE `name` LIKE "k___"; # 表示查询stu中的name首位为k,并且后面为三个任意字符的的所有数据
4. 分页查询
-
# 分页查询 SELECT * FROM LIMIT/**方式1:limit , [start] , count方式2:limit , count , offset num, start [有问题,可能不支持,不确定]其中;start表示从第几个开始[0=1],count表示查询多少个,offset表示跳过多少个*/# 表示从第1为开始插入5条数据 [默认是从第一条数据开始,所以也可以不写0]SELECT * FROM stu LIMIT 0,5; # 表示跳过两列,查询3列 SELECT * FROM stu LIMIT 3 offset 2;
5. 排序查询
-
# 排序查询:order by 列名 ASC/DESC,[列1 ASC/DESC]# 对年龄列进行升序排序查询ELECT * FROM stu ORDER BY age ASC;/**多列排序会先进行第一列的排序,在对第一列排序相互来的结果有重复的数据整进行第二列的拍戏,依次类推.....也可以理解为是排序的优先级(或以哪一个为基准等)[自理]*/# 对年龄(age)进行排序,如果有重复的在进行名字(name)的排序 [升序]SELECT * FROM stu ORDER BY age ASC,name ASC;
6. 练习与子查询引入
-
# 练习1# 查询stu表中年龄最大的所有数据SELECT * FROM stu WHERE max(age); # 报错,因为where语句中不能存在函数SELECT max(age) FROM stu; # 只能查询年龄最大值的# 使用子查询,就是在查询语句中使用查询语句,记得需要用括号括起来/**该语句可以理解为先查询stu表中年龄的最大值再根据这个最大值,去查找stu中所有符合该结果的数据并以id列进行升序排序*/SELECT * FROM stu WHERE age = (SELECT max(age) FROM stu) ORDER BY id ASC;
这篇关于MySQL 系统学习系列 - SQL 语句 DQL 语句的使用(1)《MySQL系列篇-03》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!