1.用图形化方法和CREATE DATABASE语句创建符合如下条件的数据库。
数据库的名字为students,包含的数据文件的逻辑文件名为 students_dat,物理文件名为 students.mdf,存放在D:\Test文件夹中(若D:中无此子文件夹,可先建立此文件夹,然后再创建数据库),初始大小为6MB,自动增长,每次增加1MB。日志文件的逻辑文件名为students_log,物理文件名为students.ldf,也存放在D:\Test文件夹中,初始大小为2MB,自动增长,每次增加10%。
CREATE DATABASE语句:
CREATE DATABASE students
ON primary
(NAME= 'students_dat',
FILENAME='D:\test\students_dat.mdf',
SIZE=6MB,
FILEGROWTH=1MB)
LOG ON
(NAME= 'students_log',
FILENAME='D:\test\students_log.ldf',
SIZE=2MB,
FILEGROWTH=10%)
2.用 CREATE DATABASE语句创建符合如下条件的数据库。 数据库包含两个数据文件和两个日志文件。数据库的名称为:财务信息数据库,该数据库包含两个数据文件和两个日志文件。数据文件1的逻辑文件名为财务数据1,物理文件名为财务数据1.mdf,存放在“D:\财务数据”目录下(若D:中无此文件夹,可先建立此文件夹,然后再创建数据库,初始大小为4MB,自动增长,每次增加IMB;数据文件2的逻辑文件名为财务数据2,物理文件名为财务数据2.ndf,与主要数据文件存放在相同的文件夹中,初始大小为3MB,自动增长,每次增加10%。日志文件1的逻辑文件名为财务日志1,物理文件名为财务日志1.ldf,存放在“D:\财务日志”文件夹中,初始大小为2MB,自动增长,每次增加10%;日志文件2的逻辑文件名为财务日志2,物理文件名为财务日志2ldf,存放在“D:\财务日志”文件夹中,初始大小为2MB,不自动增长。
CREATE DATABASE语句:
CREATE DATABASE 财务信息数据库
ON primary
(NAME=财务数据1,
FILENAME='D:\财务数据\财务数据1.mdf',
SIZE=4MB,
FILEGROWTH=1MB),
(NAME=财务数据2,
FILENAME='D:\财务数据\财务数据2.ndf',
SIZE=3MB,
FILEGROWTH=10%)
LOG ON
(NAME=财务日志1,
FILENAME='D:\财务日志\财务日志1.ldf',
SIZE=2MB,
FILEGROWTH=10%),
(NAME=财务日志2,
FILENAME='D:\财务日志\财务日志2.ldf',
SIZE=2MB,
FILEGROWTH=0)
3.删除新建立的“财务信息数据库”,观察该数据库包含的文件是否一起被删除了。
CREATE DATABASE语句:
DROP DATABASE 财务信息数据库
该数据库包含的文件确实被一起删除了
4.分别用图形化方法和 Transact-SQL语句对上机练习中第1题所建立的“students”数据库空间进行如下扩展:增加一个新的数据文件,文件的逻辑名为“students_dat2”,存放在新文件组Group1中,物理文件名为 students2.ndf,存放在“D:\Test”文件夹中,文件的初始大小为2MB,不自动增长。
Transact-SQL语句:
ALTER DATABASE students
ADD FILEGROUP Group1
ALTER DATABASE students
ADD FILE
(
NAME=students_dat2,
FILENAME='D:\test\students_dat2.ndf',
SIZE=2MB,
FILEGROWTH=0
)
TO FILEGROUP Group1
5.将上机练习中第4题新添加的“students_dat2”文件的初始大小改为6MB。
Transact-SQL语句:
ALTER DATABASE students
MODIFY FILE
(NAME=students_dat2,
SIZE=6MB)
6.分别用图形化方法和Transact-sql语句对“students”数据库进行如下操作:
1)缩小“students”数据库空间,使该数据库中的空白空间为50%。
Transact-sql语句
DBCC SHRINKDATABASE(students,50)
2)将数据文件“ students dat”的初始大小缩小为4MB。
Transact-sql语句
DBCC SHRINKFILE(students_dat,4)
8.假设SQL Server服务已启动,并以Administrator身份登录计算机(文件名称自定);请分别使用Management界面方式和T-SQL语句实现以下操作:
CREATE DATABASE student
ON primary
(
NAME=stu,
FILENAME='D:\stu_data.mdf',
SIZE=3MB,
MAXSIZE=500MB,
FILEGROWTH=10%
)
LOG ON
(
NAME=stu_log,
FILENAME='D:\stu_log.ldf',
SIZE=3MB,
FILEGROWTH=1MB
)
CREATE DATABASE Company
ON primary
(NAME=Company_data,
FILENAME='D:\Company.mdf',
SIZE=10MB,
FILEGROWTH=10%)
LOG ON
(NAME=Company_log,
FILENAME='D:\Company.ldf',
SIZE=1MB,
MAXSIZE=50MB,
FILEGROWTH=1MB)
CREATE DATABASE DB
ON primary
(
NAME=DB_data1,
FILENAME='D:\ceshi\DB_data1.mdf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=10%
),
(
NAME=DB_data2,
FILENAME='D:\ceshi\DB_data2.mdf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=10%
)
LOG ON
(
NAME=DB_log,
FILENAME='D:\ceshi\DB_log.ldf',
SIZE=3MB,
FILEGROWTH=10%
)
ALTER DATABASE student
ADD FILE
(
NAME=db2,
FILENAME='D:\test\db2.ndf',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=10%
)
ALTER DATABASE student
ADD LOG FILE
(
NAME=db_log,
FILENAME='D:\db_log.ldf',
SIZE=1MB,
FILEGROWTH=1MB)
6) 修改数据库student主数据文件的大小,将主数据文件的初始大小修改为10Mb,增长方式为20%;
ALTER DATABASE student
MODIFY FILE
(NAME=stu,
SIZE=10MB)
ALTER DATABASE student
MODIFY FILE
(NAME=stu,
FILEGROWTH=20%)
ALTER DATABASE student
MODIFY FILE
(NAME=db,
SIZE=3MB,
MAXSIZE=100MB,
FILEGROWTH=10%)
ALTER DATABASE student
REMOVE FILE db
ALTER DATABASE student
REMOVE FILE db_log
DROP DATABASE company,DB
9.定义一个int的整形变量,并分别给其赋值67、123067。
declare @m int=67
print @m
declare @m int=123067
print @m
10.定义一个长度为11的可变长形字符变量,并分别给其赋值“Hello World!”和“How are you?”。
declare @z varchar(11)
set @z='Hello World!'
declare @z varchar(11)
set @z='How are you?'
11.分别将字符串“WELCOME”和“student”转换成小写、大写字母。
select LOWER ('WELCOME')
select UPPER ('student')
12.使用RTRIM和LTRIM函数分别去掉字符串“ 信电分院 ”右边和左边的空格,再与“学生选课”连接起来。
select rtrim (' 信电分院 ')
select ltrim (' 信电分院 ')
select STUFF (' 信电分院 ',6,2,'学生选课')
13.使用SUBSTRING将字符串“ABCDEFG”中的“CDE”显示出来。
select SUBSTRING ('ABCDEFG',3,3)
14.使用GETDATE( )函数返回系统当前日期
select GETDATE ()
15.使用DAY( )函数提取当前日期的日期部分的整数。
select DAY (GETDATE())
16.使用T-SQL流程控制语句求两个数的最大公约数和最小公倍数。
DECLARE @a int,@b int,@c int,@d int,@x int
set @c=50
set @d=2
set @a=@c
set @b=@d
if @a<@b
begin
set @x=@b
set @b=@a
set @a=@x
end
while @b!=0
begin
set @x=@a%@b
set @a=@b
set @b=@x
end
select @a
select @c*@d/@a
17.使用T-SQL流程控制语句求斐波那契数列中小于100的所有数。
DECLARE @Q int
DECLARE @W int
DECLARE @E int
DECLARE @R varchar(2000)
set @Q =1
set @W =1
set @R=cast(@Q as varchar(10))+','+cast(@W as varchar(10))
while (@W<100)
begin
set @E=@W
set @W=@W+@Q
set @Q=@E
if(@W<100)
set @R=@R+','+cast(@W as varchar (10))
end
print @R