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

匿名 (未验证) 提交于 2019-12-03 00:19:01
CREATE DATABASE XSGL
GO
USE XSGL
GO



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))



cno varchar(2) primary key, --课程编号
cname varchar(30),--课程名称
credit tinyint,--课程名

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


CREATE TABLE sc( --创建成绩表


grade tinyint check(grade>=0 and grade<=100),
constraint pk_grade primary key(sno,cno))


--也可以是








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')

values('95003', '王敏', '女', 18, 'MA')

values('95004', '张立', '男', 19, 'IS')

values('95005', '刘云', '女', 18, 'CS ')


insert into course(cno, cname,credit,cpno)
values('1', '数据库', 4, '5')

values('2', '数学', 6, null)

values('3', '信息系统', 3, '1')

values('4', '操作系统', 4, '6')

values('5', '数据结构', 4, '7')

values('6', '数据处理', 3, null)

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字段;

drop column sdept
--(3)删除创建的sc表中cno字段和course表cno字段之间的外键约束;
alter table sc

--(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


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!