目录
查询
select * from [test].[dbo].[Mytest] where id > 3 and id < 5
select * from [test].[dbo].[Mytest] order by 姓名 desc(逆序)
select 姓名 from [Mytest] order by 姓名 desc(逆序)
增加
insert Mytest (姓名,电话) values('张三','123456')
修改
update Mytest set 姓名=‘钱三’ ,单位= ‘ 潍坊’ where id = 3
删除
delete Mytest where 姓名= ‘钱一’
if 语句
if not exists(select * from Mytest where name = '高')
insert Mytest(name) values('高')
select * from Mytest
--上面是执行一条指令的
--下面是执行多条指令的
if not exists(select * from Mytest where name = '高') begin
insert Mytest(name) values('高')
end
select * from Mytest
while 语句
--当满足Mytest里面的记录少于20条的时候,增加到20条时停止
while(select count(*) from Mytest) < 20 begin
insert Mytest(name) values(‘高’)
end
select * from Mytest
视图
--对某些表的查询,可以理解为重新建一个小的persons
--下面是在persons中选择lastname和city创建一个视图,并且命名为电话本,然后对电话本进行更新操作
update 电话本 set City = 'London' where Lastname = 'Bush'
select * from 电话本
select * from Persons
存储过程
alter/create PROCEDURE 模糊查询 --alter是用来修改的,创建的话是create
-- Add the parameters for the stored procedure here
@key nvarchar(20)
AS
BEGIN
SELECT * from persons where
firstname like ('%' + @key + '%')
or city like ('%'+ @key + '%')
END
GO
--使用的时候:exec 模糊查询 'o'
触发器
Create trigger tr_ins_up
on Mytest
after insert,update
as
begin
if(select 电话 from inserted) is null rollback
end
go
--上面这个触发器的意思是:针对于insert的内容本来是空的,就回退(不做任何操作)
select * from Mytest
update Mytest set 单位 = ’山东‘ where id = 8
--原本Mytest里面id = 8的那一行数据里面电话是null的,因为有触发器,所以取消刚才更新操作