数据库练习题1--创建与管理数据库及sql基础

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语句实现以下操作:

  1. 要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。
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
)
 
  1. 创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为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)
  1. 创建数据库DB,具有2个数据文件,文件逻辑名分别为DB_data1和DB_data2,文件初始大小均为5MB,最大为100MB,按10%增长;只有一个日志文件,初始大小为3MB,按10%增长;所有文件都存储在D盘文件夹ceshi中。
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%
)
 
  1. 在数据库student中增加数据文件db2,初始大小为10MB,最大大小为50 MB,按10%增长;
ALTER DATABASE student
ADD FILE
(
 NAME=db2,
 FILENAME='D:\test\db2.ndf',
 SIZE=10MB,
 MAXSIZE=50MB,
 FILEGROWTH=10%
)
 
  1. 在数据库student中添加日志文件,保存在D盘中,初始大小为1MB,最大无限制,增长方式按照1MB增长;
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%)
  1. 修改数据库student辅助数据文件初始大小为3MB,最大为100MB,按照10%增长,名称为db;
ALTER DATABASE student
MODIFY FILE
(NAME=db,
 SIZE=3MB,
 MAXSIZE=100MB,
 FILEGROWTH=10%)
  1. 删除数据库student辅助数据文件和第二个日志文件;
ALTER DATABASE student
REMOVE FILE db

ALTER DATABASE student
REMOVE FILE db_log
 
  1. 删除数据库company和DB。
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

你可能感兴趣的:(sql,数据库,mysql,redis,mongodb)