零基础学SQLpdf

图书网 2017年9月28日15:47:511 2K

零基础学SQL 作者:孙浏毅

零基础学SQL 出版社:机械工业出版社

《零基础学SQL》涵盖内容

概念模型、关系数据模型、关系模式

SQL语言的分类和特点、SQL语言的书写规范、常用数据类型

数据库的创建和删除、数据表的创建和更新

数据记录、属性、字段、列、行、主键、外键、约束、索引

使用约束、使用索引

修改数据库中的表、删除数据库中的表

基本查询操作、比较查询、逻辑查询、空值查询、模糊查询

表中数据的排序与分组

多表连接查询与集合查询、相关子查询与多重子查询

常用函数的使用、视图的创建与维护

数据记录的增加、删除和修改

权限的授予与回收、事务的控制与管理

PL/SQL的编写规范、块结构、基本要素、数据类型和控制结构

使用游标、异常处理

存储过程的创建与维护、函数的创建与维护、包的创建与维护

触发器创建与管理

SQL语句性能优化、动态SQL、数据库的存取访问

零基础学SQL 内容简介

SQL(Structured Query Language)作为一门结构化的查询语言,是关系数据库中最常用的语言。《零基础学SQL》的内容包括数据库创建和管理、数据表与视图的创建和维护、数据查询、数据更新、数据控制、SQL的扩展PL/SQL编程等方面的内容,通过这些内容可以掌握编写SELECT语句、DML语句(INSERT、UPDATE和DELETE)、DDL语句(CREATE、ALTER和DROP)、DCL语句(GRANT、REVOKE)和事务控制语句(COMMIT、ROLLBACK和SAVEPOINT)的使用方法,与PL/SQL编程有关的结构控制语句、记录集合类型的使用,存储过程、函数、包,以及触发器的创建和使用方法,最后在SQL应用中介绍了查询优化、动态SQL以及数据库的存取访问等在数据库中的应用方面的内容。

《零基础学SQL》附有配套光盘,光盘中提供了实例的全程视频讲解及所有实例源代码。

《零基础学SQL》旨在为SQL语言的初学者和大中专院校计算机专业的学生和教师提供易于入门的、全面了解和掌握SQL语言的教辅资料,同时对有一定经验的数据库管理人员和软件开发人员也有一定的参考价值。

零基础学SQL 目录

出版说明

第2版图书所做的改进

包括的书籍

光盘内容

技术支持

前言

本书特点

本书内容

本书适合的读者

本书作者

第一篇 关系数据库与SQL语言

第1章 关系数据库介绍

1.1 数据模型

1.1.1 概念模型

1.1.2 关系数据模型

1.2 关系模式

1.3 常用关系数据库

1.3.1 Oracle数据库

1.3.2 Microsoft SQL Server数据库

1.3.3 MySQL数据库

1.3.4 PostgreSQL数据库

1.4 安装与使用MySQL 5.0数据库

1.4.1 安装MySQL 5.0

1.4.2 安装用户图形界面

1.4.3 运行MySQL 5.0

1.5 小结

第2章 SQL语言概述

2.1 SQL语言介绍

2.2 SQL语句的分类

2.3 SQL语言的特点

2.4 常用数据类型

2.4.1 整数类型与浮点类型

2.4.2 数值类型

2.4.3 字符类型

2.4.4 日期与时间类型

2.4.5 二进制类型

2.5 SQL语句书写规范

2.6 小结

第二篇 数据库与数据表的创建和管理

第3章 数据库的创建与删除

3.1 创建数据库

3.1.1 使用SQL语句创建数据库

3.1.2 在MySQL 5.0 Command Line Client窗口下创建数据库

3.1.3 在MySQL 5.0用户图形界面中创建数据库

3.2 删除数据库

3.2.1 使用SQL语句删除数据库

3.2.2 在MySQL 5.0 Command Line Client窗口下删除数据库

