sqlserver数据库基本语句集合

sql server插入操作

1、插入单个元组

格式:INSERT  INTO   表名[(列名,…)]  VALUES (列值,…);

INSERT  INTO   student  VALUES('2003001' ,'Rain Man',18,'男','通信工程','计算机学院','四川');
 INSERT   INTO    SC (Sno,Cno)  VALUES('2003001' , 'C003');

2、插入查询表的结果

格式:INSERT   INTO  表名[(列名,…)]  VALUES (列值,…);

         (
       SELECT  sno,AVG(GRADE) FROM    SC
       WHERE   Sno  IN
                   (
                            SELECT  Sno FROM    Student
           WHERE   SEX=‘男’)
                            GROUP  BY  Sno
           HAVING  AVG(GRADE)>80
    );

sql server数据库模糊查询语句

确切匹配:

select * from hs_user where ID=123 

模糊查询

select * from hs_user where ID like '%123%'

通配符

通配符描述实例
%包含零个或更多字符的任意字符串。WHERE title LIKE ‘%computer%’将查找处于书名任意位置的包含单词 computer 的所有书名。
_(下划线)任何单个字符WHERE au_fname LIKE ‘_ean’ 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。
[ ]指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。WHERE au_lname LIKE ‘[C-P]arsen’ 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。
[^]不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。WHERE au_lname LIKE ‘de[^l]%’ 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。

删除操作

格式:DELETE FROM 表名 [WHERE 条件];

注意:只能对整个元组操作,不能只删除某些属性上的值
只能对一个关系起作用,若要从多个关系中删除元组,则必须对每个关系分别执行删除命令。

  DELETE  FROM SC     
         DELETE  FROM SC  WHERE  GRADE  Is  NULL;
         DELETE  FROM  SC 
         WHERE 
    Cno='C004'  AND  Grade < ( SELECT AVG(GRADE) FROM  SC WHERE  Cno='C004') 

修改表UPDATE

格式: UPDATE  表名 [别名]

实例1:

update users set phone=78789831 where number =231; 

实例2:

UPDATE  EMPLOYEE
    SET    JOB='MANAGER',Salary= Salary*1.2
    WHERE  NAME = 'MARTIN';
         UPDATE  EMPLOYEE
         SET Salary=(     SELECT 1.1*AVG(Salary) FROM EMPLOYEE    WHERE  JOB='SALESMEN')

         WHERE  JOB='SALESMEN';

触发器

触发器能够自动执行并且不含有参数。

DML触发器

在用户对表中的数据进行插入、修改和删除操作时自动执行。DML触发器可分为:
(1)AFTER触发器,在执行INSERT、UPDATE、DELETE语句操作之后执行,只能在表上定义,不能再视图上定义。
(2)INSTEAD OF 触发器,代替激活触发器的DML操作执行,即INSERT、UPDATE和DELETE操作不再执行,取而代直的是INSTEAD OF触发器中的代码。INSTEAD OF触发器可以定义在表上和视图上。

DDL触发器

DDL触发器不会针对表或视图的UPDATE、INSERT或DELETE语句触发,相反,它们将为了响应各种数据定义语言(DDL)事件而激活,这些事件主要以关键字CREATE、ALTER和DROP开头的T-SQL语句对应。

登录触发器

由登录(LOGON)事件而激活的触发器。

触发器的工作原理

每个触发器有两个特殊表:插入表(inserted)和删除表(deleted)。

创建触发器

(1)创建DML触发器
创建一个触发器,功能:在学生表s中删除某一个学生是,在学生选课表sc中的成绩记录也全部删除。

GO
CREATE TRIGGER del_sc ON student
AFTER DELETE 
AS
    DELETE FROM sc
    WHERE sc.studentNo 
    IN (SELECT studentNo FROM deleted)
GO

(2)创建DDL触发器
禁止修改和删除当前数据库中的任何表。

CREATE TRIGGER SAFETY
ON DATABASE
FOR DROP_TABLE,ALTER_TABLE
AS PRINT '不能删除或修改数据库表!'
ROLLBACK
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值