Go工具集

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":""}
Web Analytics Made Easy - Statcounter