3.2.3 在MySQL 5.0用户图形界面中删除数据库

3.3 小结

第4章 数据表的创建与更新

4.1 数据库中的表

4.1.1 数据记录、属性、字段、列和行

4.1.2 主键

4.1.3 外键

4.1.4 索引

4.1.5 约束

4.2 创建数据表

4.3 使用约束

4.3.1 唯一约束

4.3.2 主键约束

4.3.3 外键约束

4.3.4 检查约束

4.3.5 非空约束

4.4 使用索引

4.4.1 索引的分类

4.4.2 创建与删除索引

4.5 修改数据库中的表

4.5.1 向表中增加一列

4.5.2 增加一个约束条件

4.5.3 增加一个索引

4.5.4 修改表中的某一列

4.5.5 删除表中某一列

4.5.6 删除一个约束条件

4.6 删除数据库中的表

4.7 数据库test_STInfo中的表

4.7.1 学生信息表T_student

4.7.2 课程信息表T_curriculum

4.7.3 成绩信息表T_result

4.7.4 教师信息表T_teacher

4.7.5 院系信息表T_dept

4.7.6 计算机系教师信息表T_CSteacher

4.8 小结

第三篇 数据查询

第5章 基本查询操作

5.1 查询全部列的记录

5.2 查询表中指定的列

5.3 查询表中不重复的记录

5.4 使用列别名查询

5.5 对查询的记录进行算术运算

5.6 使用连接符(||)连接字段

5.7 关于NULL值

5.8 小结

第6章 使用WHERE子句查询表中满足条件的记录

6.1 比较查询

6.1.1 算术比较运算符

6.1.2 BETWEEN……AND运算符查询指定条件范围的记录

6.1.3 IN运算符查询与列表匹配的记录

6.1.4 字符串比较

6.1.5 日期时间的比较

6.2 逻辑查询

6.2.1 使用AND运算符查询同时满足多个条件的记录

6.2.2 使用OR运算符查询满足任一条件的记录

6.2.3 使用NOT运算符查询满足相反条件的记录

6.2.4 复杂逻辑查询

6.3 空值查询

6.4 使用LIKE操作符实现模糊查询

6.4.1 匹配任意单个字符

6.4.2 匹配0个或者多个字符

6.4.3 使用转义字符

6.5 使用REGEXP关键字进行模式匹配

6.6 小结

第7章 表中数据的排序与分组

7.1 使用ORDER BY子句对数据记录进行排序

7.1.1 指定表中的一列进行排序

7.1.2 指定表中列的位置序号进行排序

7.1.3 对SELECT语句中的非选择列进行排序

7.1.4 指定表中的多列进行排序

7.2 常用的聚合函数

7.3 使用GROUP BY子句对表中数据进行分组

7.3.1 单列分组

7.3.2 多列分组

7.3.3 使用HAVING限制分组后的查询结果

7.3.4 对分组结果进行排序

7.3.5 GROUP BY子句中处理NULL值

7.4 使用ROLLUP关键字统计数据

7.5 限制结果集行数

7.5.1 使用MySQL数据库限制结果集行数

7.5.2 使用Oracle数据库限制结果集行数

7.5.3 使用Microsoft SQL Server数据库限制结果集行数

7.6 小结

第8章 连接查询与集合查询

8.1 内连接查询

8.1.1 等值连接

8.1.2 非等值连接

8.1.3 使用ON子句建立相等连接

8.1.4 使用USING子句建立相等连接

8.2 交叉连接

8.3 自连接查询

8.4 外连接查询

8.4.1 左外连接

8.4.2 右外连接

8.4.3 全外连接

8.5 集合查询

8.5.1 并操作

8.5.2 交操作

8.5.3 差操作

8.6 小结

第9章 子查询

9.1 单行子查询

9.2 多行子查询

9.2.1 使用IN运算符的子查询

9.2.2 使用ANY运算符的子查询

9.2.3 使用ALL运算符的子查询

