afinfo 表设计

适配 MySQL 数据库的建表语句,并做了合理的数据类型设计,同时补充说明字段含义与可调整项:

sql

复制代码
-- 创建 afinfo 表
CREATE TABLE `afinfo` (
  `Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID,自增',
  `name` VARCHAR(50) NOT NULL COMMENT '姓名',
  `age` INT NULL COMMENT '年龄',
  `birth` DATE NULL COMMENT '出生日期',
  `sex` VARCHAR(10) NULL COMMENT '性别',
  `memo` VARCHAR(50) NULL COMMENT '备注/学历信息',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人员信息表';

-- 插入示例数据
INSERT INTO `afinfo` (`name`, `age`, `birth`, `sex`, `memo`)
VALUES 
('徐洪国', 37, '1979-03-23', '男', '高中'),
('王芳芳', 26, '1988-02-06', '女', '本科'),
('徐晓盛', 24, '1990-04-02', '男', '硕士'),
('陈晓', 30, '1984-09-12', '女', '博士'),
('郑凯', 27, '1987-12-30', '男', '大专');

说明与可选优化

  1. 字段设计说明

    • Id:设为自增主键,保证数据唯一性。
    • name/sex/memo:用 VARCHAR 存储字符串,长度按场景做了合理预留。
    • age:用 INT 存储数字,也可以通过 birth 字段计算得出,减少冗余。
    • birth:用 DATE 存储日期,更规范且方便后续日期函数操作。
  2. 可选优化项

    • 若要对性别做约束,可添加 CHECK 或枚举类型:

      sql

      复制代码
      `sex` ENUM('男','女') NULL COMMENT '性别'
    • 若要保证姓名不重复,可添加唯一索引: sql

      复制代码
      UNIQUE KEY `uk_name` (`name`)
    • 若字段需支持更长文本,可将 memo 改为 TEXT 类型。

相关推荐
这个DBA有点耶7 分钟前
MySQL 8.0执行计划分析利器:EXPLAIN ANALYZE到底比EXPLAIN强在哪?
数据库·mysql·代码规范
YHHLAI1 小时前
SQL 完全指南:从入门到精通
数据库·sql
oradh2 小时前
Oracle enq: TX - index contention 锁等待事件问题排查总结
数据库·oracle·oracle enq tx·enq tx index
CDN3602 小时前
爬虫把价格库扒光、SQL注入打穿数据库?360CDN WAF规则引擎深度定制,把防护精度拉到逐字段级
数据库·爬虫·sql
数据库小学妹4 小时前
MySQL长事务复盘:Sleep连接、MDL排队与undo滞留
运维·数据库·mysql
计算机毕设定制辅导-无忧学长4 小时前
基于Spring Boot的玄幻小说个性化推荐平台设计与实现
java·vue.js·spring boot·后端·mysql·推荐算法
半摆烂日常4 小时前
自建WMS和买成品:三年成本对比
大数据·服务器·数据库·python·深度学习·低代码·numpy
风123456789~4 小时前
【架构专栏】第6章 数据库设计基础知识 1/4
数据库·架构
Nturmoils4 小时前
异构数据同步不只追延迟:用 KFS 守住不停机迁移的每一笔账
数据库