突出重围:Transact-SQL管理与开发实例精粹


突出重围:Transact-SQL管理与开发实例精粹

文章插图
突出重围:Transact-SQL管理与开发实例精粹【突出重围:Transact-SQL管理与开发实例精粹】《突出重围:Transact-SQL管理与开发实例精粹》是年电子工业出版社出版的图书,作者是赵松涛 。
基本介绍书名:突出重围:Transact-SQL管理与开发实例精粹
ISBN:9787121114472
页数:436页
出版社:电子工业出版社
装帧:平装
开本:16
内容简介《突出重围:Transact-SQL管理与开发实例精粹》将作者10余年从事SQL Server资料库管理和开发经验积累的Transact-SQL综合性实例整理归类并进行剖析 。可以帮助读者快速借鉴和开发出适合自己的Transact-SQL实例,这些实例既可以用于资料库管理,也可以用于资料库系统开发 。同时,由于Transact-SQL语言良好的传承和继承性,因此,《突出重围:Transact-SQL管理与开发实例精粹》的绝大部分代码可以跨越SQL Server版本的限制,在SQL Server 2008、2005甚至2000上都可以使用,即使今后推出的新版本,几乎也不用修改就可以移植使用 。《突出重围:Transact-SQL管理与开发实例精粹》涉及Transact-SQL使用的各个方面,但又不是在线上丛书语法的简单複製,而是侧重于通过实例来学习综合使用Transact-SQL各语法要素完成特定任务的方法 。《突出重围:Transact-SQL管理与开发实例精粹》既适合资料库管理人员,也适合开发人员阅读和参考,还可作为大中专院校及各类培训班的教材,极具实用性 。目录第1章 Transact-SQL语法元素11.1 标识符11.1.1 必须有标识符吗11.1.2 标识符的排序规则11.1.3 常规标识符21.1.4 带分隔设定的标识符31.2 数据类型31.2.1 哪些对象需要数据类型31.2.2 如何选择恰当的数据类型41.2.3 基本数据类型51.2.4 SQL Server 2008新增数据类型51.2.5 深入研究tinyint数据类型61.2.6 深入研究smallint数据类型81.2.7 深入研究int(Integer)数据类型101.2.8 深入研究bigint数据类型121.2.9 decimal(numeric)数据类型的使用141.2.10 float数据类型的使用161.2.11 real数据类型的使用171.2.12 char数据类型的使用171.2.13 varchar数据类型的使用171.2.14 用CAST函式转换数据类型181.2.15 用CONVERT函式转换数据类型181.3 常量191.3.1 数值型常量的格式191.3.2 字元串型常量的格式201.3.3 日期时间型常量的格式201.4 注释201.4.1 添加单行注释信息201.4.2 添加多行注释信息201.5 变数211.5.1 变数的数据类型211.5.2 变数的分类211.5.3 局部变数的声明211.5.4 局部变数的赋值221.5.5 局部变数的作用域231.6 常用聚合函式231.6.1 计算平均值AVG231.6.2 计算最小值MIN241.6.3 计算最大值MAX251.6.4 计算求和值SUM261.6.5 计算项数值COUNT(COUNT_BIG)261.6.6 计算标準偏差值STDEV271.6.7 计算方差VAR281.7 常用日期时间函式291.7.1 获取当前日期GETDATE291.7.2 获取年度信息YEAR301.7.3 获取月份信息MONTH301.7.4 获取天数信息DAY301.7.5 任意获取日期时间值部分DATEPART311.7.6 日期加法DATEADD311.7.7 日期减法DATEDIFF321.7.8 2008中新增的日期时间型函式331.7.9 判断是否为日期数据ISDATE331.8 常用字元串函式331.8.1 获取字元的ASCII码ASCII331.8.2 获取ASCII码对应的字元CHAR341.8.3 获取字元的Unicode编码UNICODE351.8.4 获取Unicode编码对应的字元NCHAR361.8.5 获取字元串第一次出现位置PATINDEX361.8.6 生成空格字元串SPACE371.8.7 按指定次数重複生成字元串REPLICATE381.8.8 截取子串SUBSTRING391.8.9 获取字元串长度LEN391.8.10 替换字元串中内容STUFF401.8.11 指定位置搜寻字元串中内容CHARINDEX411.8.12 生成带分隔设定的Unicode字元串QUOTENAME421.8.13 转换浮点数字为字元串STR421.8.14 截取左边字元串LEFT431.8.15 截取右边字元串RIGHT431.8.16 截取左边空格LTRIM441.8.17 截取右边空格RTRIM441.8.18 转换为小写字元串LOWER451.8.19 转换为大写字元串UPPER451.8.20 反序字元串REVERSE461.8.21 获取字元串位元组数DATALENGTH461.9 常用文本和图像函式471.9.1 查找特定字元串PATINDEX471.9.2 获取文本指针TEXTPTR471.9.3 检测文本指针是否有效TEXTVALID491.9.4 读取文本图像列内容READTEXT491.9.5 写入文本图像列内容WRITETEXT50 1.9.6 更新文本图像列内容UPDATETEXT511.10 常用数学函式521.10.1 计算绝对值ABS521.10.2 获取大于等于的最小整数值CEILING531.10.3 获取小于等于的最大整数值FLOOR531.10.4 获取随机数RAND531.10.5 获取指定长度和精度ROUND541.11 常用元数据函式541.11.1 获取资料库标识符DB_ID541.11.2 获取资料库名称DB_NAME551.11.3 获取资料库属性值DATABASEPROPERTYEX561.11.4 获取档案组标识符FILEGROUP_ID571.11.5 获取档案组名称FILEGROUP_NAME581.11.6 获取档案组属性值FILEGROUPPROPERTY581.11.7 获取档案标识符FILE_ID601.11.8 获取档案名称称FILE_NAME611.11.9 获取档案属性值FILEPROPERTY621.11.10 获取数据对象标识符OBJECT_ID631.11.11 获取数据对象名称OBJECT_NAME641.11.12 获取档案属性值OBJECTPROPERTYEX661.12 运算符671.12.1 算术运算符671.12.2 位运算符681.12.3 比较运算符681.12.4 逻辑运算符681.12.5 字元串连线运算符691.12.6 赋值运算符691.12.7 运算符的优先权69第2章 Transact-SQL语句702.1 控制流语句702.1.1 程式块语句BEGIN..END702.1.2 判断语句IF..ELSE712.1.3 循环语句WHILE722.1.4 分支判断语句CASE742.1.5 无条件退出语句RETURN752.1.6 无条件跳转语句GOTO772.1.7 延期执行语句WAITFOR782.2 运行时生成语句792.2.1 用EXECUTE执行动态命令802.2.2 用SP_EXECUTESQL执行动态命令812.2.3 参数替换832.2.4 为什幺提倡使用SP_EXECUTESQL842.2.5 使用输出参数的SP_EXECUTESQL852.3 语句之间数据的传递862.3.1 Transact-SQL语句之间数据的传递862.3.2 Transact-SQL与高级语言之间数据的传递872.4 错误处理902.4.1 SQL Server资料库引擎错误912.4.2 用TRY..CATCH发现错误912.4.3 捕获错误的系统函式92 2.4.4 用@@ERROR捕获上一条语句的错误932.4.5 用RAISERROR反馈错误942.5 批处理962.5.1 GO的含义962.5.2 研究批处理的执行962.5.3 批处理的意义992.5.4 为什幺临时变数作用域不能跨批处理1002.5.5 如何编写批处理1012.5.6 批处理如何处理错误1012.5.7 脚本102第3章 查询伺服器配置信息1033.1 配置查询环境1033.2 查询伺服器属性值1043.2.1 ServerProperty系统函式1043.2.2 查询资料库引擎版本1053.2.3 综合使用ServerProperty函式查询1053.3 判断登录账户身份1063.4 读写注册表信息1063.4.1 读注册表xp_regenumvalues1073.4.2 读注册表xp_regread1073.4.3 写注册表xp_regwrite1083.4.4 删除注册表项xp_regdeletevalue1083.4.5 读注册表项xp_instance_regread1093.4.6 写注册表xp_instance_regwrite1093.4.7 读注册表中的主要数据档案路径信息1103.4.8 读注册表中的错误日誌档案路径信息1113.4.9 读注册表中的日誌档案路径信息1123.5 综合实例1133.5.1 获取“常规”选项卡信息1133.5.2 获取伺服器配置参数信息1143.5.3 获取伺服器上资料库信息1153.5.4 获取伺服器上处理器数量1153.5.5 提升SQL Server伺服器优先权1163.5.6 获得Windows版本信息1163.5.7 获得身份验证机制1173.5.8 获得登录审核机制1183.5.9 自动检测伺服器重要的配置参数1183.5.10 查询伺服器的用户或用户组1263.5.11 查询用户角色或应用程式角色127第4章 登录过程1294.1 连线1294.1.1 查询所有连线信息1294.1.2 查询连线总数1304.1.3 查询阻塞的连线1304.1.4 查询用户建立的连线1304.1.5 查询系统建立的连线1304.1.6 查询活动的用户连线1314.1.7 查询用户连线的不同客户机1314.2 配置1314.2.1 查询当前系统配置1314.2.2 查询当前最大工作执行绪数1324.3 会话1324.3.1 查询伺服器上的所有会话1324.3.2 查询会话建立的游标132 4.3.3 查询会话的错误信息1334.3.4 查询会话的缓冲区命中率1334.3.5 查询会话的作业系统执行绪1344.3.6 查询当前会话ID1354.4 综合运用1354.4.1 综合查询连线统计信息1354.4.2 判断当前登录的许可权1374.4.3 查询会话逾时设定1374.4.4 判断连线是否为DAC1384.4.5 查询当前连线的网路参数1384.4.6 查询SQL Server版本信息1394.4.7 查询伺服器基本属性1394.4.8 查询当前登录名1414.4.9 查询当前的活动事务数1414.4.10 查询资料库缓冲区命中率低的会话1414.4.11 查询资料库缓冲区命中率最低的会话的SQL语句142第5章 资料库相关1445.1 查询资料库信息1445.1.1 查询所有的用户资料库名称1445.1.2 用sp_dboption存储过程配置资料库1455.1.3 配置资料库的恢复模式1455.1.4 判断资料库的名称是否含有特定字元1465.1.5 判断两个资料库的排序规则是否一致1475.1.6 判断资料库是否系统资料库和可读1485.1.7 查询可以访问的资料库1485.1.8 查询资料库的档案1495.1.9 查询资料库的系统表1505.1.10 查询资料库的排序规则1515.1.11 查询资料库的排序规则Windows代码1525.1.12 查询资料库支持的排序规则1525.1.13 统计资料库上的进程数1525.1.14 查询资料库的兼容性级别1535.1.15 查询资料库的最后备份时间1535.1.16 查询资料库的最后日誌备份时间1535.2 资料库的存储空间1545.2.1 查询资料库的总空间1545.2.2 查询资料库的数据档案总空间1545.2.3 查询资料库的日誌档案总空间1555.2.4 查询数据档案已经分配的空间1555.2.5 查询数据档案的可用空间1555.2.6 查询日誌档案已经分配的空间1575.3 综合运用1595.3.1 查询资料库的属性1595.3.2 获取所有资料库的数据档案空间使用率排序159第6章 未公开的DBCC命令1626.1 DBCC PAGE查询数据页面1626.1.1 查询DBID和DBNAME1636.1.2 查询FILENUM和PAGENUM163 6.1.3 DBCC PAGE的典型用法1636.2 DBCC LOG查询日誌1646.3 DBCC ERRORLOG初始化错误日誌1656.4 DBCC FLUSHPROCINDB清除快取存储过程1666.5 DBCC BUFFER查询缓冲区1666.6 DBCC DBINFO显示资料库结构1676.7 DBCC DBTABLE显示数据字典1686.8 DBCC IND显示錶的索引页面信息1686.9 DBCC PRTIPAGE显示索引每行的数据页1696.10 DBCC RESOURCE显示伺服器资源情况1696.11 DBCC DBRECOVER恢复质疑资料库1706.12 DBCC CACHESTATS查看记忆体统计信息1706.13 DBCC MEMORYSTATUS查询记忆体分配1716.14 DBCC跟蹤标记1716.14.1 概念1716.14.2 打开跟蹤标记1726.14.3 关闭跟蹤标记1726.14.4 查询跟蹤标记状态1726.15 DBCC SHOWFILESTATS显示数据档案空间1726.16 WITH TABLERESULTS表格显示信息1736.17 DBCC LOGINFO查询虚拟日誌信息1736.18 DBCC EXTENTINFO查询盘区数174第7章 数据和日誌档案1767.1 FILEPROPERTY函式获得档案属性1767.1.1 判断档案是否唯读1767.1.2 判断档案是否主要数据档案1777.1.3 查询档案已经使用空间1777.2 FN_VIRTUALFILESTATS获得档案I/O性能1777.2.1 查询指定档案的I/O性能1787.2.2 查询指定资料库的所有档案的I/O性能1787.2.3 查询所有资料库所有档案的I/O性能1797.2.4 查询档案I/O性能的动态性能视图1807.3 日誌档案相关1807.2.1 查询VLF分布情况1807.2.2 移动日誌档案的内容1827.2.3 删除日誌档案的内容1827.4 数据档案相关1837.4.1 查询所有资料库的数据档案空间情况1837.4.2 查询资料库存储空间的详细分布1857.4.3 查询已分配空间中的行内数据1927.4.4 查询已分配空间中的LOB大型数据1937.4.5 查询已分配空间中的行溢出数据1947.4.6 查询哪些类型的对象使用了数据空间1947.4.7 查询使用数据空间的对象类型及其数量1947.5 综合查询资料库档案的I/O性能195第8章 数据对象1978.1 索引197 8.1.1 更新表上所有索引的统计信息1978.1.2 更新表上特定索引的统计信息1998.1.3 统计资料库中索引使用的空间总和2008.1.4 索引使用的空间详细情况2038.2 表2088.2.1 获得资料库表的存储空间分布2088.2.2 获得数据缓冲区中数据对象的存储分布212第9章 性能监控2189.1 对象分配性能2189.1.1 监控盘区分配情况2189.1.2 监控盘区回收情况2199.1.3 监控页面拆分情况2209.1.4 监控表上锁升级情况2219.2 记忆体性能2229.2.1 SQL Server记忆体详解2239.2.2 查询SQL Server伺服器使用的记忆体数量2259.2.3 查询连线使用的记忆体数量2259.2.4 查询锁使用的记忆体数量2269.2.5 查询最佳化器使用的记忆体数量2269.2.6 查询SQL使用的记忆体数量2269.2.7 查询伺服器能够使用的最大记忆体数量2279.2.8 查询当前伺服器上可用记忆体数量2279.2.9 查询最小伺服器记忆体2289.2.10 查询最大伺服器记忆体2289.2.11 查询计算机的物理记忆体2299.2.12 查询计算机的虚拟记忆体2299.3 过程缓冲区性能2299.3.1 查询过程缓冲区使用的记忆体2299.3.2 查询过程缓冲区内容类别2309.3.3 查询过程缓冲区命中率2309.3.4 查询过程缓冲区对象分布比例2319.3.5 查询过程缓冲区中各类对象的命中率2329.3.6 查询过程缓冲区各类对象使用的比例2329.3.7 清除过程缓冲区中的对象2339.3.8 过程缓冲区中消耗资源Top对象2349.4 数据缓冲区性能2389.4.1 查询数据缓冲区的记忆体数量2389.4.2 查询数据缓冲区的理想记忆体数量2399.4.3 查询数据缓冲区的可用记忆体数量2399.4.4 查询数据缓冲区中数据使用的记忆体2399.4.5 查询数据缓冲区的命中率2409.4.6 清除数据缓冲区中的对象2409.4.7 数据缓冲区中消耗资源Top对象2419.5 其他实例2429.5.1 查询资源等待情况2429.5.2 查询计数器种类和性能值2439.5.3 查询执行计画的属性244 9.5.4 查询性能计数器表是否可以使用2459.5.5 查询伺服器记忆体总体分布情况245第10章 管理其他实例25010.1 检测和使用XP_CMDSHELL25010.1.1 检测XP_CMDSHELL是否启用25010.1.2 用XP_CMDSHELL执行命令25310.2 错误日誌25310.2.1 产生并使用新的错误日誌档案25310.2.2 获得错误日誌档案的信息25410.3 代理服务25410.3.1 判断代理服务是否启动25410.3.2 查询代理服务上产生的警报25410.3.3 配置代理服务自启动25510.3.4 判断代理服务是否允许访问25510.3.5 获得代理服务启动信息25610.3.6 记录代理服务启动时间25610.3.7 获得代理服务子系统的信息25610.3.8 获得代理服务详细配置信息25610.3.9 运行代理服务监视器25810.3.10 刷新代理服务作业25810.3.11 查询代理服务活动作业25910.4 设定登录环境25910.5 资料库26010.5.1 产生资料库检查点26010.5.2 设定资料库单用户模式26010.5.3 分离资料库26010.5.4 附加资料库26010.5.5 判断指定路径的日誌档案是否存在26110.5.6 获取主要数据档案中的档案信息26110.5.7 获取主要数据档案中的资料库信息26210.5.8 获取资料库的用户表信息26310.5.9 脱机资料库26410.5.10 在线上资料库26410.5.11 收缩资料库26410.5.12 判断用户是否可以访问master资料库26410.6 访问注册表26510.7 读取硬碟空间信息26610.8 判断档案是否存在26610.9 存储空间的碎片26610.9.1 数据的存储类型26710.9.2 数据的存储结构27010.9.3 存储空间的碎片类型27010.9.4 碎片对数据操作性能的影响27110.9.5 dbcc showcontig检测碎片27210.9.6 dm_db_index_physical_stats检测碎片27410.9.7 消除碎片的方法27710.9.8 自动检测当前资料库的碎片27810.9.9 自动消除资料库的碎片283第11章 数据查询288 11.1 语法结构28811.2 选择列表28911.2.1 选择所有列28911.2.2 选择特定列29311.2.3 包含运算符的查询29511.2.4 包含函式的查询29611.2.5 消除重複项29711.3 FROM子句29811.3.1 使用表别名29811.3.2 使用表提示30111.4 WHERE子句30511.4.1 WHERE子句中的运算符30611.4.2 比较查询30711.4.3 範围查询30811.4.4 列表查询30911.4.5 模式匹配查询31011.5 GROUP BY子句31211.5.1 语法结构31211.5.2 实例分析31311.6 ORDER BY子句31411.6.1 语法结构31411.6.2 实例分析31511.7 HAVING筛选查询31611.7.1 HAVING筛选查询的语法结构31611.7.2 HAVING筛选查询实例31611.8 INTO查询31611.8.1 INTO查询的语法结构31611.8.2 INTO查询实例31711.9 SELECT联结查询31711.9.1 SELECT联结查询的语法结构31711.9.2 SELECT联结查询的分类31711.9.3 笛卡儿积查询31811.9.4 等值联结查询31811.9.5 自然联结查询31811.9.6 自身联结查询31811.9.7 内联结查询31911.9.8 左外联结查询31911.9.9 右外联结查询32011.9.10 全外联结查询32011.10 SELECT嵌套查询32011.10.1 什幺是SELECT嵌套查询32011.10.2 什幺是SELECT嵌套子查询32111.10.3 简单嵌套查询32111.10.4 in嵌套查询32211.10.5 some嵌套查询32211.10.6 all嵌套查询32311.10.7 exists嵌套查询32411.11 操作结果集32411.11.1 Union形成并集32411.11.2 Except形成差集32511.11.3 InterSect形成交集32611.11.4 用公用表表达式临时存储结果集326第12章 数据操作32812.1 INSERT语句研究32812.1.1 表结构和索引结构32812.1.2 执行前的日誌情况分析32912.1.3 执行情况分析32912.1.4 执行后的日誌情况分析33112.1.5 研究数据的变化情况33212.1.6 研究结论33312.2 UPDATE语句研究33412.2.1 执行前的日誌情况分析334 12.2.2 执行情况分析33412.2.3 执行后的日誌情况33512.2.4 研究结论33812.3 DELETE语句研究33812.3.1 执行前的日誌情况分析33812.3.2 执行情况分析33912.3.3 执行后的日誌情况33912.3.4 研究结论34112.4 深入探讨语句内部机制34112.4.1 谁先插入数据34212.4.2 谁先更新数据34212.4.3 谁先删除数据342第13章 T-SQL游标34313.1 游标概述34313.1.1 什幺是游标34313.1.2 游标的类型34413.1.3 默认结果集是如何使用的34413.1.4 什幺是MARS34513.1.5 使用游标还是默认结果集34513.1.6 使用伺服器游标还是客户机游标34613.2 T-SQL游标定义及使用34613.2.1 T-SQL游标的生命周期34613.2.2 T-SQL游标的声明34713.2.3 T-SQL游标的打开34713.2.4 T-SQL游标的读取34813.2.5 T-SQL游标的关闭34813.2.6 T-SQL游标的释放34913.2.7 T-SQL游标的综合实例349第14章 事务和锁35114.1 多用户资料库的并发问题35114.1.1 并发访问的实例35114.1.2 并发问题35214.2 事务35314.2.1 事务的特性35314.2.2 事务的状态35414.3 SQL SERVER中的事务机制35514.3.1 事务模式35514.3.2 更改事务模式35614.3.3 事务的启动35714.3.4 事务日誌记录35714.3.5 事务编程语句35714.3.6 事务的调度35814.3.7 事务的隔离性级别35814.3.8 批(GO)35914.4 锁36014.4.1 锁的粒度36014.4.2 锁的类型(模式)36114.4.3 锁持有度36114.4.4 动态锁机制36214.4.5 查看锁36214.5 死锁36314.5.1 死锁的发生36414.5.2 消除死锁的方法36414.5.3 SQL Server 死锁检测和结束机制36514.5.4 跟蹤和检测死锁365第15章 存储过程367第16章 自定义函式和触发器402第17章 某项目资料库T-SQL开发实例416