T-SQL复习总结--用T-SQL创建,修改,管理,删除数据库
2012-10-08 10:28
471 查看
go: /article/4708941.html
一,用T-SQL创建数据库
简单的:
数据名:Sales
数据库主文件路径全名:d:\dbfiles\sales_dat.mdf
日志文件路径全名:d:\dbfiles\sales_log.ldf
注意,目录一定要存在,否则会创建失败。
create database Sales
on primary
(
name='salesdb', --文件逻辑名
filename='d:\dbfiles\sales_dat.mdf', --文件磁盘文件路径全称
size=5, --初始化大小
maxsize=15, --最大值
filegrowth=1 --增量
)
log on
(
name='saleslog',
file='d:\dbfiles\sales_log.ldf',
size=5,
maxsize=15,
filegrowth=1
)
go
复杂的:有多个次数据库文件和次日志文件的情况.
create database Sales
on primary
(
name='sales1',
filename='d:\dbfiles\sales1_dat.mdf',
size=5,
maxsize=10,
filegrowth=1
),
(
name='sales2',
filename='d:\dbfiles\sales2_dat.ndf',
size=5,
maxsize=10,
filegrowth=1
)
,
(
name='sales3',
filename='d:\dbfiles\sales3_dat.ndf',
size=5,
maxsize=10,
filegrowth=1
)
log on
(
name='saleslog1',
file='d:\dbfiles\sales1_log.ldf',
size=5,
maxsize=15,
filegrowth=1
)
,
(
name='saleslog2',
file='d:\dbfiles\sales2_log.ldf',
size=5,
maxsize=15,
filegrowth=1
)
二,用T-SQL修改数据库名
exec sp_renamedb 'DBName','NewDBName'
注意,必须在单用户模式下才可以改名,所以完整的写法:
exec sp_dboption 'DBName','single user',true
exec sp_renamedb 'DBName','NewDBName'
exec sp_dboption 'NewDBName','single user',false
上面的是书上的资料上说的。不过在SQL SERVER2005 Express下测试:
exec sp_dboption 'dbname','single user',false --转为非单用户模式
exec sp_renamedb 'dbname','NewDBName' --一样执行成功,说明上面所说的
对SQL SERVER2005 Express不适合。
那么SQL SERVER2000呢?暂没有测试环境。不得而知。
三,用T-SQL修改数据库文件路径,大小等信息
alter database
modify file(name='逻辑文件名(必须)',filename='文件路径',size=数字)
filename,size,maxsize,filegrowth,可以全部一起修改,也可以只修改其中一部分。
注意情况:
1,在SQLSERVER2005 Express下修改了filename,文件不会自动移动,需要手移动才正常。
2,size修改的值必须大于文件当前的大小。
3,如果要缩小数据库文件的大小,需使用下面的T-SQL:
use dbname
dbcc shrinkfile('逻辑文件名',大小)
四,用T-SQL修改数据库的结构
在现有数据库基础上添加新数据库文件
alter database dbname
add file
(
name='',file='',size=,....
)
go
在现有数据库基础上添加新日志文件
alter database dbname
add log file
(
name='' , file='' , size=,....
)
在现有数据库基础上移除文件
alter database dbname
remove file 文件逻辑名 --注意逻辑名不需要' '包起来
遗留问题:如何在移除文件之前,把数据移动到别的文件上去?
五,用T-SQL删除数据库文件
drop database dbname
遗留问题:如果在使用当中,是不允许删除的。如果用T-SQL强制删除?
六,用T-SQL判断数据库是否存在
可以用DB_ID ( [ 'database_name' ] )函数判断,函数的用作:返回当前数据库的数据库 ID,不存在返回NULL
if db_id('databasename') is null
print '不存在'
else
print '存在'
附加说明:
以上T-SQL在SQL SERVER 2005 EXPRESS测试通过。
一,用T-SQL创建数据库
简单的:
数据名:Sales
数据库主文件路径全名:d:\dbfiles\sales_dat.mdf
日志文件路径全名:d:\dbfiles\sales_log.ldf
注意,目录一定要存在,否则会创建失败。
create database Sales
on primary
(
name='salesdb', --文件逻辑名
filename='d:\dbfiles\sales_dat.mdf', --文件磁盘文件路径全称
size=5, --初始化大小
maxsize=15, --最大值
filegrowth=1 --增量
)
log on
(
name='saleslog',
file='d:\dbfiles\sales_log.ldf',
size=5,
maxsize=15,
filegrowth=1
)
go
复杂的:有多个次数据库文件和次日志文件的情况.
create database Sales
on primary
(
name='sales1',
filename='d:\dbfiles\sales1_dat.mdf',
size=5,
maxsize=10,
filegrowth=1
),
(
name='sales2',
filename='d:\dbfiles\sales2_dat.ndf',
size=5,
maxsize=10,
filegrowth=1
)
,
(
name='sales3',
filename='d:\dbfiles\sales3_dat.ndf',
size=5,
maxsize=10,
filegrowth=1
)
log on
(
name='saleslog1',
file='d:\dbfiles\sales1_log.ldf',
size=5,
maxsize=15,
filegrowth=1
)
,
(
name='saleslog2',
file='d:\dbfiles\sales2_log.ldf',
size=5,
maxsize=15,
filegrowth=1
)
二,用T-SQL修改数据库名
exec sp_renamedb 'DBName','NewDBName'
注意,必须在单用户模式下才可以改名,所以完整的写法:
exec sp_dboption 'DBName','single user',true
exec sp_renamedb 'DBName','NewDBName'
exec sp_dboption 'NewDBName','single user',false
上面的是书上的资料上说的。不过在SQL SERVER2005 Express下测试:
exec sp_dboption 'dbname','single user',false --转为非单用户模式
exec sp_renamedb 'dbname','NewDBName' --一样执行成功,说明上面所说的
对SQL SERVER2005 Express不适合。
那么SQL SERVER2000呢?暂没有测试环境。不得而知。
三,用T-SQL修改数据库文件路径,大小等信息
alter database
modify file(name='逻辑文件名(必须)',filename='文件路径',size=数字)
filename,size,maxsize,filegrowth,可以全部一起修改,也可以只修改其中一部分。
注意情况:
1,在SQLSERVER2005 Express下修改了filename,文件不会自动移动,需要手移动才正常。
2,size修改的值必须大于文件当前的大小。
3,如果要缩小数据库文件的大小,需使用下面的T-SQL:
use dbname
dbcc shrinkfile('逻辑文件名',大小)
四,用T-SQL修改数据库的结构
在现有数据库基础上添加新数据库文件
alter database dbname
add file
(
name='',file='',size=,....
)
go
在现有数据库基础上添加新日志文件
alter database dbname
add log file
(
name='' , file='' , size=,....
)
在现有数据库基础上移除文件
alter database dbname
remove file 文件逻辑名 --注意逻辑名不需要' '包起来
遗留问题:如何在移除文件之前,把数据移动到别的文件上去?
五,用T-SQL删除数据库文件
drop database dbname
无法删除数据库 "#Test",因为该数据库当前正在使用
use master declare @dbname sysname set @dbname='Sales' --这个是要删除的数据库库名 if db_id(@dbname) is null print '数据库'+@dbname+':不存在' else begin print '数据库'+@dbname+':存在' declare @s nvarchar(1000) declare tb cursor local for select s='kill '+cast(spid as varchar) from master..sysprocesses where dbid=db_id(@dbname) open tb fetch next from tb into @s while @@fetch_status=0 begin exec(@s) fetch next from tb into @s end close tb deallocate tb exec('drop database ['+@dbname+']') end exec('create database ['+@dbname+']') GO
遗留问题:如果在使用当中,是不允许删除的。如果用T-SQL强制删除?
六,用T-SQL判断数据库是否存在
可以用DB_ID ( [ 'database_name' ] )函数判断,函数的用作:返回当前数据库的数据库 ID,不存在返回NULL
if db_id('databasename') is null
print '不存在'
else
print '存在'
附加说明:
以上T-SQL在SQL SERVER 2005 EXPRESS测试通过。
相关文章推荐
- T-SQL复习总结--用T-SQL创建,修改,管理,删除数据库
- 数据库复习总结(7)-表的创建以及插入命令、数据修改、数据删除
- SQL语句总结一||数据库的创建,表格的创建,基本表的删除和修改
- 数据库-T-SQL 语句-创建表,删除表,CRUD操作的添加数据,修改数据,删除数据
- SQL 创建 删除 修改 数据库操作
- 精通数据库SQL——创建、修改和删除表
- (尚硅谷) Orcal sql ddl 数据库的 创建,修改,删除
- 理解T-SQL:数据库&表的创建、修改、删除
- SQL语句,数据库的创建、定义修改删除基本表
- T-SQL 创建、修改、删除数据库,表语法
- mysl 数据库 表 管理【创建 删除 修改 改名 引擎】
- SQL忘备录(一)之数据库的创建、修改及删除
- 数据库的创建,修改和删除----利用企业管理器和T-SQL语句
- 理解T-SQL:数据库&表的创建、修改、删除
- T-SQL语句之创建、修改、删除数据库
- SQL语名创建、修改、删除数据库、表、字段、登录
- Oracle数据库管理(一):创建和删除数据库
- 数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL
- 2015.7.30 第十五课 sql(新建数据库、创建表、注释、查询语句、新增、更新、删除、联合查询)
- 创建,查看,删除pool,查看,修改pool参数命令总结