用户将学好怎么使用SQL来建立高效率的数据库查询、高效率地获取统计数据,及其怎么管理从数据库查询特性到数据库安全的各项任务。这书选用形象化、由浅入深的方式,正确引导用户根据各种各样训练把握具体操作方法。用户将学习培训从基本知识到高級技术性以内的全部SQL有关內容——包含景图、事务管理、Web统计数据公布,及其Oracle和MicrosoftSQLServer对SQL的拓展。这书每章內容都创建在已学的专业知识之中,即便用户没有SQL专业知识,还可以根据这书,迈向取得成功的牢靠路面。
由浅入深的实例正确引导用户进行*普遍的SQL每日任务。问与答、测试和训练协助用户检测专业知识的学习情况。“留意”、“提醒”和“警示”强调近道和解决方法。
全世界销售量逾百万册的系列产品书籍;
持续十余载打造出的經典知名品牌;
形象化、由浅入深的学习培训教程;
把握重要专业知识的**起始点;
秉持Read Less.Do More(选读多练)的教育理念;
以实例正确引导用户进行*普遍的每日任务;
每章內容对于新手精心策划,1钟头轻轻松松阅读文章学习培训,24钟头完全把握重要专业知识。
每章案例与习题助你轻轻松松进行普遍每日任务,根据实践活动提升运用专业技能,推进所教专业知识。
学习培训怎样:
了解SQL的界定、工作中方法,及其功效:
界定高效率的数据库查询构造和另一半:
将初始数据库查询“规格化”为逻辑性表:
应用DML编写关系型统计数据和表;
管理方法数据库事务;
撰写合理的、性能的查寻;
对统计数据开展归类、归纳、排列、排序和调节;
应用时间和時间:
在查寻中融合表,应用子查询,组成好几个查寻;
把握强劲的查寻提升方法;
管理方法数据库查询以及客户;
执行合理的数据库安全对策;
应用景图、近义词和系统目录;
SQL在公司和互联网中的拓展;
把握Oracle和Microsoft SQL Server对ANSI SQL的关键拓展。
这书的创作者全是数据库查询课堂教学与运用的权威专家,拥有丰富多彩的工作经验。这书详解了SQL語言的基础英语的语法、基本要素,表明了各种各样SQL保持与ANSI规范中间的区别。书中包括了很多的案例,形象化地表明了怎么使用SQL对统计数据开展解决。每章后边也有目的性较强的测试与训练,可以协助用户尽快了解和把握学习培训的內容。在*后的附则里也有有关安裝MySQL的详解、书中采用的重要SQL句子、测试和训练的参考答案。
这书的內容层级清楚,目的性强,特别适合新手做为新手入门教材内容。
目录
- 第一部分SQL概念综述
- 第1章欢迎来到SQL世界
- 1.1SQL定义及历史
- 1.1.1什么是SQL
- 1.1.2什么是ANSISQL
- 1.1.3新标准:SQL-2008
- 1.1.4什么是数据库
- 1.1.5关系型数据库
- 1.1.6客户端/服务器技术
- 1.1.7基于Web的数据库系统
- 1.1.8主流数据库厂商
- 1.2SQL会话
- 1.2.1CONNECT
- 1.2.2DISCONNECT和EXIT
- 1.3SQL命令的类型
- 1.3.1定义数据库结构
- 1.3.2操作数据
- 1.3.3选择数据
- 1.3.4数据控制语言
- 1.3.5数据管理命令
- 1.3.6事务控制命令
- 1.4本书使用的数据库
- 1.4.1表命名标准
- 1.4.2数据一瞥
- 1.4.3表的构成
- 1.4.4范例和练习
- 1.5小结
- 1.6问与答
- 1.7实践
- 1.7.1测验
- 1.7.2练习
- 第二部分建立数据库
- 第2章定义数据结构
- 2.1数据是什么
- 2.2基本数据类型
- 2.2.1定长字符串
- 2.2.2变长字符串
- 2.2.3大对象类型
- 2.2.4数值类型
- 2.2.5小数类型
- 2.2.6整数
- 2.2.7浮点数
- 2.2.8日期和时间类型
- 2.2.9直义字符串
- 2.2.10NULL数据类型
- 2.2.11布尔值
- 2.2.12自定义类型
- 2.2.13域
- 2.3小结
- 2.4问与答
- 2.5实践
- 2.5.1测验
- 2.5.2练习
- 第3章管理数据库对象
- 3.1什么是数据库对象
- 3.2什么是规划
- 3.3表:数据的主要存储方式
- 3.3.1列
- 3.3.2行
- 3.3.3CREATETABLE语句
- 3.3.4命名规范
- 3.3.5ALTERTABLE命令
- 3.3.6从现有表新建另一个表
- 3.3.7删除表
- 3.4完整性约束
- 3.4.1主键约束
- 3.4.2唯一性约束
- 3.4.3外键约束
- 3.4.4NOTNULL约束
- 3.4.5检查约束
- 3.4.6去除约束
- 3.5小结
- 3.6问与答
- 3.7实践
- 3.7.1测验
- 3.7.2练习
- 第4章规格化过程
- 4.1规格化数据库
- 4.1.1原始数据库
- 4.1.2数据库逻辑设计
- 4.1.3规格形式
- 4.1.4命名规范
- 4.1.5规格化的优点
- 4.1.6规格化的缺点
- 4.2去规格化数据库
- 4.3小结
- 4.4问与答
- 4.5实践
- 4.5.1测验
- 4.5.2练习
- 第5章操作数据
- 5.1数据操作概述
- 5.2用新数据填充表
- 5.2.1把数据插入到表
- 5.2.2给表里指定列插入数据
- 5.2.3从另一个表插入数据
- 5.2.4插入NULL值
- 5.3更新现有数据
- 5.3.1更新一列的数据
- 5.3.2更新一条或多记录里的多个字段
- 5.4从表里删除数据
- 5.5小结
- 5.6问与答
- 5.7实践
- 5.7.1测验
- 5.7.2练习
- 第6章管理数据库事务
- 6.1什么是事务
- 6.2控制事务
- 6.2.1COMMIT命令
- 6.2.2ROLLBACK命令
- 6.2.3SAVEPOINT命令
- 6.2.4ROLLBACKTOSAVEPOINT命令
- 6.2.5RELEASESAVEPOINT命令
- 6.2.6SETTRANSACTIN命令
- 6.3事务控制与数据库性能
- 6.4小结
- 6.5问与答
- 6.6实践
- 6.6.1测验
- 6.6.2练习
- 第三部分从查询中获得有效的结果
- 第7章数据库查询
- 7.1什么是查询
- 7.2SELECT语句
- 7.2.1SELECT语句
- 7.2.2FROM子句
- 7.2.3WHERE子句
- 7.2.4ORDERBY子句
- 7.2.5大小写敏感性
- 7.3简单查询的范例
- 7.3.1统计表里的记录数量
- 7.3.2从另一个用户表里选择数据
- 7.3.3使用字段别名
- 7.4小结
- 7.5问与答
- 7.6实践
- 7.6.1测验
- 7.6.2练习
- 第8章使用操作符对数据进行分类
- 8.1什么是SQL里的操作符
- 8.2比较操作符
- 8.2.1相等
- 8.2.2不等于
- 8.2.3小于和大于
- 8.2.4比较操作符的组合
- 8.3逻辑操作符8.3.1ISNULL
- 8.3.2BETWEEN
- 8.3.3IN
- 8.3.4LIKE
- 8.3.5EXISTS
- 8.3.6ALL、SOME和ANY操作符
- 8.4连接操作符
- 8.4.1AND
- 8.4.2OR
- 8.5求反操作符
- 8.5.1不相等
- 8.5.2NOTBETWEEN
- 8.5.3NOTIN
- 8.5.4NOTLIKE
- 8.5.5ISNOTNULL
- 8.5.6NOTEXISTS
- 8.6算术操作符
- 8.6.1加法
- 8.6.2减法
- 8.6.3乘法
- 8.6.4除法
- 8.6.5算术操作符的组合
- 8.7小结
- 8.8问与答
- 8.9实践
- 8.9.1测验
- 8.9.2练习
- 第9章汇总查询得到的数据
- 9.1什么是汇总函数
- 9.1.1COUNT函数
- 9.1.2SUM函数
- 9.1.3AVG函数
- 9.1.4MAX函数
- 9.1.5MIN函数
- 9.2小结
- 9.3问与答
- 9.4实践
- 9.4.1测验
- 9.4.2练习
- 第10章数据排序与分组
- 10.1为什么要对数据进行分组
- 10.2GROUPBY子句
- 10.2.1分组函数
- 10.2.2对选中的数据进行分组
- 10.2.3创建分组和使用汇总函数
- 10.2.4以整数代表字段名称
- 10.3GROUPBY与ORDERBY
- 10.4CUBE和ROLLUP语句
- 10.5HAVING子句
- 10.6小结
- 10.7问与答
- 10.8实践
- 10.8.1测验
- 10.8.2练习
- 第11章调整数据的外观
- 11.1ANSI字符函数
- 11.2常用字符函数
- 11.2.1串接函数
- 11.2.2TRANSLATE函数
- 11.2.3REPLACE
- 11.2.4UPPER
- 11.2.5LOWER
- 11.2.6SUBSTR
- 11.2.7INSTR
- 11.2.8LTRIM
- 11.2.9RTRIM
- 11.2.10DECODE
- 11.3其他字符函数
- 11.3.1LENGTH
- 11.3.2IFNULL(检查NULL值)
- 11.3.3COALESCE
- 11.3.4LPAD
- 11.3.5RPAD
- 11.3.6ASCII
- 11.4算术函数
- 11.5转换函数
- 11.5.1字符串转换为数字
- 11.5.2数字转换为字符串
- 11.6字符函数的组合使用
- 11.7小结
- 11.8问与答
- 11.9实践
- 11.9.1测验
- 11.9.2练习
- 第12章日期和时间
- 12.1日期是如何存储的
- 12.1.1日期和时间的标准数据类型
- 12.1.2DATETIME元素
- 12.1.3不同实现的日期类型
- 12.2日期函数
- 12.2.1当前日期
- 12.2.2时区
- 12.2.3时间与日期相加
- 12.2.4其他日期函数
- 12.3日期转换
- 12.3.1日期描述
- 12.3.2日期转换为字符串
- 12.3.3字符串转换为日期
- 12.4小结
- 12.5问与答
- 12.6实践
- 12.6.1测验
- 12.6.2练习
- 第四部分建立复杂的数据库查询
- 第13章在查询里结合表
- 13.1从多个表获取数据
- 13.2结合的类型
- 13.2.1结合条件的位置
- 13.2.2等值结合
- 13.2.3使用表的别名
- 13.2.4不等值结合
- 13.2.5外部结合
- 13.2.6自结合
- 13.2.7结合多个主键
- 13.3需要考虑的事项
- 13.3.1使用基表
- 13.3.2笛卡尔积
- 13.4小结
- 13.5问与答
- 13.6实践
- 13.6.1测验
- 13.6.2练习
- 第14章使用子查询定义未确定数据
- 14.1什么是子查询
- 14.1.1子查询与SELECT语句
- 14.1.2子查询与INSERT语句
- 14.1.3子查询与UPDATE语句
- 14.1.4子查询与DELETE语句
- 14.2嵌套的子查询
- 14.3关联子查询
- 14.4子查询的效率
- 14.5小结
- 14.6问与答
- 14.7实践
- 14.7.1测验
- 14.7.2练习
- 第15章组合多个查询
- 15.1单查询与组合查询
- 15.2组合查询操作符
- 15.2.1UNION
- 15.2.2UNIONALL
- 15.2.3INTERSECT
- 15.2.4EXCEPT
- 15.3组合查询里使用ORDERBY
- 15.4组合查询里使用GROUPBY
- 15.5获取准确的数据
- 15.6小结
- 15.7问与答
- 15.8实践
- 15.8.1测验
- 15.8.2练习
- 第五部分SQL性能调整
- 第16章利用索引改善性能
- 16.1什么是索引
- 16.2索引是如何工作的
- 16.3CREATEINDEX命令
- 16.4索引的类型
- 16.4.1单字段索引
- 16.4.2唯一索引
- 16.4.3组合索引
- 16.4.4隐含索引
- 16.5何时考虑使用索引
- 16.6何时应该避免使用索引
- 16.7修改索引
- 16.8删除索引
- 16.9小结
- 16.10问与答
- 16.11实践
- 16.11.1测验
- 16.11.2练习
- 第17章改善数据库性能
- 17.1什么是SQL语句调整
- 17.2数据库调整与SQL语句调整
- 17.3格式化SQL语句
- 17.3.1为提高可读性格式化SQL语句
- 17.3.2FROM子句里的表
- 17.3.3结合条件的次序
- 17.3.4最严格条件
- 17.4全表扫描
- 17.5其他性能考虑
- 17.5.1使用LIKE操作符和通配符
- 17.5.2避免使用OR操作符
- 17.5.3避免使用HAVING子句
- 17.5.4避免大规模排序操作
- 17.5.5使用存储过程
- 17.5.6在批加载时关闭索引
- 17.6基于成本的优化
- 17.7性能工具
- 17.8小结
- 17.9问与答
- 17.10实践
- 17.10.1测验
- 17.10.2练习
- 第六部分使用SQL管理用户和安全
- 第18章管理数据库用户
- 18.1数据库的用户管理
- 18.1.1用户的类型
- 18.1.2谁管理用户
- 18.1.3用户在数据库里的位置
- 18.1.4不同规划里的用户
- 18.2管理过程
- 18.2.1创建用户
- 18.2.2创建规划
- 18.2.3删除规划
- 18.2.4调整用户
- 18.2.5用户会话
- 18.2.6禁止用户访问
- 18.3数据库用户使用的工具
- 18.4小结
- 18.5问与答
- 18.6实践
- 18.6.1测验
- 18.6.2练习
- 第19章管理数据库安全
- 19.1什么是数据库安全
- 19.2什么是权限
- 19.2.1系统权限
- 19.2.2对象权限
- 19.2.3谁负责授予和撤销权限
- 19.3控制用户访问
- 19.3.1GRANT命令
- 19.3.2REVOKE命令
- 19.3.3控制对单独字段的访问
- 19.3.4数据库账户PUBLIC
- 19.3.5权限组
- 19.4通过角色控制权限
- 19.4.1CREATEROLE语句
- 19.4.2DROPROLE语句
- 19.4.3SETROLE语句
- 19.5小结
- 19.6问与答
- 19.7实践
- 19.7.1测验
- 19.7.2练习
- 第七部分摘要数据结构
- 第20章创建和使用视图及异名
- 20.1什么是视图
- 20.1.1使用视图来简化数据访问
- 20.1.2使用视图作为一种安全形式
- 20.1.3使用视图维护摘要数据
- 20.2创建视图
- 20.2.1从一个表创建视图
- 20.2.2从多个表创建视图
- 20.2.3从视图创建视图
- 20.3WITHCHECKOPTION
- 20.4从视图创建表
- 20.5视图与ORDERBY子句
- 20.6通过视图更新数据
- 20.7删除视图
- 20.8嵌套视图对性能的影响
- 20.9什么是异名
- 20.9.1创建异名
- 20.9.2删除异名
- 20.10小结
- 20.11问与答
- 20.12实践
- 20.12.1测验
- 20.12.2练习
- 第21章使用系统目录
- 21.1什么是系统目录
- 21.2如何创建系统目录
- 21.3系统目录里包含什么内容
- 21.3.1用户数据
- 21.3.2安全信息
- 21.3.3数据库设计信息
- 21.3.4性能统计
- 21.4不同实现里的系统目录表格
- 21.5查询系统目录
- 21.6更新系统目录对象
- 21.7小结
- 21.8问与答
- 21.9实践
- 21.9.1测验
- 21.9.2练习
- 第八部分在实际工作中应用SQL知识
- 第22章高级SQL主题
- 22.1光标
- 22.1.1打开光标
- 22.1.2从光标获取数据
- 22.1.3关闭光标
- 22.2存储过程和函数
- 22.3触发器
- 22.3.1CREATETRIGGER语句
- 22.3.2DROPTRIGGER语句
- 22.3.3FOREACHROW语句
- 22.4动态SQL
- 22.5调用级接口
- 22.6使用SQL生成SQL
- 22.7直接SQL与嵌入SQL
- 22.8窗口表格函数
- 22.9使用XML
- 22.10小结
- 22.11问与答
- 22.12实践
- 22.12.1测验
- 22.12.2练习
- 第23章SQL扩展到企业、互联网和内部网
- 23.1SQL与企业
- 23.1.1后台程序
- 23.1.2前台程序
- 23.2访问远程数据库
- 23.2.1ODBC
- 23.2.2JDBC
- 23.2.3OLEDB
- 23.2.4厂商连接产品
- 23.2.5通过Web接口访问远程数据库
- 23.3SQL与互联网
- 23.3.1让数据可以被全世界的顾客使用
- 23.3.2向雇员和授权顾客提供数据
- 23.4SQL与内部网
- 23.5小结
- 23.6问与答
- 23.7实践
- 23.7.1测验
- 23.7.2练习
- 第24章标准SQL的扩展
- 24.1各种实现
- 24.1.1不同实现之间的区别
- 24.1.2遵循ANSISQL
- 24.1.3SQL的扩展
- 24.2扩展范例
- 24.2.1Transact-SQL
- 24.2.2PL/SQL
- 24.2.3MySQL
- 24.3交互SQL语句
- 24.4小结
- 24.5问与答
- 24.6实践
- 24.6.1测验
- 24.6.2练习
- 第九部分附录
- 附录A常用SQL命令
- A.1SQL语句
- A.2SQL子句
- 附录B使用数据库进行练习
- B.1在Windows操作系统中安装MySQL的指令
- B.2在Windows操作系统中安装Oracle的指令
- B.3在Windows操作系统中安装MicrosoftSQLServer的指令
- 附录C测验和练习的答案
- 附录D本书范例的CREATETABLE语句
- D.1MySQL
- D.2Oracle和SQLServer
- 附录E书中范例所涉数据的INSERT语句
- E.1MySQL和SQLServer
- E.1.1EMPLOYEE_TBL
- E.1.2EMPLOYEE_PAY_TBL
- E.1.3CUSTOMER_TBL
- E.1.4ORDERS_TBL
- E.1.5PRODUCTS_TBL
- E.2Oracle
- E.2.1EMPLOYEE_TBL
- E.2.2EMPLOYEE_PAY_TBL
- E.2.3CUSTOMER_TBL
- E.2.4ORDERS_TBL
- E.2.5PRODUCTS_TBL
- 附录F额外练习
- 术语表