使用T-SQL进行数据库创建与管理实战指南
68 浏览量
更新于2024-08-04
收藏 33KB DOC 举报
"本文档主要介绍了如何使用T-SQL语句进行数据库的创建、管理和操作。涵盖了创建数据库、检查并删除已有数据库、修改数据库属性、查看数据库文件信息、以及分离和附加数据库等关键知识点。"
在SQL Server中,T-SQL(Transact-SQL)是用于管理和操作数据库的主要语言。以下是一些关于T-SQL在创建和管理数据库中的应用:
1. 创建数据库:
创建数据库的语句是`CREATE DATABASE`,它允许我们指定数据库的名称、数据文件和日志文件的相关参数。例如:
```sql
CREATE DATABASE Company
ON PRIMARY
( NAME = Company_Data,
FILENAME = 'D:\MSSQL17\Data\Company.mdf',
SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10%
)
LOG ON
( NAME = Company_Log,
FILENAME = 'D:\MSSQL17\Log\Company.ldf',
SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 5%
);
```
这个例子创建了一个名为`Company`的数据库,主数据文件`Company_Data`位于`D:\MSSQL17\Data\`,初始大小为10MB,最大大小无限制,每次增长10%。日志文件`Company_Log`位于`D:\MSSQL17\Log\`,初始大小为5MB,最大大小为20MB,每次增长5%。
2. 检查和删除数据库:
要检查数据库是否存在,可以使用`IF EXISTS`结合`SELECT`查询`sysdatabases`视图:
```sql
IF EXISTS (SELECT * FROM master..sysdatabases WHERE name = 'Company')
DROP DATABASE Company;
GO
```
如果`Company`数据库存在,此语句会删除它。
3. 修改数据库:
`ALTER DATABASE`语句用于更改数据库的属性,如添加、删除或修改数据文件和日志文件:
```sql
ALTER DATABASE Company
ADD FILE (NAME = Company_Files, FILENAME = 'D:\MSSQL17\Data\Company_Files.ndf', SIZE = 5MB, FILEGROWTH = 1MB);
```
这将向`Company`数据库添加一个名为`Company_Files`的新数据文件。
4. 查看数据库文件属性:
使用`sp_helpfile`系统存储过程可以查看数据库的文件信息:
```sql
EXEC sp_helpfile;
```
5. 分离和附加数据库:
分离数据库使用`Sp_detach_db`存储过程:
```sql
EXEC Sp_detach_db 'Company';
```
这将断开`Company`数据库的连接,以便你可以移动其文件。然后,可以使用`CREATE DATABASE...FOR ATTACH`来附加数据库,例如:
```sql
CREATE DATABASE Company
ON PRIMARY
(FILENAME = 'D:\MSSQL17\Data\Company.mdf')
FOR ATTACH;
```
如果数据库文件位置发生变化,需要提供所有文件的路径,例如:
```sql
CREATE DATABASE Company
ON PRIMARY
(FILENAME = '新位置\Company.mdf'),
FILEGROUP FileGroup2
(FILENAME = '新位置\Company_FileGroup2.ndf')
FOR ATTACH_REBUILD_LOG;
```
6. 使用存储过程附加数据库:
除了T-SQL语句,还可以使用`sp_attach_db`存储过程:
```sql
EXEC sp_attach_db 'Company', 'D:\MSSQL17\Data\Company.mdf';
```
请注意,`sp_attach_db`已弃用,推荐使用`CREATE DATABASE...FOR ATTACH`。
这些基本操作构成了T-SQL在数据库管理中的核心,帮助数据库管理员创建、维护和调整数据库的结构。
2021-09-28 上传
2022-11-30 上传
2022-05-05 上传
2024-07-15 上传
2022-05-04 上传
2009-06-02 上传
2022-06-13 上传
xinkai1688
- 粉丝: 373
- 资源: 8万+
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构