数据库2表设计
1 student表student表的 MySQL 创建语句包含建表 插入示例数据你可以直接复制到 Navicat 里运行sql-- 1. 创建学生信息表 CREATE TABLE student ( name VARCHAR(50) NOT NULL COMMENT 姓名, code VARCHAR(10) PRIMARY KEY COMMENT 学号 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT学生信息表; -- 2. 插入表中的数据 INSERT INTO student (name, code) VALUES (张三, 001), (李四, 002), (马五, 003), (甲六, 004);补充说明code设为主键确保学号唯一且非空符合业务逻辑。字符集用utf8mb4可以兼容所有中文和特殊字符。表和字段都加了COMMENT注释方便后续维护。你直接在 Navicat 的「新建查询」里粘贴这段 SQL点击运行就能建好表并插入数据了。2exam表exam表的完整 MySQL 建表语句包含建表 插入数据和你之前的student表可以完美关联起来sql-- 1. 创建考试信息表 exam CREATE TABLE exam ( code VARCHAR(10) NOT NULL COMMENT 学号, subject VARCHAR(20) NOT NULL COMMENT 学科, score INT NOT NULL COMMENT 成绩, -- 复合主键学号 学科保证同一个学生同一门课不会有重复记录 PRIMARY KEY (code, subject), -- 外键关联 student 表的学号保证数据一致性 FOREIGN KEY (code) REFERENCES student(code) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT考试信息表; -- 2. 插入表中的数据 INSERT INTO exam (code, subject, score) VALUES (001, 数学, 80), (002, 数学, 75), (001, 语文, 90), (002, 语文, 80), (001, 英语, 90), (002, 英语, 85), (003, 英语, 80), (004, 英语, 70); 关键设计说明复合主键PRIMARY KEY (code, subject)保证了「同一个学生同一门学科只能有一条成绩记录」避免重复数据。外键关联FOREIGN KEY (code) REFERENCES student(code)把exam表和你之前创建的student表关联起来保证只有student表里存在的学号才能插入成绩避免脏数据。字段类型score用INT类型因为成绩是整数且范围合理。subject用VARCHAR(20)足够存储常见的学科名称。✅ 使用步骤先确认你之前的student表已经创建并插入了数据否则外键会报错。把这段 SQL 复制到 Navicat 的查询窗口点击「运行」即可。执行完成后刷新一下左侧的Test数据库就能看到exam表了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2589926.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!