SQL --用户数据维护

学生档案表(表名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 

创建3个表。 (创建顺序、主外键)

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ML.star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值