9.3 多列子查询

9.4 相关子查询

9.4.1 带有EXISTS关键字的相关子查询

9.4.2 带有NOT EXISTS关键字的相关子查询

9.5 在SQL语句中使用子查询

9.5.1 在SELECT子句中使用子查询

9.5.2 在FROM子句中使用子查询

9.5.3 在HAVING子句中使用子查询

9.6 多重子查询

9.7 在CREATE TABLE语句中使用子查询实现数据表的复制

9.8 小结

第10章 常用函数

10.1 字符函数

10.1.1 计算字符串长度

10.1.2 将字符串全部转换为小写

10.1.3 将字符串全部转换为大写

10.1.4 将字符串中单词的首字母转换为大写

10.1.5 截取字符串

10.1.6 从指定字符串的左侧读取子串

10.1.7 从指定字符串的右侧读取子串

10.1.8 去除字符串左侧空格或者字符

10.1.9 去除字符串右侧空格或者字符

10.1.10 去除字符串两侧空格或者字符

10.1.11 左侧填充空格或者字符

10.1.12 右侧填充空格或者字符

10.1.13 取得指定的子串在字符串中的位置

10.1.14 颠倒指定字符串的顺序

10.1.15 替换指定的子串

10.1.16 字符替换

10.1.17 拼接字符串

10.1.18 取得字符的ASCII码

10.1.19 将ASCII码转换为相应的字符

10.1.20 匹配发音

10.1.21 将字符串重复指定次数

10.2 数字函数

10.2.1 求绝对值

10.2.2 求平方

10.2.3 求平方根

10.2.4 求对数

10.2.5 求幂

10.2.6 对指定值进行四舍五入操作

10.2.7 求两数相除的余数

10.2.8 取得大于等于指定数的最小整数

10.2.9 取得小于等于指定数的最大整数

10.2.10 求正弦与余弦值

10.2.11 求正切值与余切值

10.2.12 求反正弦和反余弦值

10.2.13 求反正切值

10.2.14 弧度与角度的互换

10.2.15 取得指定值的符号标志

10.2.16 对指定值进行截取操作

10.3 日期时间函数

10.3.1 取得当前系统的日期和时间

10.3.2 对日期值进行加减运算

10.3.3 取得日期之后指定工作日对应的日期

10.3.4 取得日期值中的指定内容

10.3.5 取得指定日期所在月的最后一天

10.3.6 取得两个指定月份的差

10.3.7 对日期时间进行舍入操作

10.3.8 截断指定的日期时间

10.4 类型转换函数

10.4.1 字符转换函数

10.4.2 日期转换函数

10.4.3 数值转换函数

10.5 比较函数

10.5.1 求集合中的最小值

10.5.2 求集合中的最大值

10.5.3 比较两个字符串

10.6 空值处理函数

10.6.1 NVL函数与IFNULL函数

10.6.2 NVL2函数

10.6.3 ISNULL函数

10.6.4 COALESCE函数

10.7 分支函数与条件表达式

10.7.1 IF函数

10.7.2 DECODE函数

10.7.3 CASE条件表达式

10.8 小结

第11章 视图的创建与删除

11.1 视图的作用

11.2 创建视图

11.2.1 基于单表创建视图

11.2.2 基于多表连接创建视图

11.2.3 基于函数、分组数据创建视图

11.2.4 为视图添加CHECK约束

11.2.5 基于一个已有视图创建新的视图

11.2.6 创建只读视图

11.3 删除视图

11.4 小结

第四篇 数据更新

第12章 插入数据记录

12.1 向数据表中插入数据记录

12.1.1 插入单行数据记录

12.1.2 向定义有外键约束的表中插入数据记录

12.1.3 使用子查询插入多行数据实现表中数据的复制

12.1.4 利用MySQL 5.0数据库一次插入多条数据记录

12.2 向视图中插入数据记录

12.3 小结

第13章 修改数据记录

13.1 在数据表中修改数据记录

13.1.1 修改单行数据记录

13.1.2 在定义有外键约束的表中修改数据记录

13.1.3 修改多行记录

13.1.4 使用子查询修改数据记录

13.1.5 使用CASE条件表达式修改多行记录

13.1.6 利用MySQL 5.0数据库一次修改多条数据记录

13.2 在视图中修改数据记录

13.3 小结

第14章 删除数据记录

14.1 使用DELETE语句删除数据记录

14.1.1 删除满足条件的数据记录

14.1.2 在定义有外键约束的表中删除数据记录

14.1.3 使用子查询删除指定条件的数据记录

14.1.4 利用MySQL 5.0数据库一次删除多条数据记录

14.1.5 删除数据表中所有记录

14.2 使用TRUNCATE语句删除数据表中所有记录

14.3 在视图中删除数据记录

14.4 小结

第五篇 数据控制

第15章 权限的授予与回收

15.1 数据库及其不同对象允许的操作权限

15.2 授予权限

15.2.1 授予指定用户操作数据表的权限

15.2.2 授予指定用户操作数据列的权限

15.2.3 授予指定用户授权的权限

15.2.4 授予创建数据表的权限

15.2.5 将操作权限授予所有用户

15.2.6 使用Administrator管理系统授予用户权限

15.3 回收权限

15.4 小结

第16章 事务的控制与管理

16.1 事务的概念

16.1.1 原子性

16.1.2 一致性

16.1.3 隔离性

16.1.4 持久性

16.2 控制事务

16.2.1 开始事务

16.2.2 提交事务

16.2.3 回滚事务

16.3 事务的并发控制

16.3.1 并发事务的工作流程

16.3.2 事务并发处理中存在的问题

16.3.3 事务的隔离级别

16.3.4 在数据库中设置隔离级别

16.3.5 设置事务访问模式

16.4 小结

第六篇 PL/SQL

第17章 PL/SQL概述

17.1 PL/SQL介绍

17.1.1 什么是PL/SQL

17.1.2 为什么要使用PL/SQL

17.2 一个PL/SQL的例子

17.3 PL/SQL编写规范

17.3.1 代码注释

17.3.2 标识符命名

17.3.3 字母大小写

17.3.4 代码缩进格式

17.4 PL/SQL开发工具简介

17.4.1 TOAD

17.4.2 Navicat

17.4.3 PL/SQL Developer

17.5 小结

第18章 PL/SQL基础

18.1 PL/SQL的块结构

18.1.1 基本语句块

18.1.2 匿名语句块

18.1.3 命名语句块

18.1.4 子程序

18.1.5 包

18.1.6 触发器

18.2 PL/SQL基本要素

18.2.1 标识符

18.2.2 分隔符

18.2.3 文字

18.2.4 注释

18.3 声明和初始化变量

18.4 PL/SQL数据类型

18.4.1 标量类型

18.4.2 复合类型

18.4.3 引用类型

18.4.4 LOB类型

18.5 定义和使用标量变量

18.5.1 定义标量变量

18.5.2 使用标量变量

18.5.3 使用%TYPE属性绑定变量

18.6 定义和使用复合类型

18.6.1 定义和使用记录

18.6.2 定义和使用表

18.6.3 定义和使用嵌套表

18.6.4 定义和使用变长数组

18.7 定义和使用子类型

18.7.1 定义子类型

18.7.2 使用子类型

18.8 变量的作用域

18.9 数据类型之间的相互转换

18.9.1 隐式数据类型转换

18.9.2 显式数据类型转换

18.10 小结

第19章 PL/SQL中的控制结构

19.1 分支控制

19.1.1 IF-THEN简单条件语句

19.1.2 IF-THEN-ELSE条件分支语句

19.1.3 IF-THEN-ELSEIF多重条件分支语句

19.1.4 嵌套的IF语句

19.2 CASE语句

