(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。不用输入数据。
6
(3) 用SQL中的backup 语句将数据库Student备份到一个bak文件。(提示:backup database student to disk)
--备份:
BACKUP DATABASE \ TO DISK ='C:\\lzcDB1\\mybak1015.bak'
(4) 用SQL语句删除创建的表。
drop table S drop table C drop table SC
(5) 将Student数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份(复制)后,用SQL语句删除创建的数据库。
(6) 用SQL中的sp_attache_db语句完成对数据库Student的附加。(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等 ,具体用法:exec sp_attache_db )
--将 student 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'student',
7
@filename1 = N'C:\\lzcDB1\\student.mdf', @filename2 = N'C:\\lzcDB1\\student_log.ldf'
(7) 先删除Student库,再用SQL中的restore 语句还原刚才备份的数据库Student。 (提示:restore database student from disk)
(8) 用SQL语言修改数据库Student,给Student数据库添加一个文件组 TestFG1,然后将两个 5 MB 的文件添加到该文件组。(提示:alter database)
8
(9) 修改S表,增加一个表示联系电话的字段sPhoneNo,数据类型为字符串类型。
ALTER TABLE S
ADD sPhoneNo char(10)
(10)
利用SQL Server Management Studio的生成脚本功能(选中Student
库->右键菜单“任务”-> “生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。
生成代码:
USE [student] GO
/****** Object: Table [dbo].[SC] Script Date: 10/15/2016 17:17:34 ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
9
CREATE TABLE [dbo].[SC]( [sno] [char](10) NOT NULL, [cno] [char](10) NOT NULL, [cgrade] [smallint] NULL, PRIMARY KEY CLUSTERED (
[sno] ASC, [cno] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[S] Script Date: 10/15/2016 17:17:34 ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[S]( [sno] [char](10) NOT NULL, [sname] [nvarchar](20) NULL, [ssex] [nchar](2) NULL, [sbirth] [date] NULL,
[sdept] [nvarchar](20) NULL, [sPhoneNo] [char](10) NULL, PRIMARY KEY CLUSTERED (
[sno] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
10