位置: 编程技术 - 正文

SQL server高级应用 收藏版(sql server高级应用)

编辑:rootadmin
一. 建库,建表,加约束. 1.1建库 1.2建表. 1.3加约束. 1.4帐户管理. 1.4.1创建登录帐户. 1.4.2创建数据库用户. 1.4.3向数据库用户授权. 二.T-SQL编程 2.1变量. 局部变量的名称必须以标记@作为前缀: Declare @name varchar(8)--声明变量。 Declare @name varchar(8)=value--初始值。 Set @name=value-- 赋值。 Select @name=value--赋值。 全局变量 SQL server中的所有全局变量都使用两个@标志作为前缀:

推荐整理分享SQL server高级应用 收藏版(sql server高级应用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:高级sql语句,sql server 高级查询,高级sql语言,sql高级使用方法,sql高级使用方法,sql高级使用方法,sql高级使用方法,sql server高级应用,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL server高级应用 收藏版(sql server高级应用)

变量

含义

@@error

最后一个T-SQL错误的错误号

@@identity

最后一次插入的标识值

@@language

当前使用的语言名称

@@max_connections

可以创建同时连接的最大数目

@@rowcount

受上一个SQL语句影响的行数

@@servername

本地服务器的名称

@@servicename

该计算机上的SQL服务的名称

@@timeticks

当前计算机上每刻度的微秒数

@@transcount

当前连接打开的事务数

@@version

SQL server的版本信息

2.2输出语句. Print局部变量或字符串,以字符串形式打印数据 。 Select 局部变量AS自定义列名,以表格形式打印数据。 2.3逻辑控制语句. 2.3.1.If-else If(表达式) Begin 语句1 语句2 End Else Begin 语句1 语句2 End 2.3.2.case Case When 条件一 then 结果二 When 条件二 then 结果二 End 三.高级查询 3.1子查询. Select … from 表1 where 字段1>(子查询) 3.2IN和NOT IN子查询 Select … from 表1 where 字段一 NOT IN (子查询) Select … from 表2 where 字段二 IN (子查询) 3.3Exists和Not Exists子查询 If exists(子查询) 语句 If not exists(子查询) 语句 四.事务,索引和视图. 4.1事务 ² 开始事务:begin transaction ² 提交事务:commit transaction ² 回滚事务:rollback transaction 事务分类 ² 显式事务:用begin transaction 明确指定事务的开始。 ² 隐性事务:通过设置set implicit_transactions on语句,将陷性事务模式设置为打开。当以隐性事务操作时,SQL server将在提交或回滚事务后扑克动启动新事务。无法描述事务的开始,只需提交或回滚每个事务. ² 自动提交事务:这是SQL server的默认模式,它将每条单独的T-SQL语句视为一个事务。如果成功执行,则自动提交。如果错误,则自动回滚。 示例: Begin transaction--开始事务 4.2索引 索引是SQL server编排数据的内部方法。它为SQL server提供一种方法来编排查询数据的路由 索引页: 数据库中的存储索引的数据页。索引页存放检索数据行的关键字页以及该数据行的地址指针。索引页类似于汉语字典中按拼音或笔画排序的目录页。 唯一索引: 唯一索引不允许两行具有相同的索引值. 主键索引: 在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。 聚集索引: 在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。 创建索引 myindex为索引名,with fillfactor=,指定填充因子为% 使用索引 Select * from stumarks (myindex) where writtenExam between and Stumarks为表名,myindex为索引名,writtenexam为列名,between and 指定查询出writtenexam字段至之间的值 建立索引的条件 Ø 该列用于频繁搜索 Ø 该列用于对数据进行排序 禁止使用索引的情况 Ø 列中仅包含几个不同的值 Ø 表中数据仅包含几行,为小型表创建索引可能不太划算,因为SQL server在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长 4.3视图 视图的用处 Ø 筛选表中的行 Ø 防止未经许可的用户访问敏感数据 Ø 降低数据库的复杂程度 Ø 将多个物理数据表抽象为一个逻辑数据表 使用视图的好处 ü 对最终用户的好处 l 结果更容易理解。创建视图时,可以将列名改为有意义的名称,使用户更容易理解列所代表的内容。在视图中修改列名不会影响基表的列名 l 获得数据更容易。很多人对SQL不太了解,因此对他们来说创建对多个表的复杂查询很困难。因而可以通过创建视图来方便用户访问多个表中的数据。 ü 对开发人员的好处 l 限制数据检索更容易。开发人员有时需要隐藏某些行或列中的信息。通过使用视图,用户可以灵活地访问他们需要的数据,同时保证同一个表或其他表的其他数据库的安全性。要实现这一目标,可以在创建视图时将要对用户保密码的列排除在外。 l 维护应用程序更方便。调试视图比调试查询更容易。跟踪视图中过程的各个步骤中的错误更为容易,这是因为所有的步骤都是视图的组成部分。 创建视图 使用视图 Select * from myview 五.存储过程 5.1系统存储过程 常用系统存储过程 Sp_datadases 列出服务器上的所有数据库 Sp_helpdb 报告有关指定数据库或所有数据库的信息 Sp_renamedb 更改数据库的名称 Sp_tables 返回当前环境下可查询的对象的列表 Sp_columns 返回某个表列的信息 Sp_help 查看某个表的所有信息 Sq_helpconstraint 查看某个表的约束 Sq_helpindex 查看某个表的索引 Sq_stored_procedures 列出当前环境中的所有存储过程 Sp_password 添加或修改登录帐户的密码 Sp_helptext 显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本 5.2自定义存储过程 Ø 不带参存储过程 Ø 带输入参数的存储过程 Ø 带输出参数的存储过程 5.2.1不带参数的存储过程 调用语法 Exec procedureName 5.2.2带输入参数的存储过程 5.2.3带输出参数的存储过程 六.SQL server触发器 什么是触发器: 触发器是在对表进行插入,更新或删除操作时自动执行的存储过程。 触发器的类别 INSERT触发器:当向表中插入数据时触发,自动执行触发器所定义的SQL语句。 UPDATE触发器:当更新表中某列、多列时触发,自动执行触发器所定义的SQL语句。 DELETE触发器:当删除表中记录时触发,自动执行触发器所定义的SQL语句。 Deleted表:用于存储DELETE和UPDATE语句所影响的行的副本,即在DELETED表中临时保存了被删除或被更新前的记录行。在执行DELETE或UPDATE语句 ,行从触发器表中删除,并传输到DELETED表中。由此我们可以从DELETED表中检查删除的数据行是否能删除。如果不能,就可以回滚撤销此操作,因为触发器本身就是一个特殊的事务单元。 Inserted表:用于存储INSERT和UPDATE语句所影响的行的副本,即在inserted表中临时保存了被插入或被更新后的记录行。在执行INSERT或UPDATE语句时,新加行被同时添加到INSERT表和触发器表中。由此我们可以从INSERTED检查插入数据是否满足业务需求。如果不满足,就可以向用户报告错误消息,并回滚撤销操作。 定义触发器 Create trigger trigger_name On tablae_name [with encryption] For(insert,update,delete) As SQL 语句 Go Trigger_name:是触发器的名称。触发器名称必须符合标识符规则,并且在数据库中必须唯一,。可以选择是否指定触发器所有者名称。 Table_name:是在其上执行触发器的表或视图 With encryption:加密syscomments表中包含create trigger语句文本的条目。使用with encryption可防止将触发器作为SQLserver复制的部分发布. Create trigger:必须是批处理中的第一条语句,并且只能应用到一个表中。 触发器只能在当前的数据库中创建,不过触发器可以引用当前数据库的外部对象。

Sql Server 分页方法分析(offset and fetch) 其中offsetandfetch最重要的新特性是用来分页,既然要分析分页,就肯定要和之前的分页方式来比较了,特别是Row_Number()了,在比较过程中,发现了蛮多

sqlserver 触发器学习(实现自动编号) 总结常用基本点如下:1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML触发器)。DDL触发器:在用户对数据库执行

SQL Server 总结复习(一) 1.TVP,表变量,临时表,CTE的区别TVP和临时表都是可以索引的,总是存在tempdb中,会增加系统数据库开销,而表变量和CTE只有在内存溢出时才会被写入tem

标签: sql server高级应用

本文链接地址:https://www.jiuchutong.com/biancheng/348179.html 转载请保留说明!

上一篇:优化 SQL Server 索引的小技巧(sqlserver优化方案)

下一篇:sqlserver 触发器学习(实现自动编号)(sqlserver 触发器 redis)

  • 递延所得税资产会计处理全过程
  • 电子税务局附加税带不出来
  • 车购税怎么计算
  • 广告公司与广告公司合作的协议
  • 用友t3核算管理模块怎么结账
  • 个税申报表中的基本养老保险怎么填
  • 收到扶贫款怎么做会计分录
  • 取暖费摊销期限是多少年
  • 出售简易征收的固定资产的增值税怎么计算
  • 存在问题的具体表现和产生问题的原因分析
  • 政府补助收入总额等于
  • 补交以前年度的社保账务处理
  • 汇算清缴残保金填哪里
  • 如何看发票是否被抵扣
  • 汽车租赁公司怎么赚钱
  • 购买理财产品会损失本金吗
  • 土地使用权的原值和账面价值
  • 免税农产品加工企业
  • 总公司人员可以在分公司报销费用吗
  • 账面价值和账面成本的区别
  • 每季度不超过9万
  • linux不能联网怎么解决
  • 中投公司投资的股票
  • 海康威视网页插件下载
  • 会计科目的设置应该符合国家统一会计准则的规定
  • 英国布莱顿霍夫怎么样
  • 结转已销售产品成本20000元
  • 驾校属于什么行业分类类别
  • 如何在最新版本钉钉上使用支付审申请
  • 交所得税会计分录例题
  • 公司租车公司
  • 未认证的进项税发票入账
  • 预付和挂账怎么做分录
  • 公司收到保险公司赔款后又转给个人怎么处理
  • 累计盈余需要设置明细科目吗
  • 财政拨款结余明细科目编码
  • 商品流通企业的含义
  • 已冲销凭证是否可以删除
  • PostgreSQL新手入门教程
  • mysql左连接和右连接语法
  • 采购成本和销售成本谁影响利润
  • 所得税汇算清缴补税的会计处理
  • 建筑公司算不算企业
  • 公司为非本单位缴纳社保
  • 纳税人销售货物
  • 差额开票和全额开票
  • 预付账款和应付账款减少
  • 外贸出口企业退税查不到进项发票
  • 工地的工人工资怎么入账
  • 会计分录什么时候用负数表示
  • 预提费用如何预提
  • 航天金税税控盘服务电话
  • 企业超过一定金额采购需求
  • SQL普通表转分区表的方法
  • mysql三种安装方式
  • sqlserver数据库怎么导出
  • mysql5.7.17 zip 解压安装详细过程
  • xp系统没有安装好,请重新运行安装程序
  • 局域网共享提示无法访问 你没有权限
  • mac系统怎么清理Adobe残留
  • winxp网络连接没有无线网络
  • 如何解决心脏供血不足
  • centos怎么安装
  • 神墓凌云
  • xp电脑小游戏
  • win7使用率
  • pavsrv51.exe - pavsrv51是什么进程 有什么用
  • win7 64位旗舰版电脑如何提高鼠标的精准度?提高鼠标的精准度的方法
  • win8软件安装
  • linux支持哪些类型的设备
  • win10 升级系统
  • javascript 作用域
  • Android: AudioFlinger中AudioPolicy的简单介绍
  • excel替换一行内容
  • pythoni脚本
  • javascript中的函数该如何理解
  • android多语言失效
  • 民办学校需要交工会经费吗
  • 电子保险怎么查询车船税
  • 中国税务网发票怎么开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设