逐列怎么定义要点
- 每列写法:列名 类型 [约束],类型后面可接 NOT NULL 等
- NOT NULL 强制必填,插入空值直接报错拦在门口
- DEFAULT 给缺省值,没传该列时自动填,如注册时间
- COMMENT 给列加注释,团队接手看结构时省猜谜
- BOOLEAN 本质是 TINYINT(1),TRUE 存 1、FALSE 存 0
- 列顺序影响存储和常用查询,高频列靠前可读性更好
逐列怎么定义示例
CREATE TABLE product (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(80) NOT NULL COMMENT '商品名',
price DECIMAL(10,2) NOT NULL DEFAULT 0.00,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
避坑提醒:NOT NULL 一定配合 DEFAULT 或业务保证有值,否则老代码漏传就会插不进去。