管理表
程序员文章站
2022-05-10 08:00:57
...
【实验二】
(1)在gradem数据库中创建表1~表5所示结构的表。
CREATE TABLE student
(sno CHAR(10) NOT NULL PRIMARY KEY,
sname VARCHAR(8),
ssex CHAR(2),
sbirthday datetime(2),
saddress VARCHAR(50),
sdept CHAR(16),
speciality VARCHAR(20)
);
CREATE TABLE course
(cno CHAR(5) NOT NULL PRIMARY KEY,
cname VARCHAR(20) NOT NULL
);
CREATE TABLE sc
(sno CHAR(10) NOT NULL,
cno CHAR(5) NOT NULL,
degree DECIMAL(4,1),
CONSTRAINT n1 PRIMARY KEY (sno,cno),
CONSTRAINT n2 FOREIGN KEY (sno) REFERENCES student(sno),
CONSTRAINT n2 FOREIGN KEY (cno) REFERENCES course(cno)
);
CREATE TABLE teacher
(tno CHAR(3) NOT NULL PRIMARY KEY,
tname VARCHAR(8) NOT NULL,
tsex CHAR(2),
tbirthday DATE,
tdept CHAR(16)
);
CREATE TABLE teaching
(cno CHAR(5) NOT NULL,
tno CHAR(3) NOT NULL,
cterm TINYINT(1),
CONSTRAINT n1 PRIMARY KEY(cno,tno),
CONSTRAINT n2 FOREIGN KEY(cno) REFERENCES course(cno),
CONSTRAINT n3 FOREIGN KEY(tno) REFERENCES teacher(tno)
);
(2) 向表1至表5输入数据记录,见表6~表10。
表9 教师表teacher
tno tname tsex tbirthday tdept
101 李新 男 1977-01-12 计算机工程系
102 钱军 女 1968-06-04 计算机工程系
201 王小花 女 1979-12-23 信息工程系
202 张小青 男 1968-08-25 信息工程系
表10 授课表teaching
cno tno cterm
C01 101 2
C02 102 1
C03 201 3
C04 202 4
(3) 修改表结构。
① 向student表中增加“入学时间”列,其数据类型为日期时间型。
ALTER TABLE student ADD sdate DATE;
② 将student表中的sdept字段长度改为20。
ALTER TABLE student MODIFY sdept CHAR(20);
③ 将student表中的speciality字段删除。
ALTER TABLE student DROP speciality;
④ 删除student表。
要先删除sc表的外键sno,在删除表,
(4) 利用SQL命令(create table、alter table、drop table)完成对表的操作
用create talbe 命令完成student表和course表的定义。
CREATE TABLE student
(sno CHAR(10) NOT NULL PRIMARY KEY,
sname VARCHAR(8),
ssex CHAR(2),
sbirthday datetime(2),
saddress VARCHAR(50),
sdept CHAR(16),
speciality VARCHAR(20)
);
CREATE TABLE course
(cno CHAR(5) NOT NULL PRIMARY KEY,
cname VARCHAR(20) NOT NULL
);
②利用drop table命令实现(3)中的④。
DROP TABLE student: