当前位置:首页 > 问答 > 正文

数据库设计|表结构规范 mysql数据库建表语句—mysql的建表语句

数据库设计 | MySQL表结构规范与建表语句 📊🔍

MySQL表结构规范 ✅

  • 命名规范

    数据库设计|表结构规范 mysql数据库建表语句—mysql的建表语句

    • 表名/字段名使用小写 + 下划线(如 user_info
    • 避免MySQL保留字(如 orderorder_info
    • 主键推荐 id + 自增(AUTO_INCREMENT
  • 字段设计

    数据库设计|表结构规范 mysql数据库建表语句—mysql的建表语句

    • 明确数据类型(如 INT/VARCHAR(255)/DATETIME
    • 必填字段加 NOT NULL
    • 默认值设置(如 DEFAULT ''DEFAULT CURRENT_TIMESTAMP
  • 索引优化

    数据库设计|表结构规范 mysql数据库建表语句—mysql的建表语句

    • 主键索引(PRIMARY KEY
    • 常用查询字段加普通索引(INDEX
    • 唯一约束加唯一索引(UNIQUE KEY

MySQL建表语句示例 🛠️

CREATE TABLE `user_info` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` VARCHAR(50) NOT NULL COMMENT '用户名',
  `email` VARCHAR(100) UNIQUE COMMENT '邮箱',
  `age` TINYINT UNSIGNED DEFAULT 0 COMMENT '年龄',
  `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` DATETIME ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  INDEX `idx_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';

关键注意事项 ⚠️

  • 存储引擎:推荐 InnoDB(支持事务、行级锁)
  • 字符集utf8mb4(支持Emoji及全字符集)
  • 注释:字段和表均添加 COMMENT 提高可读性
  • 外键:谨慎使用(可能影响性能)

扩展小贴士 💡

  • 大文本用 TEXT 类型,避免 VARCHAR 超限
  • 金额字段用 DECIMAL(10,2) 而非 FLOAT(防精度丢失)
  • 时间戳字段用 DATETIMETIMESTAMP(按需选择)
    能帮你高效设计MySQL表结构!🚀

发表评论