• SQL基础2


    子查询
    独立子查询
    相关子查询 in(sql) exists(sql)


    连接查询
    交叉连接 cross join 和 ,
    内链接 inner join
    外链接 left outer join
    right outer join

    笛卡儿积 on为筛选


    视图 view
    查询语句封装
    create view 名字 创建
    as
    语句.....
    alter view 名字 修改
    as
    语句.....
    视图的优点 5张表 2个视图 可以分数据库用户视图权限 可以保证安全
    视图是不存储数据的 如果在视图上创建了索引 那么索引视图会有数据
    视图的查询不可排序 是无序的 排序就不是结果集了

    TSql编程
    --TSQL编程
    --声明变量
    declare @n int=1001
    --赋值
    set @n=100 第一种
    select @n=@n+1 第二种
    print @n

    set @n = (select count(*) from tblStudent) 没问题
    select @n=count(*) from tblStudent 没问题


    set @n =(select tsAge from tblStudent) 当子查询会返回多个值得时候报错
    select @count=tsAge from tblStudent 这种会把最后一个赋值给变量

    事务
    begin tran
    declare @num int = 100
    select * from TblStudent
    if @num = 100
    rollback
    else
    commit

    存储过程
    优:
    执行速度快 -- 都是编译过的
    允许模块化程序设计--类似方法复用
    安全 -- 防止注入
    减少网络流量--值传输存储过程的名字
    缺点:
    把过多业务逻辑放到数据库中了

    xp sp 开头的为数据库系统的存储过程
    执行存储过程 exec sp_database 执行存储过程

    create procedure usp_AAA
    @param int=0 参数
    as
    begin
    select * from TblArea
    end
    exec usp_AAA


    触发器
    触发器是一种特殊类型的存储过程,不能传递参数 事件触发调用
    inserted表与deleted表
    inserted表 当Insert或者Update的时候会用到
    deleted表 当Delete或者Update的时候会用到

    After触发器 事后触发器
    instead of触发器 替换触发器


    create trigger tri_delete on TblClass
    after delete
    as
    begin
    --要将刚刚删除的记录,备份到另一个表中
    insert into TblClassDelete
    select tClassName,tClassDesc from deleted
    end


    delete TblClass where tClassId=2

    select * from TblClass
    select * from TblClassDelete

  • 相关阅读:
    349. Intersection of Two Arrays
    1342. Reduce Array Size to The Half
    Telegram 汉化教程【转】
    jQuery 事件
    jQuery 事件
    jQuery 遍历
    jQuery 遍历
    CocosCreator教程(入门篇)【转】
    JavaScript shift() 方法使用【转】
    jQuery中动画函数animate的用法详解【转】
  • 原文地址:https://www.cnblogs.com/woge/p/4195482.html
Copyright © 2020-2023  润新知