1. 数据类型
1.1 数字类型
| 类型 | 说明 |
|---|---|
| int | 整数类型 |
| BIGINT | 大整数类型 |
| TINYINT | 小整数类型 |
| DECIMAL(5, 2) | 规范精确数字,只能存 5 位,其中 2 位是小数 |
1.2 字符串
| 类型 | 说明 |
|---|---|
| char | 定长字符串 |
| varchar | 不定长字符串 |
| text | 大段文本 |
注意:不加 unique 约束。
1.3 时间日期
| 类型 | 说明 |
|---|---|
| date | 日期 |
| time | 时间 |
| datetime | 日期时间 |
| timestamp | 时间戳 |
设置默认时间:default current_timestamp;更新时间戳:default current_timestamp on update current_timestamp。
1.4 软删除
创建一个字段,标记为删除状态,查看时看不到,其实没有删除数据。
2. 查询
2.1 查询所有
sql
select * from 表名
谨慎使用。
2.2 分列查询
sql
select 字段名 from 表名
select 表名.字段名 from 表名
select 表名.字段名 as 别名 from 表名
这个 as 不影响原数据。
2.3 where 条件
比较运算符
| 运算符 | 说明 |
|---|---|
| != | 不等于 |
| <> | 不等于(与 != 等价) |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
逻辑运算符
| 运算符 | 说明 |
|---|---|
| or | 或 |
| and | 且 |
| not | 非 |
空判断
sql
字段名 is null
字段名 is not null
范围
sql
字段名 between a and b
字段名 in (1, 2, 5, 7)
模糊查询
sql
字段 like %
% 匹配任意个数字符。
sql
字段 like _学%
_ 匹配单个字符。
2.4 聚合函数
| 函数 | 说明 |
|---|---|
| max | 最大 |
| min | 最小 |
| sum | 求和 |
| avg | 平均 |
| count | 统计个数 |
2.5 分页
sql
limit n
前 n 个。
sql
limit start, count
start 表示从哪个开始,count 表示看几个。
sql
limit (n-1)*m, m
每页显示 m 个,n 表示页数。
2.6 排序
sql
order by 列名 asc/desc
单条件排序。
sql
order by 列名 asc/desc, 列名 asc/desc
多条件排序。默认都是 asc,升序。
2.7 分组
sql
select 字段, count(*) from 表名 group by 字段
根据什么结果进行过滤。
2.8 过滤
sql
having
根据分组结果进行过滤。
3. 备份与恢复
3.1 备份
将数据库备份为 sql 文件。
sql
mysqldump -uroot -p szj > szj.sql
写入文件。
3.2 恢复
sql
mysql -uroot -p szj < szj.sql
加载整理。