MySql数据库查询(一)——单表查询

版权声明:此账号的博客均为原创,侵权必究! https://blog.csdn.net/qq_37084904/article/details/82942164

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两条)

猜你喜欢

转载自blog.csdn.net/qq_37084904/article/details/82942164