Cyeam Logo

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":""}