1、 实验四 使用SQL语句创建和删除数据库、表 一. 实验目的: 1、 了解SQL Server 2005数据库的逻辑结构和物理结构。 2、 掌握使用SQL 语句创建和删除数据库。 3、 学会使用T-SQL语句创建表。 二. 实验准备 1. 明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2. 了解用SQL语句创建和删除数据库的基本语法。 3. 是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、 熟练使用查询分析器进行数据库的创建和删除操作。 2、 用查询分析器,完成用SQL语句创建和删除基本
2、表。 3、 完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\
3、userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1 2. 根据步骤1的sql语句,写出创建实验二中 “学生信息” 数据库的sql语句,并建立“学生信息” 数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database
4、 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 4.修改文件alter database数据库名modify file() 注括号内表示修改后的属性信息,格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 5. 删除文件mrk
5、j(alter database数据库名remove file+文件名) 6. 用SQL语句删除步骤一建立的数据库userdb1。 二、表: 1.在步骤二建立的数据库“学生信息”中,用SQL语言添加实验二中的表,包括约束的创建。 默认约束:default ‘男’ 2. 添加实验二中表的具体信息(注:实验二内容四种的表格的具体内容可不全写,添加其中的几行即可). 3. 用sql语言完成实验二中关于表的相关操作。 附:用SQL语句创建表的某个例子,请参照完成 在SQL Server 2005 的
6、查询分析器中,用sql语句创建student表。 use userdb1 表示在userdb1 %数据库中创建student的表% CREATE TABLE student ( sno char(8) PRIMARY KEY, --学号(主键) sname char (8) NOT NULL, --姓名 sex char(2), --性别 native char(20), --籍贯 birthday smalldatetime, --出生日期 dno char(6), --所在院系 spno char(8), --专业代码(外键) cl
7、assno char(4), --班级号 entime smalldatetime, --入校时间 home varchar (40), --家庭住址 tel varchar (40) --联系电话 ) 附其他操作参考: 1.单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 CREATE DATABASE studb ON ( NAME=studb_dat, FILENAME='C:\DataBas
8、e\studb.mdf') EXEC sp_helpdb 2.在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。 ALTER DATABASE studb MODIFY FILE (NAME=studb_data, SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 1MB) 3.在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。 ALTER DAT
9、ABASE studb ADD LOG FILE(NAME = studb_log2, FILENAME=studb_log2.ldf, SIZE = 5MB, MAXSIZE = 10MB) 4.使用Transact-SQL语句DROP DATABASE删除student_db数据库。 DROP DATABASE student_db 5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。 CREATE TABLE grade ( [学号] [char] (4) NULL, [课程编号] [char] (4)
10、 NULL , [分数] [char] (5) NULL ) ON [PRIMARY] 6.使用Transact-SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入数据: 学号为0004,课程编号为0001,分数为80。 INSERT grade VALUES ('0004','0001', '80') 7.使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。 ALTER TABLE curriculum ALTER COLUMN课程编号NOT NULL
11、8.使用Transact-SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。 ALTER TABLE grade ALTER COLUMN分数real 9.使用Transact-SQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为vachar(10),非空。 alter table student_info add 学生姓名 varchar(10) NOT NULL; update student_info set 学生姓名=姓名; alter table student_info
12、 drop column 姓名; 10.分别使用SQL Server管理平台和Transact-SQL语句DELETE删除studentsdb数据库的grade表中学号为0004的成绩记录。 DELETE grade WHERE 学号='0004' 11.使用Transact-SQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。 UPDATE grade SET 分数= 90 WHERE 学号='0003' and 课程编号='0005' 12.使用Transact-SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。 ALTER TABLE grade ADD 备注 VARCHAR(20) NULL 13.分别使用SQL Server管理平台和Transact-SQL语句DROP TABLE删除studentsdb数据库中grade表。 DROP TABLE studentsdb.dbo.grade 14熟悉课堂上关于加说明和别名的用法






