数据库03 基本练习

目录

查询

增加

修改

删除

if 语句

while 语句

视图

存储过程

触发器


查询

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的,因为有触发器,所以取消刚才更新操作

 

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值