SQL技术与网路数据开发详解


SQL技术与网路数据开发详解

文章插图
SQL技术与网路数据开发详解【SQL技术与网路数据开发详解】《SQL技术与网路数据开发详解》是2008年11月24日清华大学出版社出版的图书,作者是强锋科技、斯琴巴图、张利峰 。
基本介绍书名:SQL技术与网路数据开发详解
作者:强锋科技、斯琴巴图、张利峰
ISBN:9787302188094
定价:46.8元
出版社:清华大学出版社
出版时间:2008-11-24
装帧:平装
编辑推荐涵盖了SQL语言中绝大部分的内容,所有知识点均採用实例进行介绍,实例短小精悍,通俗易懂,针馯Access、SQL Server和Oracle三种主流DBMS进行讲解,针对VB、VC和C#讲解SQL在程式语言中的使用方法 。丛书特色:作者均为有丰富的网路编程经验的一线开发人员,全面攻克网路编程领域的技术难点与热点,极大地提升您的网路套用开发水準,确保技术的先进性、实用性和深入性,贯穿丰富的套用实例,真正做到学以致用,专门设计了综合案例,让您领会项目开发的整体思路,配多媒体光碟讲述界面操作,既节省篇幅,又容易上手 。内容简介本书深入浅出、循序渐进地介绍了SQL语言的知识体系,以及在Access、SQLServer和Oracle资料库系统中的使用方法 。全书共24章,内容涵盖了SQL语言各方面的知识,包括资料库的基础知识,搭建运行SQL语言实例的环境,SQL语言的历史、特点,创建和使用资料库、数据表、索引、视图的方法,高级数据查询的各种使用方法,SQLServer和Oracle常用函式的用法,聚合函式的各种用法,数据更新语句的使用方法,创建和使用存储过程、自定义函式和触发器的方法,资料库系统的安全性和完整性方面的知识,T-SQL和PL/SQL的控制流语句,事务处理和并发事务处理,以及如何在VisualBasic、VisualC++和VisualC#中使用SQL语句运算元据库等 。本书最大的特色在于理论与实践并重,书中配有大量的精选实例,具有很好的教学价值与参考价值,力求让读者迅速掌握SQL语言的使用方法和各种技巧 。本书适用于初、中级资料库用户和想涉足资料库编程的用户,同时也可用作高等院校相关专业师生和社会培训班的教材 。图书目录第1章资料库基础 11.1资料库基础知识 21.1.1几个资料库套用案例 21.1.2相关资料库的名词 21.1.3计算机数据管理 31.1.4资料库系统的组成 41.1.5资料库系统的特点 51.2资料库发展史 61.2.1第一代资料库 61.2.2第二代资料库 71.2.3第三代资料库 71.3当今流行的资料库管理系统简介 7第2章设定SQL语句执行的环境 92.1在Access2003中执行SQL 102.1.1Access2003的安装与启动 102.1.2通过Access的图形界面创建资料库 102.1.3在Access中执行SQL语句 112.2在SQLServer中执行SQL 132.2.1SQLServer2000的安装 132.2.2使用企业管理器创建资料库 132.2.3使用查询分析器执行SQL语句 142.3在Oracle10g中执行SQL语句 152.3.1安装Oracle10g 152.3.2使用SQL*Plus执行SQL语句 162.4执行SQL脚本档案 192.4.1SQL脚本档案 192.4.2在SQLServer的查询分析器中执行脚本档案 202.4.3在Oracle的SQL*Plus中执行脚本档案 21第3章SQL语言基础 233.1SQL概述 243.1.1SQL的历史 243.1.2SQL的特点 243.1.3SQL的功能 253.2SQL语言的组成 253.3探索SQL环境 273.3.1了解SQL执行环境 273.3.2了解SQL资料库的层次结构 273.3.3 在SQL环境中命名对象 28第4章数据表 294.1数据类型 304.1.1字元型数据 304.1.2数字型数据 304.1.3日期时间数据 304.1.4二进制数据 314.1.5图片、声音、视频数据 314.1.6自定义数据类型 314.1.7Access中的数据类型 314.1.8MySQL中的数据类型 334.1.9SQLServer中的数据类型 354.1.10Oracle中的数据类型 374.2数据表基础 384.2.1记录和栏位 384.2.2表结构 394.3表逻辑设计 394.3.1E-R模型图 394.3.2规範化与範式 414.4表的创建(CREATETABLE) 424.4.1使用CREATETABLE语句创建表 424.4.2创建带有主键的表 434.5表结构的修改(ALTERTABLE) 444.5.1ALTERTABLE语句格式 444.5.2增加新栏位 454.5.3增加带有默认值的新栏位 464.5.4修改栏位的类型和宽度 474.5.5删除栏位 484.5.6删除带有默认值的栏位 494.5.7更改主键 504.6表的删除、截断与重命名 514.6.1删除表 514.6.2截断表 514.6.3重命名表 514.7创建与删除资料库 524.7.1创建资料库 524.7.2删除资料库 534.7.3创建本书使用的数据表 53第5章索引 575.1索引基础 585.1.1使用索引的原因 585.1.2索引的种类 585.2索引的创建和使用 595.2.1创建索引前应当注意的内容 59 5.2.2创建索引的SQL语句 595.2.3创建和使用非聚簇索引 605.2.4创建和使用唯一索引 625.3索引的删除 63第6章查询数据——SELECT语句 656.1SELECT语句的组成结构 666.1.1最基本的语法格式 666.1.2带有主要子句的语法格式 676.1.3SELECT各子句的执行顺序 676.1.4关于SELECT语句的一些说明 686.2查询数据 686.2.1查询单栏位的方法 686.2.2去除重複信息——DISTINCT 696.2.3查询多栏位 696.2.4查询所有栏位 706.2.5根据现有栏位值计算新栏位值 716.2.6命名新列(别名)——AS 726.2.7将查询结果保存为新表 736.2.8连线栏位 746.3排序数据 766.3.1按单栏位排序 766.3.2设定排序方向 776.3.3按多栏位排序 776.3.4按栏位位置排序 78第7章条件查询 797.1条件表达式 807.1.1指针与栏位变数的概念 807.1.2条件表达式 807.2使用WHERE关键字设定查询条件 837.2.1WHERE子句用法 837.2.2查询数值数据 847.2.3查询字元型数据 857.2.4查询日期数据 877.2.5按範围查询数据(BETWEEN) 887.2.6查询空值 897.3排序条件查询的结果 907.4TOP与ROWNUM的使用 90第8章高级条件查询 938.1组合WHERE子句 948.1.1AND运算符 948.1.2OR运算符 958.1.3AND与OR的优先顺序问题 968.2使用IN运算符 978.2.1使用IN运算符 978.2.2使用IN运算符的优点 998.3NOT运算符 1008.4实现模糊查询 1028.4.1LIKE运算符 1028.4.2“%”通配符 1038.4.3使用“%”通配符查询日期型数据 1058.4.4“_”通配符 1068.4.5“[]”通配符 1088.4.6SQLServer、Access和Oracle中的通配符比较 1098.4.7定义转义字元 109第9章SQL函式的使用 1119.1SQL函式的说明 1129.2SQLServer的函式 1129.2.1类型转换函式 1129.2.2日期函式 1159.2.3数学函式 1189.2.4字元函式 1199.3Oracle的函式 1239.3.1类型转换函式 1239.3.2日期函式 127 9.3.3数值函式 1309.3.4字元函式 1319.4将NULL更改为其他值的函式 1329.4.1SQLServer的ISNULL函式 1329.4.2Oracle的NVL函式 1339.5IF…ELSE逻辑函式 1339.5.1DECODE函式 1339.5.2CASE函式 134第10章聚合函式与分组数据 13710.1聚合函式 13810.1.1使用COUNT函式求记录个数 13810.1.2使用SUM函式求某栏位的和 14010.1.3使用AVG函式求某栏位的平均值 14110.1.4使用MAX、MIN函式求最大、最小值 14210.1.5统计汇总相异值(不同值)记录 14310.1.6聚合函式对NULL值的处理 14410.2数据分组 14610.2.1将表内容按列分组 14610.2.2聚合函式与分组配合使用 14710.2.3查询数据的直方图 14810.2.4排序分组结果 14910.2.5反转查询结果 14910.2.6使用HAVING子句设定分组查询条件 15110.2.7HAVING子句与WHERE子句的区别 151第11章多表连线查询 15311.1将数据存储在多个不同表的原因 15411.2範式 15511.3连线查询 15611.3.1连线两表的方法 15611.3.2使用笛卡儿积解决录入难题 15811.3.3使用两表连线查询数据 16111.3.4多表连线查询 16211.3.5使用表别名简化语句 16311.3.6使用INNERJOIN连线查询 16411.4高级连线查询 16511.4.1自连线查询 16511.4.2内连线查询 16811.4.3外连线查询 16911.4.4交叉连线查询 17211.4.5连线查询中使用聚合函式 17411.5组合查询 17611.5.1使用组合查询 17611.5.2使用UNION的规则 17811.5.3使用UNION解决不支持全外连线的问题 17911.5.4使用UNION得到複杂的统计汇总样式 18011.5.5排序组合查询的结果 180第12章子查询 18512.1返回单值的子查询 18612.1.1使用返回单值的子查询 18612.1.2子查询与聚合函式的配合使用 18712.2返回一列值的子查询 18912.2.1使用IN的子查询 190 12.2.2使用NOTIN的子查询 19112.3相关子查询 192第13章视图 19513.1视图基础 19613.1.1视图引例 19613.1.2使用视图的原因以及注意问题 19813.1.3视图的规则和限制 19913.2视图的创建 20013.2.1创建视图的SQL语句 20013.2.2利用视图提高数据安全性 20213.2.3利用视图得到汇总数据 20313.2.4利用视图简化计算栏位的使用 20413.2.5利用视图简化多表连线 20613.3视图的删除 207第14章插入数据 20914.1直接向表插入数据 21014.1.1插入完整的行 21014.1.2向日期时间型栏位插入数据 21114.1.3将数据插入到指定栏位 21214.1.4将查询结果插入表 21414.1.5INSERTSELECT与SELECTINTO的区别 21514.2通过视图插入数据 21614.2.1通过视图插入数据 21614.2.2使用带有WITHCHECKOPTION选项的视图 218第15章更新和删除数据 22115.1更新表中的数据 22215.1.1更新单个栏位的数据 22215.1.2更新多个栏位的数据 22315.1.3使用子查询更新数据 22415.1.4使用表连线更新数据 22515.1.5使用UPDATE语句删除指定栏位的数据 22515.2删除表中的数据 22715.2.1使用DELETE语句删除指定记录 22715.2.2在DELETE语句中使用多表连线 22815.2.3使用DELETE语句删除所有记录 23015.2.4使用TRUNCATE语句删除所有记录 23015.3通过视图更新表 23115.3.1不能用于更新的视图 23115.3.2通过视图更新表数据 23215.3.3通过视图删除表数据 233第16章管理资料库的安全 23516.1用户 23616.1.1创建用户 23616.1.2修改用户 23716.1.3为用户授予CREATESESSION许可权 23816.1.4为用户授予SELECT许可权 23916.1.5为用户授予INSERT、UPDATE和DELETE许可权 24116.1.6为用户授予系统许可权 244 16.1.7为所有用户授予许可权 24516.1.8查看用户拥有的许可权 24616.1.9取消用户的指定许可权 24716.1.10删除用户 24716.2角色 24716.2.1角色的概念 24716.2.2创建角色——CREATEROLE 24816.2.3为角色授权——GRANT 24916.2.4将角色授予用户——GRANT 25016.2.5查看角色的许可权 25216.2.6取消角色——REVOKE 25316.2.7删除角色——DROPROLE 25316.2.8Oracle中系统预定义的角色 25316.3SQLServer安全管理 25416.3.1SQLServer的安全认证模式 25416.3.2向SQLServer添加安全账户 25616.3.3从SQLServer中删除安全账户 25916.3.4SQLServer许可权管理 26016.3.5SQLServer角色管理 263第17章完整性控制 26717.1了解完整性约束 26817.1.1数据的完整性 26817.1.2完整性约束的类型 26817.2与表有关的约束 26917.2.1栏位约束与表约束的创建 26917.2.2非空约束——NOTNULL 27017.2.3唯一约束——UNIQUE 27117.2.4主键约束——PRIMARYKEY 27417.2.5外键约束——FOREIGNKEY 27617.2.6校验约束——CHECK 27817.3扩展外键约束的内容 28017.3.1引用完整性检查 28017.3.2MATCH子句 28217.4扩展校验约束的内容 28417.4.1定义断言 28417.4.2创建域和域约束 28517.5SQLServer中的完整性控制 28617.5.1创建规则(Rule) 28617.5.2规则的绑定与鬆绑 28717.5.3创建默认值(Default) 28917.5.4默认值的绑定与鬆绑 291第18章存储过程和函式 29518.1存储过程简介 29618.1.1存储过程基础 29618.1.2存储过程的优点 29718.2在SQLServer中创建和使用存储过程 29718.2.1SQLServer的系统存储过程 29718.2.2创建存储过程的语法 29818.2.3调用语句EXECUTE的语法 30018.2.4创建简单存储过程 300 18.2.5创建带输入参数的存储过程 30118.2.6给输入参数设定默认值 30218.2.7创建带输出参数的存储过程 30318.2.8创建有多条SQL语句的存储过程 30418.2.9删除存储过程 30518.3在SQLServer中创建和使用函式 30718.3.1标量函式 30718.3.2表值函式 30818.3.3删除用户定义函式 31118.4几个系统存储过程的使用 31118.4.1使用sp_rename重命名对象 31118.4.2使用sp_depends显示引用对象 31118.4.3使用sp_help显示对象信息 31218.4.4使用sp_helptext显示对象的源码 31218.5Oracle中的存储过程和函式 31318.5.1在Oracle中使用存储过程 31318.5.2在Oracle中使用函式 31418.5.3在Oracle中使用user_source获取信息 315第19章SQL触发器 31719.1SQL触发器基础 31819.2在SQLServer中创建和使用触发器 31819.2.1创建触发器的语法 31819.2.2使用INSERT触发器 32019.2.3使用DELETE触发器 32119.2.4使用UPDATE触发器 32319.2.5使用INSTEADOF触发器 32519.2.6使用条件插入触发器 32619.2.7删除触发器 32919.3在Oracle中创建和使用触发器 32919.3.1创建触发器的语法 32919.3.2行级触发器 33019.3.3语句级触发器 33119.3.4判断所执行的数据修改操作 33219.3.5系统触发器 33219.3.6追蹤资料库启动与关闭信息 33319.3.7追蹤用户DDL操作信息 33519.3.8禁用和删除触发器 33819.3.9从user_triggers中查询触发器信息 339第20章控制流语句 34120.1Transact_SQL的控制流语句 34220.1.1BEGIN…END语句 34220.1.2IF…ELSE语句 34220.1.3WHILE语句 34320.1.4BREAK命令 34420.1.5CONTINUE命令 344 20.1.6WAITFOR语句 34520.2PL/SQL的控制流语句 34520.2.1IF…THEN…ELSE语句 34620.2.2IF…THEN…ELSIF语句 34620.2.3LOOP语句 34620.2.4WHILE语句 34720.2.5FOR语句 34720.3控制流语句的几个套用 34820.3.1判断资料库对象是否存在 34820.3.2向日誌表循环插入日期数据 35120.3.3使用游标和循环提取数据 353第21章事务处理 35721.1事务基础 35821.1.1事务的概念 35821.1.2事务的案例 35821.1.3事务的ACID特性 35921.2控制事务处理 35921.2.1开始事务处理 35921.2.2使用ROLLBACK撤销事务 36021.2.3使用COMMIT提交事务 36221.2.4根据判断提交或撤销事务 36421.2.5Oracle的语句级事务处理 36621.2.6使用保存点 36721.3并发事务 36921.3.1并发事务 36921.3.2事务锁 37121.3.3事务隔离级别 371第22章VisualBasic中使用SQL语句 37322.1ADO简介 37422.1.1ADO基础知识 37422.1.2ADO的优点 37422.1.3ADO的核心对象 37522.2连线资料库 37522.2.1在工程中引用ADO 37522.2.2连线Access资料库 37622.2.3连线SQLServer和Oracle资料库 37722.2.4连线ODBC数据源 37922.3执行SQL语句运算元据库 38122.3.1使用Connection对象执行CREATETABLE语句 38122.3.2使用Connection对象执行INSERT语句 38422.3.3使用Connection对象执行UPDATE语句 38522.3.4使用Connection对象执行DELETE语句 38522.3.5使用RecordSet对象执行Select语句 386第23章VisualC++中使用SQL语句 38923.1在项目中引用ADO 39023.2连线资料库 39123.2.1连线SQLServer资料库 39123.2.2连线Access和Oracle资料库 393 23.2.3连线ODBC数据源 39523.3执行SQL语句运算元据库 39523.3.1使用Recordset对象执行CREATETABLE语句 39523.3.2使用Connection对象执行INSERT语句 39923.3.3使用Connection对象执行UPDATE语句 40123.3.4使用Connection对象执行DELETE语句 40323.3.5使用RecordSet对象执行Select语句 404第24章VisualC#中使用SQL语句 40924.1连线资料库 41024.1.1在项目中添加引用语句 41024.1.2连线SQLServer资料库 41024.1.3连线Access和Oracle资料库 41224.2执行SQL语句运算元据库 41524.2.1使用SqlCommand对象执行CREATETABLE语句 41524.2.2使用SqlCommand对象执行INSERT语句 41824.2.3使用SqlCommand对象执行UPDATE语句 41924.2.4使用SqlCommand对象执行DELETE语句 42124.2.5使用SqlCommand对象执行Select语句 423