一、实验目的
1、掌握SQL SERVER的查询分析器和企业管理器的使用;
2、掌握创建数据库和表的操作;
二、实验内容和要求
1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库;
2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;
三、实验主要仪器设备和材料
1.计算机及操作系统:PC机,Windows 2000/xp;
2.数据库管理系统:SQL sever 2005;
四、实验方法、步骤及结果测试
1 题目1、创建数据库“学生情况”: 2 实现代码及截图: 3 SQL语句 4 create database 学生情况
1 题目2、将数据库“学生情况”改名为“student” 2 SQL语句 3 alter database 学生情况modify name=student
1 题目3、创建基本表 2 3 SQL语句 4 5 S表: 6 use Student 7 create table S 8 (Sno char(10) primary key, 9 Sname char(10) not null, 10 Ssex char(2) check(Ssex='男'or Ssex='女'), 11 Ssp char(20), 12 Sdept char(20), 13 Sbirth datetime, 14 Sfrom varchar(30), 15 Schg char(10), 16 Spa char(8) default('团员'), 17 Snation char(8) default('汉族'), 18 ); 19 C表: 20 use Student 21 create table C 22 (Cno char(10) primary key, 23 Cname char(10) unique, 24 Tname char(8), 25 Cdept char(20), 26 CCredit real check(CCredit>=0 and CCredit<=20), 27 ); 28 SC表: 29 use Student 30 create table Sc 31 (Sno char(10), 32 Cno char(10), 33 Grade real check(Grade>=0 and Grade<=100), 34 Remark varchar(50), 35 primary key(Sno,Cno), 36 foreign key(Sno) references S(Sno), 37 foreign key(Cno) references C(Cno), 38 );
1 题目4、用sql语句将C表中的ccredit改为整型 2 3 use Student 4 /*首先手动删除约束才可以修改*/ 5 alter table C alter column CCredit int; 6 /*重新建立约束*/ 7 alter table C add check(CCredit>=0 and CCredit<=20);
1 题目5、用sql语句在“学生”表中添加一格“备注”字段remark,变长字符型,并保存结果 2 alter table S add remark varchar(50);
1 题目6. 用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果 2 alter table S alter column Ssp varchar(30);
1 题目7. 用sql语句删除“学生成绩”表中的“备注”字段并保存结果 2 alter table Sc drop column Remark;
1 题目8. 通过sql语句向s表中添加信息。 2 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 3 ('001','李春刚','男','计算机应用','CS','1985-5-10','河源','','团员','汉',''); 4 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 5 ('002','东学婷','女','计算机应用','CS','1986-10-24','包头','转系','团员','蒙',''); 6 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 7 ('003','张五男','男','电子商务','MA','1984-2-17','上海','退学','团员','汉',''); 8 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 9 ('004','刘%','男','电子商务','MA','1985-4-24','巴盟','','团员','汉',''); 10 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 11 ('005','吴惠','女','软件开发','CS','1985-2-10','通辽','','团员','汉',''); 12 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 13 ('006','王涛','男','软件开发','CS','1984-9-8','赤峰','','团员','满',''); 14 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 15 ('007','郭凤丽','男','应用电子','IS','1984-3-2','广州','','团员','蒙',''); 16 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 17 ('008','贾惠','男','应用电子','IS','1983-2-2','深圳','','团员','汉',''); 18 INSERT INTO S(Sno,Sname,Ssex,Ssp,Sdept,Sbirth,Sfrom,Schg,Spa,Snation,remark) VALUES 19 ('009','刘一%','男','软件开发','CS','1985-9-9','东莞','','团员','满','');
1 题目10. 通过sql语句添加学生选课信息 2 INSERT INTO Sc(Sno,Cno,Grade) VALUES('001','02',85) 3 INSERT INTO Sc(Sno,Cno,Grade) VALUES('001','03',75) 4 INSERT INTO Sc(Sno,Cno,Grade) VALUES('001','04',90) 5 INSERT INTO Sc(Sno,Cno,Grade) VALUES('002','05',50) 6 INSERT INTO Sc(Sno,Cno,Grade) VALUES('003','01',85) 7 INSERT INTO Sc(Sno,Cno,Grade) VALUES('003','02',75) 8 INSERT INTO Sc(Sno,Cno,Grade) VALUES('004','03',60) 9 INSERT INTO Sc(Sno,Cno,Grade) VALUES('004','02',92) 10 INSERT INTO Sc(Sno,Cno,Grade) VALUES('005','01',85) 11 INSERT INTO Sc(Sno,Cno,Grade) VALUES('005','04',46) 12 INSERT INTO Sc(Sno,Cno,Grade) VALUES('006','05',95) 13 INSERT INTO Sc(Sno,Cno,Grade) VALUES('006','03',52) 14 INSERT INTO Sc(Sno,Cno,Grade) VALUES('007','04',96) 15 INSERT INTO Sc(Sno,Cno,Grade) VALUES('007','05',85) 16 INSERT INTO Sc(Sno,Cno,Grade) VALUES('008','04',76) 17 INSERT INTO Sc(Sno,Cno,Grade) VALUES('008','05',68)
1 题目9.通过sql语句向C表中添加数据,并保存结果 2 INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit) VALUES('01','计算机应用','王晓梅','IS',4) 3 INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit) VALUES('02','高等数学','李一','MA',6) 4 INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit) VALUES('03','网页制作','张铁柱','CS',6) 5 INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit) VALUES('04','软件工程','付大鹏','CS',4) 6 INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit) VALUES('05','数据库','白一格','CS',6)
1 用sql语句在S中增加约束,要求学号要用S开头,后接4位数的字符串,请写出操作步骤以及sql语句。 2 #用sql语句在S中增加约束,要求学号要用S开头,后接4位数的字符串 3 ALTER TABLE Sc DROP FK__Sc__Sno; 4 UPDATE Sc SET Sno='S'+Sno; 5 UPDATE S SET Sno='S'+Sno; 6 ALTER table S ADD CONSTRAINT CK_S_Sno CHECK(Sno like 'S____'); 7 ALTER table Sc ADD CONSTRAINT FK__Sc__Sno FOREIGN KEY (Sno) REFERENCES S(sno) ; 8
通过sql语句做如下修改:
(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb
(2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mb
9 #主数据文件的容量为4mb,最大容量为20mb,递增量为2mb 10 ALTER DATABASE student MODIFY FILE( 11 NAME='学生情况', 12 SIZE = 4MB, 13 MAXSIZE = 20MB, 14 FILEGROWTH = 2MB 15 ) 16 17 #事务日志文件容量为2mb,最大容量为10mb,递增量为1mb 18 ALTER DATABASE student MODIFY FILE( 19 NAME='学生情况_log', 20 SIZE = 2MB, 21 MAXSIZE = 10MB, 22 FILEGROWTH = 1MB 23 )