1.查询所有字段
SELECT * FROM 表名称;
例如查询book表中所有的数据:
select * from book;
2.查询指定字段
SELECT 字段1,字段2,字段3...FROM 表名称;
例如查询book表中的书籍名称:
select bookName from book;
3.WHERE条件查询
SELECT * FROM 表名称 WHERE 条件表达式;
例如查询book表中书价格低于60的书籍名称:
select bookName from book where price < 60;
4.带In关键字查询
SELECT * FROM 表名称 WHERE 字段 [NOT] IN (元素1,元素2,元素3);
注意:该字段查询结果后是元素1,元素2和元素3;
例如查询book表中书的价格是30和70的有哪些?:
select * from book where price in (30,70);
相反,若查询书的价格不是30和70的有:
select * from book where price not in (30,70);
5.带BETWEEN...AND的范围查询
SELECT * FROM 表名称 WHERE 字段 [NOT] BETWEEN 取值1 AND 取值2;
注意:该查询结果的是指在取值1和取值2的范围之间,且包括取值1和取值2!
例如查询book表中书的价格在30和70之间的有哪些?
select * from book where price between 30 and 70;
相反,若查询书的价格不在30~70这个范围之间,加个not就行了
select * from book where price not between 30 and 70;
6.带LIKE的字符匹配查询
SELECT * FROM 表名称 WHERE 字段 [NOT] LIKE ‘字符串’;
%(百分号)代表任意长度(长度可以为0)的字符串。例如a%b表示以a开头,以b结尾的任意长度字符串。
如:acb,addgb,ab等都满足该匹配串;
_(下横线)代表任意单个字符。例如a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,adb等都满足该匹配串。
例如:新建一个stu表,并插入相关数据,查询结果:
select * from stu;
例如查询以‘张三’字样开头的姓名:
select * from stu where sname like '张三%';
例如查询以‘张三’字样开头的名字(只限3个字符):
select * from stu where sname like '张三_';
例如查询以‘张三’字样开头的名字(只限4个字符):
select * from stu where sname like '张三__';(加两个'_'符号)
例如查询只含有‘四’字样的名字:
select * from stu where sname like '%四%';
7.空值查询
SELECT * FROM 表名称 WHERE 字段 IS [NOT] NULL;(此处的IS不可改为=)
例如查询表中年龄为null的数据:select * from stu where age is null;
8.带AND的多条件查询
SELECT * FROM 表名称 WHERE 条件表达式1 AND 条件表达式2;
例如要查询表中年龄=18并且姓名中含有张三字样的数据:
select * from stu where sname like '%张三%' and age=18;
9.带OR的多条件查询
SELECT * FROM 表名称 WHERE 条件表达式1 OR 条件表达式2;
例如要查询表中年龄=18或者姓名中含有张三字样的数据:
select * from stu where sname like '%张三%' or age=18;
10.DISTINCT去掉重复的查询
SELECT 字段 FROM 表名称;
例如查询年龄的所有数据:select age from stu;
若去掉重复的年龄则有:select distinct age from stu;
11.对查询结果进行排序
SELECT * FROM 表名称 ORDER BY 属性名[ASC|DESC](ASC是升序,DESC是降序);
例如查询所有数据,按照年龄降序排列:
select * from stu order by age desc;
12.LIMIT分页查询
SELECT * FROM 表名称 LIMIT 初始位置,每页记录数;
例如stu表中共有8条数据,按照分页查询,每页有3条数据:
select * from stu limit 0,3;(第1页数据,0/1/2三条)
select * from stu limit 3,3;(第二页数据,3/4/5三条)
select * from stu limit 6,3;(第三页数据,6/7两条)
好了,今天就先分享到这里了,下期继续给大家带来MySQL的后续讲解!欢迎关注我的原创技术公众号~
原创实属不易,求个关注吧~
本文分享自微信公众号 - 程序员的时光(gh_9211ec727426)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。