数据库原理实验指导(二) SQL定义语言

CREATE DATABASE XSGL
GO
USE XSGL
GO


CREATE TABLE student(  --创建学生表
sno varchar(8) primary key,--(实体完整性)学生姓名
sname varchar(4) not null unique,--学生姓名
ssex varchar(2) default '男' check(ssex='男'or ssex='女'),
--性别给定默认值为'男',取值只能取‘男’或‘女’
sage tinyint check(sage>13 and sage<50),
sdept char(10))


CREATE TABLE course(--创建课程表 
cno varchar(2) primary key, --课程编号
cname varchar(30),--课程名称
credit tinyint,--课程名

cpno varchar(3)) --先修课号


CREATE TABLE sc( --创建成绩表
sno varchar(8)  foreign key references student(sno),--学生学号
cno varchar(2)  foreign key references course(cno),--成绩
grade tinyint check(grade>=0 and grade<=100),
constraint pk_grade primary key(sno,cno))


--也可以是
/*create table sc        --创建成绩表
(sno char(8),           --学生学号
 cno char(2),         --课程编号
 grade tinyint,           --成绩
 constraint pk_grade primary key(sno,cno),
 constraint fk_stuid foreign key(sno) references student(sno),
 constraint fk_course foreign key(cno) references course(cno),
 constraint ck_grade check(grade>=0 and grade<=100) )*/
GO
--向表中录入数据
INSERT INTO student(sno,sname, ssex,sage,sdept)
values ('95001', '李勇', '男', 20, 'CS')
INSERT INTO student(sno,sname, ssex,sage,sdept)
values('95002', '刘晨', '女', 19, 'IS')
INSERT INTO student(sno,sname, ssex,sage,sdept) 
values('95003', '王敏', '女', 18, 'MA')
INSERT INTO student(sno,sname, ssex,sage,sdept) 
values('95004', '张立', '男', 19, 'IS')
INSERT INTO student(sno,sname, ssex,sage,sdept) 
values('95005', '刘云', '女', 18, 'CS ')


insert into course(cno, cname,credit,cpno)
values('1', '数据库', 4, '5')
insert into course(cno, cname,credit,cpno) 
values('2', '数学', 6, null)
insert into course(cno, cname,credit,cpno) 
values('3', '信息系统', 3, '1')
insert into course(cno, cname,credit,cpno) 
values('4', '操作系统', 4, '6')
insert into course(cno, cname,credit,cpno) 
values('5', '数据结构', 4, '7')
insert into course(cno, cname,credit,cpno) 
values('6', '数据处理', 3, null)
insert into course(cno, cname,credit,cpno) 
values('7', 'PASCAL语言', 4, '6')


insert into sc(sno,cno,grade) values('95001', '1' ,92)
insert into sc(sno,cno,grade) values('95001', '2' ,85)
insert into sc(sno,cno,grade) values('95001', '3' ,88)
insert into sc(sno,cno,grade) values('95002', '2' ,90)
insert into sc(sno,cno,grade) values('95002', '3' ,80)
insert into sc(sno,cno,grade) values('95003', '2' ,85)
insert into sc(sno,cno,grade) values('95004', '1' ,58)
insert into sc(sno,cno,grade) values('95004', '2' ,85)
go
--(1)STUDENT表中增加一个字段入学时间scome
ALTER TABLE student ADD scome date
--(2)删除STUDENT表中sdept字段;
alter table student 
drop column sdept
--(3)删除创建的sc表中cno字段和course表cno字段之间的外键约束;
alter table sc
drop constraint FK__sc__cno__1920BF5C 
--(4)重建上述删除的外键约束
alter table sc
add constraint fk_course foreign key(cno) references course(cno)
--重新定义一个简单表,然后用SQL语言DROP语句删除该表结构
create table cql(
sno char(10) )
drop table cql
--用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序唯一索引
create unique index index_sname
on student (sname desc)
--用SQL语言DROP语句删除索引
drop index student.index_sname
go


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值