19.2.1 实现等值比较的CASE语句

19.2.2 设定标记的CASE语句

19.2.3 搜寻式CASE语句

19.3 循环控制

19.3.1 LOOP循环语句

19.3.2 WHILE-LOOP循环语句

19.3.3 FOR-LOOP循环语句

19.3.4 嵌套循环

19.4 顺序控制

19.4.1 GOTO语句

19.4.2 NULL语句

19.5 小结

第20章 使用游标

20.1 什么是游标

20.2 使用显式游标

20.2.1 声明游标

20.2.2 打开游标

20.2.3 从游标中取得结果

20.2.4 关闭游标

20.2.5 使用BULK COLLECT子句批量绑定数据

20.2.6 在游标中使用子查询

20.3 游标属性

20.3.1 显式游标属性

20.3.2 隐式游标属性

20.3.3 显式游标属性与隐式游标属性比较

20.4 游标循环

20.4.1 简单LOOP循环

20.4.2 WHILE循环

20.4.3 游标FOR循环

20.4.4 使用游标修改和删除数据行

20.4.5 参数化游标

20.5 使用游标变量

20.5.1 声明游标变量

20.5.2 打开游标变量

20.5.3 取得数据结果

20.5.4 关闭游标变量

20.5.5 一个使用游标变量的例子

20.5.6 使用游标变量的一些限制

20.6 嵌套游标

20.7 小结

第21章 异常处理

21.1 为什么要使用异常处理

21.2 声明异常

21.3 抛出异常

21.4 捕获和处理异常

21.4.1 捕获和处理异常的语法规则

21.4.2 处理预定义异常

21.4.3 处理自定义异常

21.4.4 使用内置函数处理异常

21.4.5 编译提示EXCEPTION_INIT

21.5 异常处理机制

21.5.1 声明部分中异常的处理机制

21.5.2 可执行部分中异常的处理机制

21.5.3 异常处理部分中异常的处理机制

21.6 使用异常处理原则

21.6.1 对捕获的异常要进行处理

21.6.2 确保没有未处理的异常

21.6.3 标记异常发生的位置

21.6.4 控制异常处理程序

21.7 小结

第22章 存储过程

22.1 创建存储过程

22.2 参数模式

22.2.1 IN模式

22.2.2 OUT模式

22.2.3 IN OUT模式

22.3 调用存储过程

22.3.1 调用无参数的存储过程

22.3.2 调用带有输入参数的存储过程

22.3.3 调用带有输出参数的存储过程

22.3.4 调用带有输入输出参数的存储过程

22.4 参数传递

22.4.1 使用参数位置传递参数值

22.4.2 使用参数名称传递参数值

22.4.3 使用位置和名称传递参数值

22.4.4 使用NOCOPY编译提示传递参数

22.4.5 使用参数的默认值

22.5 删除存储过程

22.6 小结

第23章 函数

23.1 创建函数

23.1.1 创建函数的语法规则

23.1.2 函数体中的RETURN子句

23.1.3 创建有输入参数的函数

23.1.4 创建有输出参数的函数

23.1.5 创建有输入输出参数的函数

23.1.6 创建记录类型作为返回值的函数

23.1.7 创建集合类型作为返回值的函数

23.2 调用函数

23.2.1 调用无参数的函数

23.2.2 调用带有输入参数的函数

23.2.3 调用带有输出参数的函数

23.2.4 调用带有输入输出参数的函数

23.2.5 调用返回值为记录类型的函数

23.2.6 调用返回值为集合类型的函数

23.3 参数传递

23.3.1 使用参数位置传递参数值

23.3.2 使用参数名称传递参数值

23.3.3 使用参数名称和位置传递参数值

23.4 函数在SQL中的应用

23.4.1 纯度规则

23.4.2 在SQL中调用函数

23.5 删除函数

23.6 存储过程与函数

23.7 小结

第24章 包

24.1 创建包

