JSON在线生成CREATE SQL
数据库设计规范
- 采用有意义的英文单词或词组命名,使用下划线分隔多个单词,例如 user_info。
- 明确列的数据类型和约束, 所有字段不能为空 ,例如 user_name VARCHAR(50) NOT NULL。
- PK 应该是有序并且无意义的,命名为`id`,bigint unsigned类型,并且是自增序列。
- 禁止 varchar 长度超过 2048,如果超过建议使用 text 或 blob。
- BLOB 和 TEXT 类型的字段 不建议 设置为 NOT NULL。
- 不建议 使用 CHAR、BINARY,建议使用 VARCHAR、VARBINARY 代替。
- 不建议 使用 FLOAT、REAL 或 DOUBLE,建议使用 DECIMAL 代替。
- 普通索引 idx_ 。唯一性约束的,可以在数据库中创建以 uniq_ 作为前缀的唯一约束索引。
- 索引字段必须有差异性,不能对可穷举字段加索引,例如性别。
- 尽量 避免使用 SELECT *,明确指定需要查询的列,减少数据传输量。
- 使用 WHERE 子句过滤数据, 避免 返回不必要的数据。
- 禁止 使用%前缀进行模糊前缀查询
- 禁止 使用DELETE,使用软删除`is_delete`剔除数据。
- 禁止 update不带where条件。
- 每个表都需要增加 create_time/update_time 字段。
- 禁止 使用关键字做变量名。
- JSON 的数据使用 JSON 类型存储而不是 TEXT。MySQL 会帮我们做 JSON 格式校验。注意长度限制。JSON 数据的大小受限于max_allowed_packet系统变量的值。这个变量限制了 MySQL 服务器和客户端之间传输的数据包的最大大小,它默认值通常是 4MB。
Example
ALTER TABLE tbl ADD COLUMN col int, ADD INDEX idx_col (col...);
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',本页面实现:
试试看
{"code":""}