排序
1.语法结构
- ASC 表示升序排序(默认) DESC 表示降序排序
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC];
2.单列排序
- 根据field1降序排序
SELECT * FROM table1 ORDER BY field1 DESC;
3.组合排序
- 根据field1降序排序,如果field1相等则根据field2降序排序
SELECT * FROM table1 ORDER BY field1 DESC, field2 DESC;
聚合函数
1.语法结构
SELECT 聚合函数(字段名) FROM 表名;
2.常用函数
| 聚合函数 | 说明 |
|---|---|
| count(字段) | 统计指定列不为NULL的记录行数 |
| sum(字段) | 计算指定列的数值和 |
| max(字段) | 计算指定列的最大值 |
| min(字段) | 计算指定列的最小值 |
| avg(字段) | 计算指定列的平均值 |
分组
1.语法结构
SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
where:在分组前的过滤,where 后不能写聚合函数
having:在分组后的过滤,having 后可以写聚合函数
示例:
SELECT field2 ,AVG(field1)FROM table1 WHERE field2 IS NOT NULL GROUP BY field1 HAVING AVG(field1) >10;
limit分段
1.语法结构
SELECT 字段1,字段2... FROM 表名 LIMIT offset , length;
- offset 起始行数, 从0开始记数, 如果省略 则默认为 0
- length 返回的行数
约束
1.主键约束
不可重复、唯一、非空,来表示数据库中的每一条记录
主键关键字:PRIMARY KEY
自增关键字:AUTO_INCREMENT
CREATE TABLE table1(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),sex CHAR(1))AUTO_INCREMENT=100;
2.非空约束
表示字段不允许为null值
非空关键字:NOT NULL
CREATE TABLE table1(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) NOT NULL,sex CHAR(1));
3.唯一约束
表示字段不允许出现重复数据
唯一关键字:UNIQUE
CREATE TABLE table1(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) UNIQUE,sex CHAR(1));
4.外键约束
- 表示从表的字段对应主表的字段
- 外键关键字:FOREIGN KEY
5.默认值
表示没有数据插入时的默认值
默认值关键字:DEFAULT
CREATE TABLE table1(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),sex CHAR(1) DEFAULT '女');
更新时间:{docsify-updated}
