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 类型。

相关推荐
aiks_yuan6 分钟前
MySQL 深分页 LIMIT 越翻越慢怎么办:300 万行实测 OFFSET、延迟关联和 keyset 的耗时差距(MySQL 8.2)
mysql
Decay__12 分钟前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
freejackman19 分钟前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
codigger2 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员
倔强的石头_3 小时前
集中式与分布式怎么选?我把手头11套系统重新过了一遍秤
数据库
挖掘狂人3 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员
Rainmicro3 小时前
【无标题】
java·数据库·算法
Thanks_ks3 小时前
MySQL 的索引是什么?用图书馆的目录讲明白
数据库·sql·mysql·索引·联合索引·explain·慢查询优化
CoderYanger9 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
wafrdggh12 小时前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序