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

本文介绍了如何在 SQL Server 中创建数据库、数据表、存储过程及触发器等关键操作,并详细说明了创建视图的过程以及如何进行数据库的备份与恢复。

--创建数据库方法:
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/archive/2006/07/04/442458.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值