排序

1.语法结构

  • ASC 表示升序排序(默认) DESC 表示降序排序
  1. SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC];

2.单列排序

  • 根据field1降序排序
    1. SELECT * FROM table1 ORDER BY field1 DESC;

3.组合排序

  • 根据field1降序排序,如果field1相等则根据field2降序排序
    1. SELECT * FROM table1 ORDER BY field1 DESC, field2 DESC;

聚合函数

1.语法结构

  1. SELECT 聚合函数(字段名) FROM 表名;

2.常用函数

聚合函数 说明
count(字段) 统计指定列不为NULL的记录行数
sum(字段) 计算指定列的数值和
max(字段) 计算指定列的最大值
min(字段) 计算指定列的最小值
avg(字段) 计算指定列的平均值

分组

1.语法结构

  1. SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
  • where:在分组前的过滤,where 后不能写聚合函数

  • having:在分组后的过滤,having 后可以写聚合函数

  • 示例:

    1. SELECT field2 ,AVG(field1)
    2. FROM table1 WHERE field2 IS NOT NULL GROUP BY field1 HAVING AVG(field1) >10;

limit分段

1.语法结构

  1. SELECT 字段1,字段2... FROM 表名 LIMIT offset , length;
  • offset 起始行数, 从0开始记数, 如果省略 则默认为 0
  • length 返回的行数

约束

1.主键约束

  • 不可重复、唯一、非空,来表示数据库中的每一条记录

  • 主键关键字:PRIMARY KEY

  • 自增关键字:AUTO_INCREMENT

    1. CREATE TABLE table1(
    2. id INT PRIMARY KEY AUTO_INCREMENT,
    3. name VARCHAR(20),
    4. sex CHAR(1)
    5. )AUTO_INCREMENT=100;

2.非空约束

  • 表示字段不允许为null值

  • 非空关键字:NOT NULL

    1. CREATE TABLE table1(
    2. id INT PRIMARY KEY AUTO_INCREMENT,
    3. name VARCHAR(20) NOT NULL,
    4. sex CHAR(1)
    5. );

3.唯一约束

  • 表示字段不允许出现重复数据

  • 唯一关键字:UNIQUE

    1. CREATE TABLE table1(
    2. id INT PRIMARY KEY AUTO_INCREMENT,
    3. name VARCHAR(20) UNIQUE,
    4. sex CHAR(1)
    5. );

4.外键约束

  • 表示从表的字段对应主表的字段
  • 外键关键字:FOREIGN KEY

5.默认值

  • 表示没有数据插入时的默认值

  • 默认值关键字:DEFAULT

    1. CREATE TABLE table1(
    2. id INT PRIMARY KEY AUTO_INCREMENT,
    3. name VARCHAR(20),
    4. sex CHAR(1) DEFAULT '女'
    5. );

更新时间:{docsify-updated}