SQL语句创建数据库及修改删除数据库.docx
《SQL语句创建数据库及修改删除数据库.docx》由会员分享,可在线阅读,更多相关《SQL语句创建数据库及修改删除数据库.docx(16页珍藏版)》请在冰豆网上搜索。
SQL语句创建数据库及修改删除数据库
1、使用SQL语句:
CREATEDATABASE语句创建数据库
CREATEDATABASEdatabase_name
[ON[PRIMARY][[,...n]
[,[,...n]]
[LOGON{[,...n]}]
:
:
=
{
(
NAME=logical_file_name,
FILENAME='os_file_name'
[SIZE=size[KB|MB|GB|TB]]
[MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}]
[FILEGROWTH=growth_increment[KB|MB|GB|TB|%]]
)[,...n]
}
:
:
=
{
FILEGROUPfilegroup_name[,...n]
}
T-SQL语法说明:
●“[]”中的内容表示可以省略,省略时系统取默认值。
●“{}[,…n]”表示花括号中的内容可以重复书写n次,必须用逗号隔开。
●“|”表示相邻前后两项只能任取一项。
●一条语句可以分成多行书写,但多条语句不允许写在一行。
CREATEDATABASE数据库名
[ON[PRIMARY]
{([NAME=数据文件的逻辑名称,]
FILENAME=‘数据文件的物理名称’,
[SIZE=数据文件的初始大小[MB(默认)|KB|GB],]
[MAXSIZE={数据文件的最大容量[MB|KB|GB]
|UNLIMITED(不受限制)},]
[FILEGROWTH=数据文件的增长量[MB|KB|GB|%]]
)
}[,…n]
[FILEGROUP文件组名
{([NAME=数据文件的逻辑名称,]
[FILENAME=‘数据文件的物理名称’,]
[SIZE=数据文件的初始大小[MB|KB|GB],]
[MAXSIZE={数据文件的最大容量[MB|KB|GB]
|UNLIMITED},]
[FILEGROWTH=数据文件的增长量[MB|KB|GB|%]]
)
}[,…n]
]
LOGON
{([NAME=事务日志文件的逻辑名称,]
[FILENAME=‘事务日志文件的物理名称’,]
[SIZE=事务日志文件的初始大小[MB|KB|GB],][MAXSIZE={事务日志文件的最大容量[MB|KB|GB]
|UNLIMITED},]
[FILEGROWTH=事务日志文件的增长量[MB|KB|GB|%]]
)
}[,…n]
]
说明:
●ON表示需根据后面的参数创建该数据库。
●LOGON子句用于根据后面的参数创建该数据库的事务日志文件。
●PRIMARY指定后面定义的数据文件属于主文件组PRIMARY,也可以加入用户自己创建的文件组。
●NAME=‘数据文件的逻辑名称’:
是该文件在系统中使用的标识名称,相当于别名。
●FILENAME=‘数据文件的物理名称’:
指定文件的实际名称,包括路径和后缀。
●UNLIMITED表示在磁盘容量允许情况下不受限制。
●文件容量默认单位为MB字节,也可以使用KB单位。
例题一:
用T-SQL语句在C:
\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:
1、一个主数据文件逻辑名‘teacherdata1’,
物理名‘C:
\DATA\tdata1.mdf’,
初始容量1MB,最大容量10MB,每次增长量为15%。
2、一个辅助数据文件逻辑名‘teacherdata2’
物理名‘C:
\DATA\tdata2.ndf’,
初始容量2MB,最大容量15MB,每次增长量为2MB。
3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组;
4、一个事务日志文件逻辑名‘teacherlog’物理名‘C:
\DATA\teacherlog.ldf’,初始容量500KB,最大容量不受限制,每次增长量为500KB。
先确认C:
\DATA\文件夹已创建,在查询分析器中输入代码:
CREATEDATABASEteacher
ONPRIMARY
(NAME=teacherdata1,
FILENAME='C:
\DATA\tdata1.mdf',
SIZE=5MB,--默认字节单位MB可以省略
MAXSIZE=10,--文件最大容量10MB
FILEGROWTH=15%--增长量为文件容量15%
),
(NAME=teacherdata2,
FILENAME='C:
\DATA\tdata2.ndf',
SIZE=2,
MAXSIZE=15,
FILEGROWTH=2MB--增长量为2MB
)
LOGON/*创建事务日志文件*/
(NAME=teacherlog,
FILENAME='C:
\DATA\teacherlog.LDF',
SIZE=500KB,/*初始容量,KB单位不能省略*/
MAXSIZE=UNLIMITED,/*日志文件最大容量不受限制*/
FILEGROWTH=500KB/*增长量KB不能省略*/)
例题2:
课本P61
例题3:
在C:
\DATA1\文件夹中创建一个名为:
仓库库存管理数据库,要求它有3个数据文件,
其中主数据文件逻辑名为epdata1,大小为10MB,最大大小为50MB,每次增长5MB;
辅助数据文件属于FGroup文件组,文件逻辑名为epdata2,文件大小为20MB,最大大小不受限制,每次增长10%;
事物日志文件eplog,大小为20MB,最大大小为100MB,每次增长10MB。
CREATEDATABASE仓库库存管理
ONPRIMARY
(NAME=epdata1,
FILENAME='C:
\DATA1\epdata1.mdf',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5MB),
FILEGROUPFGroup
(NAME=epdata2,
FILENAME=C:
\DATA1\epdata2.ndf,
SIZE=20MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
LOGON
(NAME=eplog,
FILENAME=C:
\DATA1\eplog.ldf,
SIZE=20MB,
MAXSIZE=100MB,
FILEGROWTH=10MB)
例题四:
阅读下面的SQL语句
createdatabaseemployees
onprimary
(name=employee1,
filename='d:
\data\employee1.mdf',
size=10,
maxsize=unlimited,
filegrowth=10%),
FILEGROUPEGroup
(name=employee2,
filename='d:
\data\employee2.ndf',
size=20,
maxsize=100,
filegrowth=1)
logon
(name=employeelog1,
filename='d:
\data\employee1.ldf',size=10,
maxsize=50,
filegrowth=1),
(name=employeelog2,
filename='d:
\data\employee2.ldf',
size=10,
maxsize=50,
filegrowth=1)
用ALTERDATABASE语句设置、修改数据库
T-SQL设置修改数据库语句ALTERDATABASE的语法格式:
ALTERDATABASE数据库名
addfile<文件格式>[tofilegroup文件组]
|addlogfile<文件格式>
|removefile逻辑文件名
|addfilegroup文件组名
|removefilegroup文件组名
|modifyfile<文件格式>
|modifynamenew_dbname
|modifyfilegroup文件组名
说明:
addfile为增加一个辅助数据文件[并加入指定文件组];
<文件格式>为:
(name=数据文件的逻辑名称
[,filename=‘数据文件的物理名称’]
[,size=数据文件的初始大小[MB|KB|GB]]
[,maxsize={数据文件的最大容量[MB|KB|GB]|UNLIMITED}]
[,filegrowth=数据文件的增长量[MB|KB|GB|%]]
)
在例题3的基础上进行数据库的修改。
例题3:
在C:
\DATA1\文件夹中创建一个名为:
仓库库存管理数据库,要求它有3个数据文件,
其中主数据文件逻辑名为epdata1,大小为10MB,最大大小为50MB,每次增长5MB;
辅助数据文件属于FGroup文件组,文件逻辑名为epdata2,文件大小为20MB,最大大小不受限制,每次增长10%;
事物日志文件eplog,大小为20MB,最大大小为100MB,每次增长10MB。
CREATEDATABASE仓库库存管理
ONPRIMARY
(NAME=epdata1,
FILENAME='C:
\DATA1\epdata1.mdf',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5MB),
FILEGROUPFGroup
(NAME=epdata2,
FILENAME=C:
\DATA1\epdata2.ndf,
SIZE=20MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
LOGON
(NAME=eplog,
FILENAME=C:
\DATA1\eplog.ldf,
SIZE=20MB,
MAXSIZE=100MB,
FILEGROWTH=10MB)
1、增加和删除文件组
增加文件组
语法:
ALTERDATABASE数据库名
addfilegroup文件组名
例:
ALTERDATABASE仓库库存管理
Addfilegroupepp1
ALTERDATABASE仓库库存管理
Addfilegroupepp2
可以写成
ALTERDATABASE仓库库存管理
Addfilegroupepp1,epp2
吗?
删除文件组
语法:
ALTERDATABASE数据库名
Removefilegroup文件组名
例:
ALTERDATABASE仓库库存管理
Removefilegroupepp2
问:
可以删除Fgroup文件组吗?
只能删除空文组
2、增加和删除数据文件和日志文件
1)增加数据文件和日志文件
语法:
ALTERDATABASE数据库名
addfile<文件格式>
<文件格式>为:
(name=数据文件的逻辑名称
[,filename=‘数据文件的物理名称’]
[,size=数据文件的初始大小[MB|KB|GB]]
[,maxsize={数据文件的最大容量[MB|KB|GB]|UNLIMITED}]
[,filegrowth=数据文件的增长量[MB|KB|GB|%]])
例:
●增加一个辅助数据文件,文件逻辑名为epdata3,文件大小为30MB,最大大小不受限制,每次增长10%;
●增加一个事物日志文件eplog1,大小为30MB,最大大小为50MB,每次增长10MB。
Alterdatabase仓库库存管理Alterdatabase仓库库存管理
AddfileAddLOGfile
(NAME=epdata3,(NAME=eplog1,
FILENAME=FILENAME=
'C:
\DATA1\epdata3.ndf','C:
\DATA1\eplog1.ldf',
SIZE=30MB,SIZE=30MB,
MAXSIZE=UNLIMITED,MAXSIZE=50MB,
FILEGROWTH=10%)FILEGROWTH=10MB)
Alterdatabase仓库库存管理
Addfile
(NAME=epdata3,
FILENAME='C:
\DATA1\epdata3.ndf',
SIZE=30MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
Alterdatabase仓库库存管理
AddLOGfile
(NAME=eplog1,
FILENAME='C:
\DATA1\eplog1.ldf',
SIZE=30MB,
MAXSIZE=50MB,
FILEGROWTH=10MB)
错误的写法:
Alterdatabase仓库库存管理
Addfile
(NAME=epdata3,
FILENAME='C:
\DATA1\epdata3.ndf',
SIZE=30MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
AddLOGfile
(NAME=eplog1,
FILENAME='C:
\DATA1\eplog1.ldf',
SIZE=30MB,
MAXSIZE=50MB,
FILEGROWTH=10MB)
例:
为仓库库存管理数据库,增加2个辅助数据文件,文件逻辑名为epdata4,epdata5,文件大小为30MB,最大大小不受限制,每次增长10%;
Alterdatabase仓库库存管理
Addfile
(NAME=epdata4,
FILENAME='C:
\DATA1\epdata4.ndf',
SIZE=30MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%),
(NAME=epdata5,
FILENAME='C:
\DATA1\epdata5.ndf',
SIZE=30MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
2)删除数据文件和日志文件
语法:
ALTERDATABASE数据库名
removefile逻辑文件名
例:
删除辅助数据文件epdata5.ndf
ALTERDATABASE仓库库存管理
removefileepdata5
例:
删除日志文件eplog1.ldf
ALTERDATABASE仓库库存管理
removefileeplog1
3、增加数据文件到指定的文件组
语法:
ALTERDATABSE数据库名
Addfile<文件格式>
ToFilegroup文件组名(此文件组应存在)
例:
增加一个辅助数据文件,文件逻辑名为epdata6,文件大小为60MB,最大大小不受限制,每次增长10%,辅文件epdata6属于文件组epp1
ALTERDATABASE仓库库存管理
Addfile--添加数据文件加入文件组
(name=epdata6,
Filename='C:
\DATA1\epdata6.ndf',
SIZE=60MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
tofilegroupepp1
4、更改数据文件和日志文件名称。
语法:
ALTERDATABASE数据库名
Modifyfile
(name=逻辑名,
newname=新逻辑名)
例:
修改数据库“仓库库存管理”,将辅文件epdata4,文件逻辑名修改为
Odata4。
ALTERDATABASE仓库库存管理
Modifyfile
(name=epdata4,
newname=odata4)
物理名称修改
ALTERDATABASE仓库库存管理
Modifyfile
(name=odata4,
Filename='c:
\data2\odata4.ndf')
5、修改数据文件和日志文件的初始大小和增长方式
语法:
ALTERDATABASE数据库名
modifyfile<文件格式>
例:
修改辅助数据文件epdata2,修改文件大小为100MB,最大大小200MB,每次增长10MB。
ALTERDATABASE仓库库存管理
modifyfile
(name=epdata2,
Filename='C:
\DATA1\epdata2.ndf',
SIZE=100MB,
MAXSIZE=200MB,
FILEGROWTH=10MB)
修改数据文件大小,能将数据文件初始大小改小吗?
能改变epdata2所归属的文件组吗?
6、修改数据库名
语法:
alterdatabase数据库
modifyname=newname
例:
将数据库“仓库库存管理”改名为“仓库管理”
alterdatabase仓库库存管理
modifyname=仓库管理
EXECUTEsp_helpdb仓库管理--查看数据库信息
使用sql语句完成下列习题:
1)创建数据库:
“text”
2)主数据文件逻辑名称:
textdata1,物理位置:
‘c:
\data\textdata1.mdf’,初始大小1MB,最大10MB,增量1MB。
3)辅助数据库逻辑名称:
textdata2,物理位置:
c:
\data\textdata2.ndf’,初始大小1MB,最大无限制,增量3MB。
4)事务日志文件逻辑名称:
textlog,物理位置:
‘c:
\data\textlog.ldf’,初始大小1MB,最大5MB,增量1MB。
5)完成数据库建立
6)修改数据库“text”,增加一个文件组,文件组名:
Gtext
7)增加一个辅助数据文件,文件逻辑名textdata3,物理名为:
c:
\data\textdata3.ndf’,初始大小为20MB,最大100MB,
增量10MB,归属于文件组“Gtext”。