创建新的数据库,命名为test_system;创建对应数据库表。为每个表建立主键。对course表建立如下约束:course_name非空,credit取值在1-6之间。为相应表创建外键,建立参照完整性约束。修改student和teacher表,分别增加一列用于存储学生和教师的E_mail地址。创建course2表,与course表结构一样,删除course2表。
时间: 2024-02-25 13:59:35 浏览: 71
以下是使用SQL语句来完成您的要求:
1. 创建新的数据库test_system:
```
CREATE DATABASE test_system;
```
2. 连接到test_system数据库,创建对应的表:
```
USE test_system;
-- 创建student表
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10),
email VARCHAR(100)
);
-- 创建teacher表
CREATE TABLE teacher (
id INT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10),
email VARCHAR(100)
);
-- 创建course表
CREATE TABLE course (
id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
credit INT,
CONSTRAINT credit_range CHECK (credit >= 1 AND credit <= 6)
);
-- 创建course2表
CREATE TABLE course2 LIKE course;
```
3. 修改course表,添加约束:
```
-- 添加约束
ALTER TABLE course
ADD CONSTRAINT course_name_not_null CHECK (course_name IS NOT NULL);
```
4. 为相应表创建外键,建立参照完整性约束:
```
-- 为student表添加外键
ALTER TABLE student
ADD CONSTRAINT student_course_id_fk FOREIGN KEY (course_id) REFERENCES course(id);
-- 为teacher表添加外键
ALTER TABLE teacher
ADD CONSTRAINT teacher_course_id_fk FOREIGN KEY (course_id) REFERENCES course(id);
```
5. 修改student和teacher表,分别增加一列用于存储学生和教师的E_mail地址:
```
-- 修改student表
ALTER TABLE student
ADD COLUMN email VARCHAR(100);
-- 修改teacher表
ALTER TABLE teacher
ADD COLUMN email VARCHAR(100);
```
6. 删除course2表:
```
DROP TABLE course2;
```
阅读全文