MySQL数据库常见指令二

1、筛选条件:

等于 = 大于 > 小于 < 不等于 <> !=

select *from db_name where id <=3;
将id小于等于3的数据查询出来
IS NULL 判断字段是否是空 , IS NOT NULL 判断字段是否不是空
select *from db_name where id is null;

2、逻辑运算符 与 and、或 or、 非 not

select *from db_name where name='joker' and id=1;
查询字段name是joker并且id是1的数据
select * from db_name where name='joker' or id=1;
查询字段name是joker或者id是1的数据
select * from db_name where not id=1;
查询字段id不是是1的数据

3、排序查询 order by

select *from db_name order by id;
以id为排序来查询表格,默认是升序排列
select *from db_name order by id desc;
以id为逆向排序来查询表格,逆向加上desc

逆向排序 desc 正向 asc

4、限制查询 limit

select *from db_name limit 3;
查询从第一行开始的后三条数据
select *from db_name limit 2,4;
查询从第二行后开始的后四条数据

5、去重查询 distinct

select distinct *from db_name;
有重复项的数据去掉
select distinct id from db_name;
查询指定去除重复字段id的数据

6、模糊查询 %多个 _单个

select *from db_name where name like 'x%';
查询name字段以x开头后面多个字符符合条件的信息
select *from db_name where name like 'x_';
查询name字段以x开头后面一个字符符合条件的信息
select *from db_name where name not like '%x%';
查询name字段不包含字符x条件的信息

7、范围查询 between and; in

select *from db_name where id>2 and id<6;
查询id>2并且id<6的所有数据
select *from db_name where id between 2 and 6;
查询id>=22并且id<6的所有数据
select *from db_name where id in(2,5,9);
查询id是2 5 9 的所有数据

8、聚合分组

聚合函数 count计数 max最大值 min最小值 agv平均值 sum求和 group_concat 字段

select count(id) from db_name;
统计id个数信息
select min(id) from db_name;
select max(id) from db_name;
查询id最大和最小的数据
select group_concat(id) from db_name;
查询id的全部字段值,以行的方式展示查询结果

分组查询 group by

select id from db_name group by id;
以id为分组依据,查询id的分组信息,会去重和排序

聚合筛选 having

select id from db_name group by id having id=2;
以id为分组依据,查询id的分组信息,并在分组后查询id=2的信息

嵌套查询

select *from db_name where id>(select avg(id) from db_name);
先查询id的平均值,然后查询大于id的平均值的所有数据

9、链接查询

select *from db_name1 inner join db_name1;
无条件内连接,把db_name1的每一个数据依次和db_name1每一条数据相连
select *from db_name1 as a inner join db_name1 as b on a.id=b.id;
表db_name1与表db_name2的id相同的链接
select *from db_name1 as a left join db_name1 as b on a.id=b.id;
以db_name1为基准把表db_name1与表db_name2的id相同的链接
select *from db_name1 as a right join db_name1 as b on a.id=b.id;
以db_name2为基准把表db_name1与表db_name2的id相同的链接
select *from stu_info inner join select_cou on stu_info.stu_id=select_cou.stu_id left join course on select_cou.cour_id=course.cour_id;
多表连接查询
select *from stu_info inner join select_cou on stu_info.stu_id=select_cou.stu_id left join course on select_cou.cour_id=course.cour_id order by stu_info.stu_id;
多表连接查询并以学生id排序
原创文章 38 获赞 9 访问量 4511

猜你喜欢

转载自blog.csdn.net/Limit_Fly/article/details/105803878