第三章
11510
画布
|大纲
内容详情
一、数据类型(必背)
1.数值型
- 整数类
- INT
- 适用场景
- 主键/ID首选
- 适用场景
- BIGINT
- 适用场景
- 大数值
- 适用场景
- INT
- 小数类
- DECIMAL(M,D)
- 特点
- 无精度丢失
- 适用场景
- 存金额
- 特点
- 禁用提示
- 避免用FLOAT/DOUBLE
- DECIMAL(M,D)
2.日期型
- DATE
- 特点
- 仅存日期
- 特点
- DATETIME
- 特点
- 日期+时间
- 特点
- TIMESTAMP
- 特点
- 自动更新
- 时区敏感
- 特点
3.字符串型
- CHAR(n)
- 特点
- 固定长度
- 适用场景
- 手机号/身份证
- 特点
- VARCHAR(n)
- 特点
- 可变长度
- 适用场景
- 用户名/描述
- 特点
- TEXT
- 适用场景
- 大文本(文章内容)
- 适用场景
二、表的约束(SQL必考)
约束列表+说明+语法
- NOT NULL
- 作用
- 字段不能为空
- 语法示例
- name VARCHAR(20) NOT NULL
- 作用
- DEFAULT
- 作用
- 设置默认值
- 语法示例
- gender VARCHAR(2) DEFAULT '男'
- 作用
- UNIQUE
- 作用
- 字段值不重复
- 语法示例
- phone CHAR(11) UNIQUE
- 作用
- PRIMARY KEY
- 作用
- 非空+唯一,表中唯一标识
- 语法示例
- id INT PRIMARY KEY
- 作用
三、自动增长 AUTO_INCREMENT
作用
- 主键自动递增,无需手动赋值
规则
- 规则1
- 必须搭配主键/唯一键使用
- 规则2
- 一张表只能有一个自增字段
- 规则3
- 删除数据后,自增序列不会回退
四、字符集与校对集
字符集
- 推荐选择
- utf8mb4
- 优势
- 支持所有中文
- 支持emoji
- 避免乱码
校对集
- 推荐选择
- utf8mb4_general_ci
- 特点
- 不区分大小写
- 通用
五、核心建表模板(必背)
完整SQL代码
模板结构解析
- 引擎指定
- ENGINE=InnoDB
- 字符集指定
- DEFAULT CHARSET=utf8mb4
六、易错点
易错点1
- 金额字段必须用DECIMAL,不能用浮点型
易错点2
- NULL和空字符串''不是同一个值
易错点3
- 主键=非空+唯一,一张表只能有一个主键
易错点4
- 乱码问题优先检查字符集是否为utf8mb4
