第1章初识SQLServer2012本章内容1.1SQLServer2012的优势1.2SQLServer2012的新功能1.3SQLServer2012的组成1.4如何选择SQLServer2012的版本1.5安装SQLServer20121.6SSMS基本操作1.1SQLServer2012的优势SQLServer2012基于SQLServer2008,其提供了一个全面的、灵活的和可扩展的数据仓库管理平台,可以满足成千上万的用户的海量数据管理需求,能够快速构建相应的解决方案实现私有云与公有云之间数据的扩展与应用的迁移。1.2SQLServer2012的新功能作为SQLServer最新的版本,SQLServer2012具有以下激动人心的新功能。(1)AlwaysOn。(2)Columnstore索引。(3)DBA自定义服务器权限。(4)WindowsServerCore支持。(5)SequenceObjects。(6)PowerView。(7)增强的审计功能。(8)增强的PowerShell支持。(9)分布式回放(DistributedReplay)。(10)SQLAzure增强。1.3SQLServer2012的组成1.3.1SQLServer数据库引擎1.3.2分析服务(AnalysisServices)1.3.3集成服务(IntegrationServices)1.3.4报表服务(ReportingServices)1.4如何选择SQLServer2012的版本1.SQLServer2012企业版2.SQLServer2012标准版3.SQLServer2012商业智能版4.SQLServer2012Web版5.SQLServer2012开发版1.5安装SQLServer20121.5.1SQLServer2012安装环境需求1.5.2安装SQLServer20121.5.3SQLServer2012常见实用程序1.5.1SQLServer2012安装环境需求处理器处理器类型:AMDOpteron、AMDAthlon64、IntelXeonwithIntelEM64Tsupport、IntelPentiumIVwithEM64Tsupport处理器速度:最低1.4GHz,建议2.0GHz或更快操作系统WindowsServer2008R2SP1内存最小1GB,推荐使用4GB的内存硬盘6GB可用硬盘空间驱动器从磁盘进行安装时需要相应的DVD驱动器显示器Super-VGA(800x600)或更高分辨率的显示器Framework在选择数据库引擎等操作时,NET3.5SP1是SQLServer2012所必需的。此程序可以单独安装WindowsPowerShell对于数据库引擎组件和SQLServerManagementStudio而言,WindowsPowerShell2.0是一个安装必备组件1.6SSMS基本操作1.6.1SSMS的启动与连接1.6.2使用模板资源管理器、解决方案与项目脚本1.6.3配置SQLServer服务器的属性1.6.4查询编辑器第2章数据库的操作本章内容2.1数据库组成2.2系统数据库2.3创建数据库2.4管理数据库2.1数据库组成2.1.1数据文件2.1.2日志文件2.2系统数据库2.2.1master数据库2.2.2model数据库2.2.3msdb数据库2.2.4tempdb数据库2.3创建数据库2.3.1使用对象资源管理器创建数据库2.3.2使用Transact-SQL创建数据库2.4管理数据库2.4.1修改数据库2.4.2修改数据库容量2.4.3增加数据库容量2.4.4缩减数据库容量2.4.5查看数据库信息2.4.6数据库更名2.4.7删除数据库第3章数据表的操作本章内容3.1SQLServer数据库对象3.2创建数据表3.3管理数据表3.1SQLServer数据库对象数据库对象是数据库的组成部分,数据表、视图、索引、存储过程以及触发器等都是数据库对象。3.2创建数据表3.2.1数据类型3.2.2使用对象资源管理器创建表3.2.3使用Transact-SQL创建表3.3管理数据表3.3.1修改表字段3.3.2修改表约束3.3.3查看表中有关信息3.3.4删除表第4章Transact-SQL语言基础本章内容4.1Transact-SQL概述4.2如何给标识符起名4.3常量4.4变量4.5运算符和表达式4.6Transact-SQL利器——通配符4.7Transact-SQL语言中的注释4.1Transact-SQL概述4.1.1什么是Transact-SQL4.1.2T-SQL语法的约定4.2如何给标识符起名1.标识符分类2.规则标识符3.界定标识符4.标识符规则5.对象命名规则6.实例的命名规则4.3常量4.3.1数字常量4.3.2字符串常量4.3.3日期和时间常量4.3.4符号常量4.4变量4.4.1全局变量4.4.2局部变量4.4.3批和脚本4.5运算符和表达式4.5.1算术运算符4.5.2比较运算符4.5.3逻辑运算符4.5.4连接运算符4.5.5按位运算符4.5.6运算符的优先级4.5.7什么是表达式4.5.8Transact-SQL表达式的分类4.6Transact-SQL利器——通配符通配符说明例子匹配值示例%匹配任意长度的字符,甚至包括零字符'f%n'匹配字符n前面有任意个字符ffn,fan,faan,abcn_匹配任意单个字符'b_'匹配以b开头长度为两个字符的值ba,by,bx,bp[字符集合]匹配字符集合中的任何一个字符'[xz]'匹配x或者ydizzy,zebra,x-ray,extra[^]或[!]匹配不在括号中的任何字符'[^abc]'匹配任何不包含a、b或c的字符串desk,fox,f8ke4.7Transact-SQL语言中的注释1.单行注释单行注释以两个连字符“--”开始,作用范围是从注释符号开始到一行的结束。例如:--CREATETABLEtemp--(idINTPRIMAYRKEY,hobbyVARCHAR(100)NULL)2.多行注释多行注释作用于某一代码块,该种注释使用斜杠星型(/**/),使用这种注释时,编译器将忽略从(/*)开始后面的所有内容,直到遇到(*/)为止。例如:/*CREATETABLEtemp--(idINTPRIMAYRKEY,hobbyVARCHAR(100)NULL)*/第5章轻松掌握Transact-SQL语句本章内容5.1数据定义语句(DDL)5.2数据操作语句(DML)5.3数据控制语句(DCL)5.4其他基本语句5.5流程控制语句5.6批处理语句5.1数据定义语句(DDL)5.1.1CREATE的应用5.1.2DROP的功能5.1.3ALTER的功能5.2数据操作语句(DML)5.2.1数据的插入——INSERT5.2.2数据的更改——UPDATE5.2.3数据的删除——DELETE5.2.4数据的查询——SELECT5.3数据控制语句(DCL)5.3.1如何给用户授予权限——GRANT5.3.2拒绝权限操作——DENY5.3.3收回权限操作——REVOKE5.4其他基本语句5.4.1数据声明——DECLARE5.4.2数据赋值——SET5.4.3数据输出——PRINT5.5流程控制语句5.5.1BEGIN…END语句5.5.2IF…ELSE语句5.5.3CASE语句5.5.4WHILE语句5.5.5GOTO语句5.5.6WAITFOR语句5.5.7RETURN语句5.6批处理语句批处理是从应用程序发送到SQLServer并得以执行的一条或多条T-SQL语句。使用批处理时,有下面一些注意事项。一个批处理中只要存在一处语法错误,整个批处理都无法通过编译。批处理中可以包含多个存储过程,但除第一个过程外,其他存储过程前面都必须使用EXECTUE关键字。某些特殊的SQL指令不能和别的SQL语句共存在一个批处理中,如CREATETABLE和CREATEVIEW语句。这些语句只能独自存在于一个单独的存储过程中。所有的批处理使用GO作为结束的标志,当编译器读到GO的时候就把GO前面的所有语句当成一个批处理,然后打包成一个数据包发给服务器。GO本身不是T-SQL的组成部分,只是一个用于表示批处理结束的前端指令。CREATEDEFAULT、CREATEFUNCTION、CREATEPROCEDURE、CREATERULE、CREATESCHEMA、CREATETRIGGER和CREATEVIEW语句不能在批处理中与其他语句组合使用。批处理必须以CREATE语句开头,所有跟在该批处理后的其他语句将被解释为第一个CREATE语句定义的一部分。不能在删除一个对象之后,在同一批处理中再次引用这个对象。如果EXECUTE语句是批处理中的第一句,则不需要EXECUTE关键字。如果EXECUTE语句不是批处理中的第一条语句,则需要EXECUTE关键字。不能在定义一个CHECK约束之后,在同一个批处理中使用。不能在修改表的一个字段之后,立即在同一个批处理中引用这个字段。使用SET语句设置的某些选项值不能应用于同一个批处理中的查询。第6章认识函数本章内容6.1SQLServer函数简介6.2字符串函数6.3数学函数6.4数据类型转换函数6.5文本和图像函数6.6日期和时间函数6.7系统函数6.1SQLServer函数简介函数表示对输入参数值返回一个具有特定关系的值,SQLServer提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到各种函数。6.2字符串函数6.2.1ASCII()函数6.2.2CHAR()函数6.2.3LEFT()函数6.2.4RIGHT()函数6.2.5LTRIM()函数6.2.6RTRIM()函数6.2.7STR()函数6.2.8字符串逆序的函数REVERSE(s)6.2.9计算字符串长度的函数LEN(str)6.2.10匹配子串开始位置的函数6.2.11SUBSTRING()函数6.2.12LOWER()函数6.2.13UPPER()函数6.2.14替换函数REPLACE(s,s1,s2)6.3数学函数6.3.1绝对值函数ABS(x)和返回圆周率的函数PI()6.3.2平方根函数SQRT(x)6.3.3获取随机数的函数RAND()和RAND(x)6.3.4四舍五入函数ROUND(x,y)6.3.5符号函数SIGN(x)6.3.6获取整数的函数CEILING(x)和FLOOR(x)6.3.7幂运算函数POWER(x,y)、SQUARE(x)和EXP(x)6.3.8对数运算函数LOG(x)和LOG10(x)6.3.9角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)6.3.10正弦函数SIN(x)和反正弦函数ASIN(x)6.3.11余弦函数COS(x)和反余弦函数ACOS(x)6.3.12正切函数、反正切函数和余切函数6.4数据类型转换函数在同时处理不同数据类型的值时,SQLServer一般会自动进行隐式类型转换。这对于数据类型相近的数值是有效的,比如int和float,但是对于其他数据类型,例如整型和字符型数据,隐式转换就无法实现了,此时必须使用显示转换。为了实现这种转换,T-SQL提供了两个显示转换的函数,分别是CAST函数和CONVERT函数。6.5文本和图像函数6.5.1TEXTPTR函数6.5.2TEXTVALID函数6.6日期和时间函数6.6.1获取系统当前日期的函数GETDATE()6.6.2返回UTC日期的函数UTCDA