24.1.1 创建包说明

24.1.2 创建包体

24.2 调用包中的公有元素

24.3 在包中使用重载

24.4 删除包

24.5 系统包

24.5.1 生成并发送报警信息的包DBMS_ALERT

24.5.2 输入和输出信息的包DBMS_OUTPUT

24.5.3 进行管道通信的包DBMS_PIPE

24.5.4 安排和管理PL/SQL语句块的包DBMS_JOB

24.5.5 处理LOB数据类型数据的包DBMS_LOB

24.6 小结

第25章 触发器

25.1 触发器简介

25.1.1 触发器的类型

25.1.2 触发器的用途

25.1.3 触发器的限制

25.2 创建DML触发器

25.2.1 创建语句触发器

25.2.2 创建行触发器

25.2.3 触发器谓词

25.3 创建DDL触发器

25.4 创建INSTEAD OF触发器

25.5 创建事件触发器

25.5.1 事件属性函数

25.5.2 创建系统事件触发器

25.5.3 创建用户事件触发器

25.6 管理触发器

25.6.1 禁用触发器

25.6.2 激活触发器

25.6.3 重新编译触发器

25.6.4 删除触发器

25.7 小结

第七篇 SQL应用

第26章 SQL语句性能优化

26.1 适当创建索引

26.2 优化查询语句

26.2.1 避免在SELECT语句中使用“*”

26.2.2 调整WHERE子句中连接条件的顺序

26.2.3 避免使用OR关键字

26.2.4 避免使用<>和!=操作符

26.2.5 相关子查询中使用EXISTS关键字代替IN关键字

26.2.6 使用LIKE关键字

26.2.7 避免使用HAVING子句

26.2.8 使用存储过程

26.3 规范SQL语句书写格式

26.4 小结

第27章 动态SQL

27.1 使用EXECUTE IMMEDIATE语句处理单行查询

27.2 使用游标变量处理多行查询

27.2.1 定义游标变量

27.2.2 打开游标变量

27.2.3 从游标变量取得数据

27.2.4 关闭游标变量

27.2.5 动态处理多行查询

27.3 批量绑定

27.3.1 使用FORALL语句批量绑定

27.3.2 使用EXECUTE IMMEDIATE语句批量绑定

27.3.3 使用FETCH语句批量绑定

27.4 使用DBMS_SQL包实现动态SQL

27.4.1 DBMS_SQL包中常用存储过程和函数

27.4.2 使用DBMS_SQL包实现动态SQL的查询操作

27.4.3 使用DBMS_SQL包实现动态SQL的DML操作

27.4.4 使用DBMS_SQL包实现动态SQL的DDL操作

27.5 小结

第28章 数据库的存取访问

28.1 数据库应用系统结构

28.1.1 集中式数据库系统

28.1.2 客户端/服务器端数据库系统

28.1.3 并行式数据库系统

28.1.4 分布式数据库系统

28.2 数据库连接访问

28.2.1 ODBC

28.2.2 OLE DB

28.2.3 ADO

28.2.4 JDBC

28.3 Java与MySQL 5.0数据库连接与访问

28.3.1 Java开发环境

28.3.2 安装Eclipse

28.3.3 添加MySQL 5.0驱动程序

28.3.4 Java与数据库的连接过程

28.4 Java与MySQL 5.0数据库开发

28.4.1 查询数据

28.4.2 更新数据

28.5 小结

附录A 常用SQL语句

A.1 数据定义语言(DDL)

A.1.1 创建数据库(CREATE DATABASE)

A.1.2 创建数据表(CREATE TABLE)

A.1.3 创建索引(CREATE INDEX)

A.1.4 创建视图(CREATE VIEW)

A.1.5 修改基本表(ALTER TABLE)

A.1.6 删除数据库(DROP DATABASE)

A.1.7 删除数据表(DROP TABLE)

A.1.8 删除索引(DROP INDEX)

