学生档案表(表名XSDA)结构
| 字段名 | 类型 | 长度 | 是否允许为空值 | 说明 |
| 学号 | char | 6 | Not null | 主键 |
| 姓名 | char | 8 | Not null | |
| 性别 | char | 2 | Not null | |
| 系名 | char | 10 | null | |
| 出生日期 | smalldatetime | null | ||
| 民族 | char | 4 | null | |
| 身高 | decimal | 3,2 | null | |
| 总学分 | tinyint | null | ||
| 备注 | Text | null |
课程信息表(表名KCXX)结构
| 字段名 | 类型 | 长度 | 是否允许为空值 | 说明 |
| 学号 | char | 6 | Not null | 主键 |
| 姓名 | char | 8 | Not null | |
| 性别 | char | 2 | Not null | |
| 系名 | char | 10 | null | |
| 出生日期 | smalldatetime | null | ||
| 民族 | char | 4 | null | |
| 身高 | decimal | 3,2 | null | |
| 总学分 | tinyint | null | ||
| 备注 | Text | null |
学生成绩表(表名XSCJ)结构
| 字段名 | 类型 | 长度 | 是否允许为空值 | 说明 |
| 学号 | char | 6 | Not null | |
| 课程编号 | char | 3 | Not null | |
| 成绩 | tinyint | null |
create table XSDA( 学号 char(6) not null primary key, 姓名 char(8), 性别 char(2), 系名 char(10), 出生日期 smalldatetime, 民族 char(4), 身高 decimal(3,2), 总学分 tinyint, 备注 varchar(50) ) create table KCXX( 课程编号 char(3) not null primary key, 课程名称 char(20), 开学学期 tinyint, 学时 tinyint, 学分 tinyint ) create table XSCJ( 学号 char(6) not null, 课程编号 char(3) not null, 成绩 numeric(4,1), primary key(学号,课程信息), foreign key(学号) references xsda(学号), foreign key(课程编号) REFERENCES kcxx(课程编号) )
1、输入(insert)数据
INSERT INTO XSDA(学号,姓名,性别,系名,出生日期,民族,身高,总学分,备注)
VALUES('200501','王红','女','信息',1986-02-14,'汉',1.70,60,null),
('200502','刘林','男','信息',1986-05-20,'汉',2.50,54,null),
('200503','曹红雷','男','信息',1986-09-24,'汉',1.98,50,null)
INSERT INTO KCXX(课程编号,课程名称 ,开学学期,学时 ,学分)
VALUES(104,'计算机文化基础',1,60,3),
(108,'C语言程序设计',2,96,5),
(202,'数据结构',3,72,4),
(207,'数据库信息管理系统',4,72,4)
INSERT INTO XSCJ(学号,课程编号,成绩)
VALUES('200501',104,81),
('200501',108,77),
('200501',202,89),
('200501',207,90),
('200502',104,92),
('200502',108,95),
('200502',202,93),
('200502',207,90),
('200503',104,65),
('200503',108,60),
('200503',202,69),
('200503',207,73)
2、新增加一门课程:课程编号、课程名称、开课学期依次为506、网站开发、5。
INSERT KCXX(课程编号,课程名称,开课学期) VALUES(506,'网站开发',5)
3、修改课程506的编号为507。
UPDATe KCXX SET cid=507 WHERe cid=506
4、新增一条成绩信息:200501、507、90。
INSERT INTO XSCJ
VALUES('200501',507,90)
5、修改课程507的学分为4、学时为64。
UPDATE KCXX SET xueshi=64 , xuefen=4 WHERe cid=507
6、修改KCXX表中课程507的编号为506。
alter table XSCJ drop constraint FK_XSCJ_KCXX UPDATE KCXX SET cid=506 WHERe cid=507
7、修改XSCJ表中课程507的编号为506。
UPDATE xscj SET cid=506 WHERe cid=507
8、检索男生成绩信息并存入新表XSCJ_Boys中。
select 学号,姓名,课程编号,课程名称,成绩 INTO XSCJ_Boys from kcxx,xsda,xscj where xsda.学号=xscj.学号 and kcxx.课程编号=xscj.课程编号
9、删除200502学生的学生信息
alter table XSCJ drop constraint FK_XSCJ_KCXX delete from xsda where stuid='200502'
10、删除200502学生的成绩信息。
delete from xscj where stuid='200502'
11.同时删除'200501'学生的学生信息和成绩
--级联
alter table XSCJ
drop constraint FK_XSCJ_KCXX
alter table XSCJ
add constraint FK_XSCJ_KCXX123
foreign key(课程编号) references
kcxx(课程编号) on update cascade on delete cascade



