一、数据类型
1.1 数值类型
其中,score DECIMAL(4,1)表示整数部分和小数部分的长度为4,保留1位小数。
1.2 字符串类型
1.3 日期类型
根据需求创建表(设计合理的数据类型、长度)
设计一张员工信息表,要求如下:
1.编号(纯数字)
2.员工工号(字符串类型,长度不超过10位)
- 员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一个汉字)
5.年龄(正常人年龄,不可能存储负数)
- 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7.入职时间(取值年月日即可)
二、操作数据
2.1 通用语法及分类
2.2 DDL(数据定义语言)
2.2.1 数据库操作
注意事项
- UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集
2.2.2 表操作
2.3 DML(数据操作语言)
2.3.1 添加数据
注意事项
- 字符串和日期类型数据应该包含在引号中
- 插入的数据大小应该在字段的规定范围内
2.3.2 更新和删除数据
2.4 DQL(数据查询语言)
2.4.1 基础查询
2.4.2 条件查询
SQL语句:
SELECT 字段列表 FROM 表名 WHERE 条件列表;
条件:
2.4.3 聚合查询(聚合函数)
SQL语句
SELECT 聚合函数(字段列表) FROM 表名;
2.4.4 分组查询
SQL语句
SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后的过滤条件 ];
where 和 having 的区别:
- 执行时机不同:where是分组之前进行过滤,不满足where条件不参与分组;having是分组后对结果进行过滤。
- 判断条件不同:where不能对聚合函数进行判断,而having可以。
注意事项
执行顺序:where > 聚合函数 > having
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义
2.4.5 排序查询
SQL语句:
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;
排序方式:
- ASC: 升序(默认)
- DESC: 降序
注意事项
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
2.4.6 分页查询
SQL语句
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;
注意事项
- 起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数
- 分页查询是数据库的方言,不同数据库有不同实现,MySQL是LIMIT
- 如果查询的是第一页数据,起始索引可以省略,直接简写 LIMIT 10
DQL执行顺序
FROM -> WHERE -> GROUP BY -> SELECT -> ORDER BY -> LIMIT
2.5 DCL
注意事项
- 主机名可以使用 % 通配
权限控制
常用权限:
注意事项
- 多个权限用逗号分隔
- 授权时,数据库名和表名可以用 * 进行通配,代表所有