A.1.9 删除视图(DROP VIEW)

A.2 数据查询语言(DQL)

A.3 数据操作语言(DML)

A.3.1 插入数据(INSERT)

A.3.2 修改数据(UPDATE)

A.3.3 删除数据(DELETE)

A.4 数据控制语言(DCL)

A.4.1 分配权限(GRANT)

A.4.2 回收权限(REVOKE)

A.5 事务控制语言

A.5.1 创建事务保存点(SAVEPOINT)

A.5.2 提交事务(COMMIT)

A.5.3 回滚事务(ROLLBACK)

A.6 创建存储过程

A.7 创建函数

A.8 创建包

A.8.1 创建包说明

A.8.2 创建包体

A.9 创建触发器

附录B 常用函数对照

B.1 聚合函数(统计函数)

B.2 字符函数

B.3 数字函数

B.4 日期函数

B.5 类型转换函数

B.6 空值处理与分支函数

零基础学SQL 精彩文摘

4.1.4索引

在实际应用中,为了加快访问速度,节省访问时间,一般都需要使用索引进行查询。例如,在使用电话簿查询电话时,为了减少查询的时间,一般都会使用电话簿中提供的企业名称作为索引来查询;在使用一本书学习某一部分知识的时候,一般都需要翻看书后提供的索引,一般书后的索引都会以字母顺序将相关的主题信息列出,通过这个索引的指引,读者可以很快查找到想要的信息,而不需要为了查询某一个知识点而将书中所有的内容都翻看一遍,节省了查阅的时间,也保证了学习效率。

数据库中的索引与书后提供的索引的功能相同,在数据库的应用中,往往一张数据表中会包含上千条甚至上万条记录,因此为了加快对数据表的访问,通常需要在数据表中建立适当的索引。通过建立索引,在查询数据表中的数据时,数据库可以很快地将其找到,而不用扫描整个数据表。

索引是一个指向数据表中数据的指针,指向索引字段在数据表中的物理位置。如果在执行查询操作时,WHERE子句中指定的字段是被设置为索引的字段,则数据库会首先在索引中对指定的值进行查询,并返回查询的数据在数据表中的位置。如果在执行查询操作时,WHERE子句中指定的字段没有设置为索引的字段,那么数据库会对查询数据表中的每一行数据记录进行扫描。因此适当地创建索引,可以加快数据的检索速度,提高对数据的访问效率,提供数据查询的性能。

当然,索引本身也有一些弊端,例如,索引会占用大量的硬盘空间;随着数据列的增加,创建和维护索引的时间也会随之增加;在对数据进行增加、删除和修改等更新操作的时候,需要对索引进行维护,降低更新数据的速度。因此,对那些不是在查询过程中经常用到的列以及在数据表中经常需要进行增加、删除和修改等更新操作的列就不适合建立索引。

虽然创建索引可以提高查询的速度,但是由于索引本身会占用物理空间以及维护索引可能带来的时间的损耗,所以在为数据表中的列创建索引时,并不是为数据表中的每一个列都要创建索引,那样做反而不会起到提高查询效率的作用。因此需要在数据表的适当的列上创建索引。一般可以在下面这些列中创建索引。

图书网:零基础学SQLpdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

性学观止插图第6版 (上下册)pdf

性学观止插图第6版 (上下册) 作者:(美)贺兰特·凯查杜里安(H.Kantchadourian) 性学观止插图第6版 (上下册) 出版社:世界图书出版公司 性学观止插图第6版 (上下册) 内容简介 ...
古籍整理

道德经全解pdf

道德经全解 作者:韩非 道德经全解 出版社:中国华侨出版社 道德经全解 内容简介 《道德经》内容涵盖哲学、伦理学、政治学、军 事学等诸多学科,曾被后人尊奉为治国、齐家、修身 、为学的宝典。它对中国的哲...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • lpzh
      lpzh 2

      好资源,感谢良心分享!!!!