主页 > 知识库 > 数据库 > SQL server >

sql server操作1:数据库及基本表的建立

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

    有帮助
    (0)
    0%
    没帮助
    (0)
    0%