、创建数据库myschool 并根据题1创建学生表和年级表
时间: 2023-08-20 18:04:06 浏览: 95
可以使用如下的 SQL 语句来创建数据库 `myschool`、学生表 `student` 和年级表 `grade`:
```sql
-- 创建数据库
CREATE DATABASE IF NOT EXISTS myschool DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- 使用数据库
USE myschool;
-- 创建学生表
CREATE TABLE IF NOT EXISTS student (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生ID',
name VARCHAR(20) NOT NULL COMMENT '学生姓名',
gender ENUM('男', '女') NOT NULL DEFAULT '男' COMMENT '学生性别',
age TINYINT(3) UNSIGNED NOT NULL COMMENT '学生年龄',
grade_id INT(11) NOT NULL COMMENT '所在年级ID',
PRIMARY KEY (id),
CONSTRAINT fk_grade_id FOREIGN KEY (grade_id) REFERENCES grade (id)
);
-- 创建年级表
CREATE TABLE IF NOT EXISTS grade (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '年级ID',
name VARCHAR(20) NOT NULL COMMENT '年级名称',
PRIMARY KEY (id)
);
```
以上 SQL 语句中,`student` 表和 `grade` 表之间使用了外键约束,确保了学生表中的 `grade_id` 字段只能引用年级表中已存在的 `id` 值。
阅读全文