武汉大学数据库例题及解答

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例4.3 】创建大学教学管理数据库,数据库名为JXGL,其主数据文件逻辑名称为JXGL_ data,数据文件的操作系统文件名称为JXGL.mdf,数据文件初始大小为5 MB,最大值为200 MB,以5%的增量增加。日志逻辑文件名称为JXGL_log,日志的操作系统文件名称为JXGL.ldf,日志文件初始大小为5 MB,可按2 MB增量增加,最大值为50 MB。

CREATE DATABASE JXGL

ON

( NAME = JXGL_data, //默认为主数据文件

FILENAME = '''+ @data_path + 'JXGL.mdf'',

SIZE = 5,

MAXSIZE = 200,

FILEGROWTH = 5% )

LOG ON

( NAME = JXGL_log,

FILENAME = '''+ @data_path + 'JXGL.ldf'',

SIZE = 5MB,

MAXSIZE = 50MB,

FILEGROWTH = 2MB )

【例】创建test数据库,包含一个主文件组和两个次文件组。

CREATE DATABASE test

ON

PRIMARY /*定义在主文件组上的文件*/

( NAME=pri_file1,

FILENAME=' C:\Program Files\Microsoft SQL Server\ MSSQL\Data \pri_file1.mdf ',

SIZE=10,MAXSIZE=50,FILEGROWTH=15%),

( NAME=pri_file2,

FILENAME=' C:\Program Files\Microsoft SQL Server\MSSQL\Data \pri_file2.ndf ',

SIZE=10,MAXSIZE=50,FILEGROWTH=15%),

FILEGROUP Grp1 /*定义在次文件组Grp1上的文件*/

( NAME=Grp1_file1,

FILENAME=' C:\Program Files\Microsoft SQL Server \MSSQL\Data \ Grp1_file1.ndf ',

SIZE=10,MAXSIZE = 50,FILEGROWTH=5),

FILEGROUP Grp2 /*定义在次文件组Grp2上的文件*/

( NAME = Grp2_file1,

FILENAME=' C:\Program Files\Microsoft SQL Server\MSSQL\Data \ Grp2_file1.ndf ',

SIZE=10,MAXSIZE=50,FILEGROWTH=5),

LOG ON /*定义事务日志文件*/

( NAME='test_log',

FILENAME=' C:\Program Files\Microsoft SQL Server\MSSQL\Data \test_log.ldf ',

SIZE=5,MAXSIZE=25,FILEGROWTH=5 )

GO

例:在原有数据库的基础上增加一个文件组date1,添加一个新文件并加入到文件组date1中ALTER DATABASE stuDB

ADD FILEGROUP date1

GO

ALTER DATABASE stuDB

ADD FILE

(NAME='stuDB_data1', --主数据文件的逻辑名

FILENAME='D:\project\stuDB_data1.ndf', --主数据文件的物理名

SIZE=5mb, --主数据文件初始大小

MAXSIZE=100mb, --主数据文件增长的最大值

FILEGROWTH=15% --主数据文件的增长率

TO FILEGROUP date1

GO

【例】删除已经创建的“学生管理数据库”。

DROP DATABASE 学生管理数据库

GO

例:在xsgl数据库中创建kc表。

USE xsgl

GO

CREATE TABLE kc

(

课程号char(4) PRIMARY KEY,

课程名char(16) not null,

学分smallint,

学时数smallint

)

GO

【例】在xs表的“专业”列和“姓名”列上创建名为“IX_zyxm”的非聚集、复合索引。运行如下命令。

CREATE NONCLUSTERED INDEX IX_zyxm ON

xs (专业,姓名)

GO

--查看和维护索引信息

EXEC sp_helpindex <表名>

--删除索引

DROP INDEX 索引名[,...] ON 表名

【例】向xs表中添加如表4-1所示字段

USE xsgl

GO

ALTER TABLE xs

ADD 电话CHAR(8)NULL

ADD 电子邮件CHAR(40) NULL

GO

【例】将xs表中的电子邮件字段的列长改为20。

ALTER TABLE xs

ALTER COLUMN 电子邮件CHAR(20) NULL

【例】在SC表中增加完整性约束定义,使grade在0-100之间。

ALTER TABLE SC

ADD CONSTRAINT grade_CHK CHECK(grade

BETWEEN 0 AND 100)

【例】将xs表中的电话列删除。

ALTER TABLE xs DROP COLUMN 电话

【例】查询所有女生的信息并将结果保存在名为“女生表”的数据表中。USE xsgl

GO

SELECT * INTO 女生表

FROM xs

WHERE 性别='女'

【例】查询所有男生的信息并将结果存入临时表中。

USE xsgl

SELECT *

INTO #TEMPDB

FROM xs

WHERE 性别='男'

要查看临时表的内容可用下面的语句:

SELECT * FROM #TEMPDB

【例】查询所有学生的学号,姓名及年龄。

USE xsgl

GO

SELECT 学号,姓名,年龄=DATEDIFF(YY,出生时间,GETDATE())

FROM xs

GO

【例】查询xs表中前5条记录

USE xsgl

GO

SELECT TOP 5 *

FROM xs

GO

【例】在cj表中求每门课程成绩大于90分的人数,

并显示统计的明细。

USE xsgl

相关文档
最新文档