数据库操作中(TSQL)经常会用到命令及使用方法

--创建数据库方法:
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'

原文地址:https://www.cnblogs.com/KUDO/p/442458.html