数据库操作中(T-SQL)经常会用到命令及使用方法
--创建数据库方法:
create database abc
on primary
(name='abc_data',filename='d:\program files\microsoft sql server\mssql\data\abc_data.mdf',size=1,filegrowth=10%)
log on
(name='abc_log',filename='d:\program files\microsoft sql server\mssql\data\abc_log.ldf',size=1,filegrowth=10%)
--创建数据表
create table abc
(
id int identity primary key,
name varchar(50)
)
--修改表添加列
alter table abc add description varchar(50) null
--修改表删除列
alter table abc drop column description
--创建存储过程,返回@id
create(修改使用alter) procedure addabc
@name varchar(50)='abc' output,
@description varchar(50)
as
insert into abc(description,name) values(@description,@name)
go
--执行存储过程,传入参数
exec addabc default,'abcc'
--触发器
AFTER 触发器在触发操作(INSERT、UPDATE 或 DELETE)后和处理完任何约束后激发。可通过指定 AFTER 或 FOR 关键字来请求 AFTER
触发器。因为 FOR 关键字与 AFTER 的效果相同,所以具有 FOR 关键字的触发器也归类为 AFTER 触发器。
INSTEAD OF 触发器代替触发动作进行激发,并在处理约束之前激发。
对于每个触发操作(UPDATE、DELETE 和 INSERT),每个表或视图只能有一个 INSTEAD OF 触发器。而一个表对于每个触发操作可以有
多个 AFTER 触发器。
--创建视图
create view abcview(vid,vname,vdescription)
as
select id,name,description from abc
--创建触发器
alter trigger trig_abc on abc
after insert
as
print '成功'
--还原恢复数据库
当数据库名与恢复文件相同时使用:
RESTORE DATABASE [test] FROM DISK = N'C:\Documents and Settings\Administrator\桌面\test' WITH FILE = 1, NOUNLOAD ,
STATS = 10, RECOVERY
--不同时:
--取得须备份数据库的物理地址,在恢复时会用到
select * from sysfiles
--取得备份数据库test的逻辑文件信息,在恢复时会用到
RESTORE FILELISTONLY FROM DISK = N'C:\Documents and Settings\Administrator\桌面\test' WITH FILE = 1 , NOUNLOAD
--恢复数据库并设置逻辑文件名和物理路径
RESTORE DATABASE [aa] FROM DISK = N'C:\Documents and Settings\Administrator\桌面\test' WITH FILE = 1, NOUNLOAD ,
STATS = 10, RECOVERY , REPLACE , MOVE N'test_Data' TO N'd:\Program Files\Microsoft SQL
Server\MSSQL\data\aa_Data.MDF', MOVE N'test_Log' TO N'd:\Program Files\Microsoft SQL Server\MSSQL\data\aa_Log.LDF'