一、条件
1、条件表达式:
* >、
* <、
* >=、
* <=、
* !=、
* =、
* <>:不等于、
* and(&&)、
* Or(||)、
* is:一般用于判断字段值是否为空、
* not
2、模糊查询
* like:
_:表示单个字符的匹配
%:表示任意个字符的匹配
3、指定范围内的
* in(值1,值2,值3,…)
* between 值1 and 值2
4、去重复
* distinct
5、起别名
* as:as可以省略
二、约束
2.1 非空约束 not null
表示被非空约束的字段值不能为空
建表后将字段设置为非空
alter table 表名 modify 列名 类型 not null;
注:值为空的字段,不能修改为非空的
将非空字段设置为可以空的字段:
alter table 表名 modify 列名 类型;
建表时设置字段为非空:
create table 表名 (字段1 类型 not null,…);
2.2 唯一约束 unique
被唯一约束的字段值不能重复
建表后将字段设置为唯一:
alter table 表名 modify 列名 类型 unique;
注:已经重复值的字段,不能修改成唯一的
将唯一字段设置为可以重复的字段:
alter table 表名 drop index 列名;
建表时候设置字段唯一:
create table 表名 (字段1 类型 unique,…);
注:唯一约束下可以有多个null值
2.3 主键约束 primary key
特点:
1、非空
2、唯一
作用:标识表中的指定记录,一般使用没有特殊含义的字段作为主键
注:这种主键的定义方式,一般将主键写在第一位
主键只能有一个。
常见的主键:身份证号、学号、工号、
建表时添加主键
1、create table 表名 (主键 类型 primary key,...);
2、create table 表名 (字段1 类型 [约束],字段2 类型 [约束],primary key(id));
建表后设置主键:
alter table 表名 modify 列名 类型 primary key;
注:有null值或重复值的字段不能设置为主键
删除主键约束:
alter table 表名 drop primary key;
注:删除主键约束,仍会保留非空约束
2.3.2 主键自增长
注:
1、主键自增长是MySQL特有的
2、自增长的主键只能是数值类型的
3、只有主键才能自增长
4、自增长的主键可以使用null,系统会根据当前的最大值继续自增长
5、小鼠类型的自增长,使用null,结果是当前最大值的向上取整
格式:
create table 表名 (主键 类型 primary key auto_increment,…);
可以将字段设置成主键的的同时设置它自增长
alter table 表名 modify 列名 类型 primary key auto_increment;
建表后为主键设置自增长
alter table 表名 modify 主键 类型 auto+increment;
2.4 外键约束 foreign key
三、聚合函数
概念:将数据库表中的一列作为整体进行运算的函数
注:
聚合函数不计算null
1、sum()
2、avg()
3、max()
4、min()
5、count()
- 一般放置不会有null值的字段主键
- count(*),表示所有记录
四、查询语句
select
列
from
表名列表
where
条件列表
group by
分组
having
分组后的筛选条件
order by
排序方式
limit
分页
4.1 排序
排序fs:
1、asc:升序,默认
2、desc:降序
格式:
order by 字段 asc(升序)/desc(降序);
多个字段升降格式:
order by 字段1 asc/desc,字段2 asc/desc;
注:只有前面的字段排序完成有相同值时,才会根据后面的字段进行排序
4.2 分组
分组查询一般用于拆线呢分组字段和聚合函数
格式:
group by 分组字段
where 和 having 的区别:
1、where 用于分组前,当满足where 条件后才会进行分组,having 用于分组后,满足分组后的条件才会被查询
2、where 不能对聚合函数进行判断,having 可以对聚合函数进行判断
4.3 分页
格式:
limit 起始下标,显示数量
起始下标:(页码 - 1)*显示的记录数