![SQL Server 2012实用教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/488/31729488/b_31729488.jpg)
3.3 使用Transact-SQL创建和管理数据库
3.3.1 使用Transact-SQL创建数据库
创建数据库的Transact-SQL语句是CREATE DATABASE语句,其基本语法如下:
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00047001.jpg?sign=1739593715-nbNucW8KrYJLEvbdgSkOwttKbwmPe7B2-0-0fd0d3ce25e11782f1d9fb878f54b826)
CREATE DATABASE语句的参数及说明如表3.3所示。
表3.3 CREATE DATABASE语句的参数及说明
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00047002.jpg?sign=1739593715-8Ml8YTHrYBvJ5Efd7hZguOSRy56JGT4V-0-bfcff0dbc085a01cfd6c0bd08a848900)
续表
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00048001.jpg?sign=1739593715-2F0enDRsRYnxnGRXJ7B0wRSs08XSuiBL-0-ccead2c39d8b6f7bb618933226002a31)
其中,Transact-SQL语句中的主要约定及用途如表3.4所示。
表3.4 Transact-SQL语句中的主要约定及用途
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00048002.jpg?sign=1739593715-I7cHssF5f4y0nkoqqTNoTjAoC1r0k54M-0-61bc3dfc8e229f6ed0d7c6fdaa64f18c)
【例3.7】AIX学校要建立一个学籍管理数据库AIXstatus。其中主数据文件为AIXstatus.mdf,初始大小是10MB,最大文件大小为10GB,增长大小是10%;次要数据文件AIXstatus1.ndf和AIXstatus2.ndf,初始大小都是5MB,增长大小是10MB,最大文件大小为无限制,所有数据文件存放在D:\data文件夹。日志文件为AIXstatus_log.ldf,初始大小为2MB,增长大小为5MB,存放在E:\log文件夹。
具体操作步骤如下:
(1)在操作系统下分别创建“D:\data”和“E:\log”两个文件夹。
(2)在SSMS中,单击工具栏中的“新建查询”按钮,打开“查询设计器”。输入如下代码:
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00048003.jpg?sign=1739593715-8p3vl7jzRQU2nQoMCgYdCMdFUHouOxOa-0-01854e98c4d375d0a60f560d122d3055)
(3)输入完成后,单击工具栏中的“执行”按钮,执行该段代码,运行结果如图3.11所示。
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00049002.jpg?sign=1739593715-jMu1JORapPbcqN78zreoSXr40V2CYTku-0-0ae7999a05ebe58a8197753600f6f442)
图3.11 创建数据库AIXstatus代码执行结果
(4)在“对象资源管理器”中展开“数据库”,右击“数据库”,在弹出的快捷菜单中选择“刷新”命令,即可看到新建的数据库AIXstatus。
3.3.2 使用Transact-SQL修改数据库
创建数据库的Transact-SQL语句是ALTER DATABASE语句,其基本语法如下:
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00049003.jpg?sign=1739593715-rlPQHCWqDkdmyxUmx67Xoxz27k4e4awk-0-6d6812c78e4014ddad5741c3e945a91f)
ALTER DATABASE语句的参数及说明如表3.5所示。
表3.5 ALTER DATABASE语句的参数及说明
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00050001.jpg?sign=1739593715-Ipe0sWdXgVERpY4lfeo9t7VOPSSGNLVe-0-d07ff6b035dab4720884e124724a7319)
【例3.8】修改学籍管理数据库AIXstatus。首先将日志文件AIXstatus_log.ldf的初始大小改为20MB;然后添加新的日志文件AIXstatus_log2.ldf,初始大小是10MB,增长大小是15MB,存放在E:\log文件夹;最后将次要数据库文件AIXstatus1.ndf删除。
具体操作步骤如下:
(1)在SSMS中,单击工具栏中的“新建查询”按钮,打开“查询设计器”,输入如下代码,输入完成后,单击工具栏中的“执行”按钮,执行该段代码完成日志文件初始大小的修改。
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00050002.jpg?sign=1739593715-hsUvYQxTp8Y7mJYKrV1Qp3Qa1p4vUR6t-0-0d7c8d3df68161c03cfef31c4663bfe0)
(2)在“查询设计器”中输入如下代码,输入完成后,单击工具栏中的“执行”按钮,执行该段代码完成新日志文件AIXstatus_log2.ldf的添加。
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00050003.jpg?sign=1739593715-fKzdTxzcIjNm4hsioi2jxcVjJPEi4A9M-0-178e1698eb5da6a6e083a3552dbb586f)
(3)在“查询设计器”中输入如下代码,输入完成后,单击工具栏中的“执行”按钮,执行该段代码次要数据库文件AIXstatus1.ndf删除。
ALTER DATABASE AIXstatus --修改数据库AIXstatus
REMOVE FILE AIXstatus1 --从数据库中删除AIXstatus1.ndf文件
3.3.3 使用Transact-SQL重命名数据库
数据库重命名除了可以用ALTER DATABASE语句外,还可以采用系统存储过程sp_renamedb,其基本语法如下:
sp_renamedb[@dbname=]’old_name’,[@newname=]’new_name’
系统存储过程sp_renamedb的参数及说明如表3.6所示。
表3.6 系统存储过程sp_renamedb的参数及说明
![](https://epubservercos.yuewen.com/FC825E/17180250504495406/epubprivate/OEBPS/Images/img00051001.jpg?sign=1739593715-MxOOk5wXe2PShgbb6jeySlE05wSskZkF-0-326cf730b4bef561070ba42b88984aa0)
【例3.9】AIX学校又创建了新的学籍管理数据库,为了不产生混淆,现在数据库AIXstatus更名为AIXstatus_old。
具体操作步骤如下:
(1)方法一。使用ALTER DATABASE语句。在SSMS中,单击工具栏中的“新建查询”按钮,打开“查询设计器”,输入如下代码,输入完成后,单击工具栏中的“执行”按钮,执行该段代码完成数据库更名。
ALTER DATABASE ’AIXstatus’ MODIFY NAME=’AIXstatus_old’
(2)方法二。使用系统存储过程sp_renamedb。在SSMS中,单击工具栏中的“新建查询”按钮,打开“查询设计器”,输入如下代码,输入完成后,单击工具栏中的“执行”按钮,执行该段代码完成数据库更名。
EXECUTE sp_renamedb ’AIXstatus’,’AIXstatus_old’
3.3.4 使用Transact-SQL删除数据库
删除数据库的Transact-SQL语句是DROP DATABASE语句,其基本语法如下:
DROP DATABASE database_name
【例3.10】使用DROP DATABASE语句删除AIXstatus_old数据库。在SSMS中,单击工具栏中的“新建查询”按钮,打开“查询设计器”,输入如下代码,输入完成后,单击工具栏中的“执行”按钮,执行该段代码完成数据库删除。
DROP DATABASE ’AIXstatus_old’
注意:使用DROP DATABASE语句删除数据库时,系统中必须存在要删除的数据库。不能删除当前正在使用的数据库。