mysql数据库学习(4)--SQL语句关键字

一、关键字

1、like

模糊查询,多用于where 条件查询;

语法:字段名称 like "%字段%"

例如:select * from students where s_name like "李%";  -- 查询学生表中姓氏为李的学生数据

           select * from students where s_name like "%明%"; -- 查询学生表中姓名包含明字的学生的数据

注意:%表示任意多个任意字符;_表示一个任意字符!

2、group by

分组查询,根据列对数据集分组;

语法:select 字段名称 from 表名 group by 字段名称

例如:select  s_name, count(*) from students group by s_name; -- 按照姓名分组查询学生表中学生姓名以及对应的人数

结果:

c_name count(*)
李明 3
韩梅梅 1
张月 1

 

 

 

 

注意:group by 后的分组字段名称一定要和select 后的保持一致!

3、order by

排序,根据字段将查询结果升序或者降序展示;

语法:select 字段名称 from 表名 order by 字段名称 desc (asc)

例如:select * from students order by s_age desc; --  将学生表数据按照年龄从大到小排序

结果:

c_name c_age
李明 21
张月 20
韩梅梅 18

 

 

 

 

注意:desc 降序  asc升序

4、having

一般用于分组后的条件查询,多与group by 连用;

语法:select 字段名称 from 表名 group by 字段名称 having 条件

例如:select s_name,COUNT(*) from students GROUP BY s_name having COUNT(*)>1; -- 按照姓名分组查询学生表中学生姓名以及对应的人数

结果:

c_name c_age
李明 3

 

  

 注意:where是对from后面指定的表进行数据筛选,属于对原始数据的筛选; having是对group by的结果进行筛选

 5、between and 

一般用于条件查询,数值或者日期条件;

语法:select 字段名称 from 表名 where 字段名称 between 条件1 and 条件2

例如:select * from student where s_age BETWEEN '20' and '21'; -- 查询学生年龄在20-21之间的学生信息

注意:在 MySQL 中,BETWEEN AND 能匹配指定范围内的所有值,包括起始值和终止值。相当于 >= and <=

 6、and 

 一般用于条件查询,链接多个条件,且是“和”的意思;

语法:select 字段名称 from 表名 where  条件1 and 条件2

例如:select * from student where s_age='21' and s_sex='1'; -- 查询学生年龄在21岁并且是男生的学生信息

7、or

一般用于条件查询,链接多个条件,且是“或者”的意思;

语法:select 字段名称 from 表名 where  条件1 or 条件2

例如:select * from student where s_age='20' or s_age='21' ; -- 查询学生年龄是20岁或者是21岁的学生信息

8、is (not) null

一般用于条件查询,判断条件是否为空;

语法:select 字段名称 from 表名 where  字段名称 is not null

例如:select * from student where s_birdate is not null; -- 查询学生生日不为空的学生信息

9、as

取别名,一般用于给表名或者查询的字段取别名,方便查询;

语法:select 字段名称 as 名称 from 表名 as 名称 

例如:select s.s_name as 姓名,s.s_age as 年龄 from student as s ; -- 查询学生信息

结果:

姓名 年龄
李月 20
李明 21
韩梅梅 18

 

 

 

 

 注意:as 可以省略为空格;当查询的表有别名时,对应查询的字段要用  别名.字段名称  的写法!

 10、limit

返回前几条或者中间某几行数据,常用的于分页查询;

语法:limit m,n

例如:select * from student limit 2,3 ; -- 从第二条数据开始返回三条数据

注意:LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。

如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)!

11、in

in表示在一个非连续的范围内;
语法; in ()
例如:select * from student where s_address in ("北京","天津","上海");

posted on 2021-05-18 22:43  桃之夭夭*  阅读(766)  评论(0)    收藏  举报

导航