内容提要\r\n\r\n 本书详细介绍了SQL语言的应用方法。主要内容有:访问数据库,数据\r\n\r\n的检索、插入、更新和删除,创建表和数据库,使用运算符和函数,建立子\r\n\r\n查询、视图、存储过程,存储过程编程,使用参数和游标,建立联合,解析\r\n\r\nPortfolio项目,最后提供了各章测试题目的答案以及SQL和关系数据库的基\r\n\r\n本理论。\r\n\r\n 本书按照建立数据库应用的过程来介绍相关的知识,使读者可以在学习\r\n\r\n的过程中实际创建实用的数据库系统。作者在书中提供了大量的代码与实例,\r\n\r\n并详细介绍了基本概念,非常适于SQL语言的初学者。\r\n\r\n\r\n
\r\n
第一部分 基础知识 \r\n\r\n 第1章 访问数据库 \r\n\r\n 1. 1 连接数据库 \r\n\r\n 1. 1. 1 使用查询工具 \r\n\r\n 1. 1. 2 使用ODBC \r\n\r\n 1. 1. 3 使用OLE DB \r\n\r\n 1. 2 从程序建立连接 \r\n\r\n 1. 2. 1 使用连接库 \r\n\r\n 1. 2. 2 使用DAO \r\n\r\n 1. 2. 3 使用ADO \r\n\r\n 1. 3 小测验 \r\n\r\n 第2章 检索数据 \r\n\r\n 2. 1 使用SELECT \r\n\r\n 2. 1. 1 添加WHERE子句 \r\n\r\n 2. 1. 2 添加排序顺序 \r\n\r\n 2. 1. 3 添加汇总信息 \r\n\r\n 2. 1. 4 添加HAVING子句 \r\n\r\n 2. 2 联接表 \r\n\r\n 2. 3 组合字段和建立列 \r\n\r\n 2. 4 小测验 \r\n\r\n 第3章 插入数据 \r\n\r\n 3. 1 使用INSERT \r\n\r\n 3. 2 使用带有INSERT的SELECT \r\n\r\n 3. 2. 1 添加WHERE子句 \r\n\r\n 3. 2. 2 添加HAVING子句 \r\n\r\n 3. 3 使用Select Into \r\n\r\n 3. 4 小测验 \r\n\r\n 第4章 更新数据 \r\n\r\n 4. 1 使用UPDATE \r\n\r\n 4. 2 添加WHERE子句 \r\n\r\n 4. 3 添加HAVING子句 \r\n\r\n 4. 4 使用多个表 \r\n\r\n 4. 5 小测验 \r\n\r\n 第5章 删除数据 \r\n\r\n 5. 1 删除数据 \r\n\r\n 5. 2 添加WHERE子句 \r\n\r\n 5. 3 使用查询控制删除 \r\n\r\n 5. 4 使用事务 \r\n\r\n 5. 5 小测验 \r\n\r\n 第6章 创建表 \r\n\r\n 6. 1 使用CREATE TABLE \r\n\r\n 6. 1. 1 设计键. 主键和外键 \r\n\r\n 6. 1. 2 数据规范化 \r\n\r\n 6. 1. 3 添加索引 \r\n\r\n 6. 1. 4 添加约束 \r\n\r\n 6. 2 更改表 \r\n\r\n 6. 3 删除表 \r\n\r\n 6. 4 小测验 \r\n\r\n 第7章 创建数据库 \r\n\r\n 7. 1 使用CREATE DATABASE \r\n\r\n 7. 2 设计表 \r\n\r\n 7. 2. 1 表的规范化 \r\n\r\n 7. 3 设计安全性 \r\n\r\n 7. 4 小测验 \r\n\r\n 第二部分 构建技巧 \r\n\r\n 第8章 使用运算符 \r\n\r\n 8. 1 使用关系运算符和布尔运算符 \r\n\r\n 8. 2 查找存在什么 \r\n\r\n 8. 3 在集合中查找 \r\n\r\n 8. 3. 1 在BETWEEN中查找项目 \r\n\r\n 8. 3. 2 使用IN. ANY. ALL或者SOME查找 \r\n\r\n 8. 3. 3 使用LIKE和IS NULL \r\n\r\n 8. 4 小测验 \r\n\r\n 第9章 使用函数 \r\n\r\n 9. 1 聚合数据 \r\n\r\n 9. 1. 1 AVG \r\n\r\n 9. 1. 2 COUNT \r\n\r\n 9. 1. 3 MAX \r\n\r\n 9. 1. 4 MIN \r\n\r\n 9. 1. 5 SUM \r\n\r\n 9. 1. 6 STDEV \r\n\r\n 9. 1. 7 STDEVP \r\n\r\n 9. 1. 8 VAR \r\n\r\n 9. 1. 9 VARP \r\n\r\n 9. 2 处理日期和时间 \r\n\r\n 9. 2. 1 DATEADD \r\n\r\n 9. 2. 2 DATEDIFF \r\n\r\n 9. 2. 3 DATENAME \r\n\r\n 9. 2. 4 DATEPART \r\n\r\n 9. 2. 5 DAY \r\n\r\n 9. 2. 6 GETDATE \r\n\r\n 9. 2. 7 MONTH \r\n\r\n 9. 2. 8 YEAR \r\n\r\n 9. 3 使用数学函数 \r\n\r\n 9. 3. 1 ABS \r\n\r\n 9. 3. 2 ACOS \r\n\r\n 9. 3. 3 ASIN \r\n\r\n 9. 3. 4 ATAN \r\n\r\n 9. 3. 5 ATN2 \r\n\r\n 9. 3. 6 CEILING \r\n\r\n 9. 3. 7 COS \r\n\r\n 9. 3. 8 COT \r\n\r\n 9. 3. 9 DEGREES \r\n\r\n 9. 3. 10 EXP \r\n\r\n 9. 3. 11 FLOOR \r\n\r\n 9. 3. 12 LOG \r\n\r\n 9. 3. 13 LOG10 \r\n\r\n 9. 3. 14 PI \r\n\r\n 9. 3. 15 POWER \r\n\r\n 9. 3. 16 RADIANS \r\n\r\n 9. 3. 17 RAND \r\n\r\n 9. 3. 18 ROUND \r\n\r\n 9. 3. 19 SIGN \r\n\r\n 9. 3. 20 SIN \r\n\r\n 9. 3. 21 SQUARE \r\n\r\n 9. 3. 22 SQRT \r\n\r\n 9. 3. 23 TAN \r\n\r\n 9. 4 使用字符串函数 \r\n\r\n 9. 4. 1 ASCII \r\n\r\n 9. 4. 2 CHAR \r\n\r\n 9. 4. 3 CHARINDEX \r\n\r\n 9. 4. 4 DIFFERENCE \r\n\r\n 9. 4. 5 LEFT \r\n\r\n 9. 4. 6 LEN \r\n\r\n 9. 4. 7 LOWER \r\n\r\n 9. 4. 8 LTRIM \r\n\r\n 9. 4. 9 NCHAR \r\n\r\n 9. 4. 10 PATINDEX \r\n\r\n 9. 4. 11 QUOTENAME \r\n\r\n 9. 4. 12 REPLACE \r\n\r\n 9. 4. 13 REPLICATE \r\n\r\n 9. 4. 14 REVERSE \r\n\r\n 9. 4. 15 RIGHT \r\n\r\n 9. 4. 16 RTRIM \r\n\r\n 9. 4. 17 SOUNDEX \r\n\r\n 9. 4. 18 SPACE \r\n\r\n 9. 4. 19 STR \r\n\r\n 9. 4. 20 STUFF \r\n\r\n 9. 4. 21 SUBSTR \r\n\r\n 9. 4. 22 UNICODE \r\n\r\n 9. 4. 23 UPPER \r\n\r\n 9. 5 使用重要的系统函数 \r\n\r\n 9. 5. 1 CASE \r\n\r\n 9. 5. 2 CAST \r\n\r\n 9. 5. 3 CONVERT \r\n\r\n 9. 5. 4 ISDATE \r\n\r\n 9. 5. 5 ISNULL \r\n\r\n 9. 5. 6 ISNUMERIC \r\n\r\n 9. 6 小测验 \r\n\r\n 第10章 建立子查询 \r\n\r\n 10. 1 选择一项 \r\n\r\n 10. 2 设置条件 \r\n\r\n 10. 3 替代联接 \r\n\r\n 10. 4 删除. 更新和插入 \r\n\r\n 10. 5 小测验 \r\n\r\n 第11章 建立视图 \r\n\r\n 11. 1 合理化视图的使用 \r\n\r\n 11. 2 创建查询 \r\n\r\n 11. 3 创建视图 \r\n\r\n 11. 4 小测验 \r\n\r\n 第12章 建立存储过程 \r\n\r\n 12. 1 编辑过程 \r\n\r\n 12. 2 使用创建过程 \r\n\r\n 12. 3 调用过程 \r\n\r\n 12. 4 使用结果 \r\n\r\n 12. 5 小测验 \r\n\r\n 第13章 在存储过程中编程 \r\n\r\n 13. 1 使用变量 \r\n\r\n 13. 2 使用流控制 \r\n\r\n 13. 3 返回值 \r\n\r\n 13. 4 产生出错消息 \r\n\r\n 13. 5 小测验 \r\n\r\n 第14章 使用参数 \r\n\r\n 14. 1 创建参数 \r\n\r\n 14. 2 传递值 \r\n\r\n 14. 3 使用结果 \r\n\r\n 14. 4 小测验 \r\n\r\n 第15章 使用游标 \r\n\r\n 15. 1 声明游标 \r\n\r\n 15. 2 操纵游标 \r\n\r\n 15. 3 更新和搜索游标 \r\n\r\n 15. 4 关闭和释放游标 \r\n\r\n 15. 5 小测验 \r\n\r\n 第16章 建立联合 \r\n\r\n 16. 1 使用UNION运算符 \r\n\r\n 16. 2 遵循联合的约束 \r\n\r\n 16. 3 建立实用的联合 \r\n\r\n 16. 4 小测验 \r\n\r\n 第17章 解析Portfolio项目 \r\n\r\n 17. 1 客户程序的结构 \r\n\r\n 17. 2 注册过程 \r\n\r\n 17. 3 计划必须的插入过程 \r\n\r\n 17. 4 计划必须的注销过程 \r\n\r\n 17. 5 计划必须的签出过程 \r\n\r\n 17. 6 计划必须的签入过程 \r\n\r\n 17. 7 计划必须的删除过程 \r\n\r\n 17. 8 客户体系 \r\n\r\n 17. 9 小测验 \r\n\r\n 附录A 小测验答案 \r\n\r\n 附录B 一些SQL理论 \r\n\r\n B. 1 声明性的, 而不是过程性的 \r\n\r\n B. 2 关系模型 \r\n\r\n B. 3 语言的结构 \r\n\r\n B. 3. 1 数据定义语言 \r\n\r\n B. 3. 2 数据处理语言 \r\n\r\n B. 3. 3 数据控制语言 \r\n\r\n B. 4 对事务的依赖性 \r\n\r\n B. 5 着重于完整性 \r\n\r\n B. 6 结论 \r\n
\r\n
Forrest Houlette是一位计算机书籍的创作人员和咨询人员. Forrest Houlette现居住在肯塔基州路易斯维尔市, 是Write Environment公司的总经理. Write Environment公司是一家专门致力于Visual Basic软件的开发. 用户文档. 客户培训以及教育和商业软件的咨询公司. Forrest也是Ajilon公司的咨询人员. Ajilon公司是一家提供国际性信息技术服务的公司. Forrest拥有路易斯维尔大学语言学和修辞学博士学位. 1979年, Forrest选择FORTRAN课程时, 开始从事计算机领域
本书的读者对象
非常欢迎您阅读Osborne公司出版的《SQL:编程起步》. 顾名思义, 这本书适于刚开始学习编程的初学者, 也适于专业编程人员第一次学习如何使用SQL. 如果像我一样, 您会发现在编写程序方面, 您对与数据库通信没有任何准备, 也不要感到孤单. 许多熟练的程序员快速学习 SQL, 是因为有Oracle数据库, 这个数据库将SQL作为数据库编程语言. 因此, 他们为了用Oracle工作, 必须学习SQL. 当SQL通过标准化处理后, 其他的数据库也支持它, SQL成为与数据库通信的标准方式.
我们希望您认为本书的内容有趣. 丰富. 清晰. 简明, 能够给您带来乐趣. 我们注意避免使用示例数据库. 我们用一个示例来实现一些基本工作, 但一旦您准备做某些实际工作, 建立数据库并对数据库操作以后, 最终会发现自己的产品将能够真正投入生产. 如果您参与了构建系统原型, 将使您在最终的教育软件市场上占有一席之地.
本书包含的内容
本书分为17章和两个附录. 这些章节包含了立刻开始查询数据库, 从表中选择数据到创建表和数据库在内的几乎所有内容. 在这个过程中, 您既使用标准的SQL——使用一个查询编辑器来提交查询, 又使用嵌入SQL——利用Visual Basic作为示例的编程语言. 我们从许多编序员操作数据库的位置——如何连接——开始. 然后, 我们探索最基本的选择. 插入. 更新和删除操作. 接着, 我们学习利用函数. 创建表. 创建数据库和编写存储过程. 为了创建真实的数据库, 需要您编写管理员可以用来管理数据库的管理工具原型. 您可以学会如何对数据库进行基本的交互查询, 可以学会如何编写存储过程, 可以学会如何将您所编写的全部SQL嵌入到另一个程序的内部, 作为连接到数据库的客户端.
本书的最后是两个附录. 首先是答案附录, 给出了每章后面“掌握程度检查”问题的正确答案. 附录B提供了有关结构化查询语言的背景理论. 在各章中我们的目标是从实际. 如何使用的观点来关注SQL. 在附录B中, 将使您在关系数据库理论和SQL的结构上有很大提高.
本书有一个网站. 在该网站上, 可以容易地下载所有可用代码, 并且可以用于您自己的查询工具和开发环境中. 您如果使用本书中的例子并且下载该代码, 那么就拥有了需要编写的任何类型查询的模块.
第1章:“访问数据库”——在本章中, 我们介绍了如何连接到一个数据库. 我们介绍了使用查询工具. ODBC. DAO以及ADO来连接. 我们提出ADO是当前使用的最好方法的结论, 同时向您展示了所有连接的方法.
第2章:“检索数据”——SELECT语句在 SQL中是使用最频繁的动词. 本章会展示怎样利用SELECT查询从数据库中检索数据. 本书不仅包括基本的SELECT语句, 还包括联合使用WHERE. 组和相似的主题. 学习了所有这些, 便可以立即使用SELECT语句. 我们还探讨使用数据控件检索使用嵌入式SQL的数据.
第3章:“插入数据”——大多数前端数据库程序的目标是提供数据输入. 在本章中, 我们主要介绍使用 INSERT语句插入数据. 本章会展示怎样在 Visual Basic中利用嵌入的插入语句来创建一个简单的数据库数据输入程序.
第4章:“更新数据”——更改数据是SQL的另一个常见的任务. 在本章中, 我们利用UPDATE语句更改数据库中已经储存的数据. 利用INSERT语句和UPDATE语句管理来自Visual Basic程序的数据时, 对您来说, 可能会感到难以掌握.
第5章:“删除数据”——本章介绍利用DELETE语句从数据库中删除数据. 我们将会提醒您注意这样做的危险, 还会让您实际使用DELETE从查询工具和Visual Basic程序中删除数据.
第6章:“创建表”——在进行SQL编程之前, 您会发现需要临时表. 本章展示如何创建临时表和永久表, 以及如何管理表. 本章介绍了数据的规范化, 这样便于您创建高效率的表.
第7章:“创建数据库”——许多程序员不创建数据库, 因为数据库是由管理员创建的. 但您有可能需要创建数据库, 本章介绍怎样创建数据库, 并且带领您领略创建Portfolio 数据库的思考过程, 而Portfolio 数据库是最终作为产品发布的.
第8章:“使用运算符”——一旦拥有数据库, 就要在查询中做更复杂的事情. 本章主要重点是SQL所提供的各种不同的逻辑和数学运算符, 并且展示基本使用技术. 同时练习修改到目前为止已经做过的编程错误. 在SQL中可以提高调试能力的唯一方法是经历一些错误, 并且修正它们.
第9章:“使用函数”——每种程序语言都有函数, 本章提供了 SQL函数的快速引用. 您可以练习使用选择的函数建立有用的查询.
第10章:“建立子查询”——子查询是查询中的查询. 在 SQL语句中, 它们可以实现特殊的作用. 本章展示如何在查询工具中构建和使用子查询, 以及如何将子查询嵌入到应用程序中.
第11章:“构建视图”——视图就像表一样, 是按要求构建的. 它可以允许用户访问数据, 也可以限制用户对数据进行操作. 本章将展示如何创建机图以及如何使用视图来发挥作为 SQL程序员的优势.
第12章:“建立存储过程”——存储过程是您建立并存储在数据库服务器上的查询. 它们在服务器上运行, 节省您在客户端处理查询的开销. 一般情况下, 它们比基于客户端的查询要快, 并且可以利用流控制来实现更复杂的编程. 本章向您展示如何创建基本的存储过程.
第13章:“存储过程编程”——许多数据库都扩展 SQL, 这样就能够在存储过程中允许您编写程序. 本章向您展示如何在存储过程中一步步地建立编程的步骤.
第14章:“使用参数”——像编程语言中的函数一样, 存储过程可以接受参数. 您可以向处理查询使用的存储过程传递值. 本章向您展示如何在存储过程中添加参数.
第15章:“使用游标”——游标可以使您在SQL中接收和操作记录集. 一些程序员把它看作为性能中心. 本章向您展示在什么情况下需要创建游标以及如何有效地使用它们.
第16章:“建立联合”——联合是允许将数据联合为单一数据集的查询类型. 一般情况下, 它们在临时表中使用. 然而, 一些数据库需要您利用联合对数据构建视图. 本章不仅介绍如何构建联合, 还说明了如何在实际场景中应用他们.
第17章:“解析Portfolio项目”——Portfolio数据库是在本书中创建的, 在全书中, 都围绕着对它的建立和编程进行介绍. 它是产品系统的一个原型, 最终是会发布的. 在这个模块中, 先看一下这个数据库所带来的一些我们未曾涉及到的问题. 这儿要求您应用自己的SQL技术来解决编程中的一些问题.
附录A:“掌握程度测试的答案”——每章的最后都包含一些问题, (叫做“掌握程度检验”), 用来检查您掌握了多少基本内容. 附录A为这些问题提供了答案.
附录B:“SQL理论”——由于本书集中介绍SQL的实用知识, 因此在这个附录中, 我们提供了SQL和关系数据库的基本理论.
如何阅读本书
本书可以从第1章开始按顺序读到最后. 但您也可以根据自己感兴趣的SQL主题和功能随意阅读任何一章. 每章都详细解释了所涉及的主题, 同时包含许多演示SQL功能的有效示例. 另外, 在大多数章节的最后, 都有一个项目, 介绍如何利用在该章中所讨论的素材来逐步地创建有效的应用程序.
特殊内容
在每章中, 都有注意和提示, 还有详细代码清单. 所有的代码都是有效的, 并且源代码可以从www. osborne. com完全下载. 源代码是压缩文件格式的, 然后是项目文件的名称(在Module 01文件夹中是第1章的项目压缩文件). 有一个1分钟练习, 检查您对所学内容掌握了多少(同时帮助您注意更重要的要点). 还有请教专家的问题和解答部分, 可以给出当前主题的深入解释. 在本书和网站上所包含的那些项目, 使您可以利用所学的知识, 并将其应用到工作应用中. 每章最后都包含掌握程度检查问题, 为您提供另一个复习的机会, 它的答案在附录A中. 总体上来说, 本书目标是:内容鲜明. 具体而有趣, 可以提高您编写正式代码的速度.
让我们开始学习吧!您无法相信编写SQL查询是多么简单有趣. 祝您幸运!!!