《MySQL数据库原理及应用》课件第5章数据库的高级应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CREATE TABLE <表名>
(<字段1> <数据类型1> [<列级完整性约束 条件1>]
[,<字段2> <数据类型2> [<列级完整性约束 条件2>]] [,…]
[,<表级完整性约束条件1>]
[,<表级完整性约束条件2>] [,…]
[UNIQUE|FULLTEXT|SPATIAL] <INDEX|KEY>
[索引名](属性名[(长度)]
[ASC|DESC][,…])
2.索引可以确保数据的唯一性
唯一性索引的创建可以保证表中数 据记录不重复。
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
索引的类型
1.普通索引和唯一索引
普通索引是MySQL中的基本索引类型,允 许在定义索引的列中插入重复值和空值。
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5Βιβλιοθήκη Baidu3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
创建索引
1.在创建表时创建索引
(1)使用Navicat工具创建索引。
(2)使用SQL语句创建索引。在使用CREATE TABLE语句创建表时直接创建索引,此方式 简单、方便。其语法格式如下。
索引一旦创建,将由数据库自动管理 和维护。例如,向表中插入、更新和 删除一条记录时,数据库会自动在索 引中做出相应的修改。在编写SQL查 询语句时,具有索引的表与不具有索 引的表没有任何区别,索引只是提供 一种快速访问指定记录的方法。
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
当给表创建UNIQUE约束时,MySQL会自动创 建唯一索引。
索引的名称必须符合MySQL的命名规则,且 必须是表中唯一的。
可以在创建表时创建索引,或是给现存表创 建索引。
只有表的所有者才能给表创建索引。
创建唯一索引时,应保证创建索引的列不包 括重复的数据,并且没有两个或两个以上的 空值(NULL)。因为创建索引时将两个空值 也视为重复的数据,如果有这种数据,必须 先将其删除,否则索引不能被成功创建。
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
索引的设计原则
索引设计不合理或缺少索引都会对数据 库和应用性能造成障碍。高效的索引对 于获得良好的性能非常重要。设计索引 时,应该考虑以下准则。
1.索引并非越多越好 2.避免对经常更新的表进行过多的索引 3.数据量小的表最好不要使用索引 4.在不同值少的列上不要建立索引 5.指定唯一索引是由某种数据本身的特
征来决定
6.为经常需要排序、分组和联合操作的 字段建立索引
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
创建索引
创建索引是指在某个表的一列或多列上建立 一个索引,以提高对表的访问速度。在实际 创建索引之前,有如下几个注意事项。
第5章 数据库的高级应用
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
5.1.1 索引概述 5.1.2 索引的类型 5.1.3 索引的设计原则 5.1.4 创建索引 5.1.5 删除索引
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
索引的类型
3.全文索引
全文索引是指在定义索引的列上支持值的全 文查找,允许在这些索引列中插入重复值和 空值。全文索引可以在CHAR、VARCHAR或 者TEXT类型的列上创建。MySQL中只有 MyISAM存储引擎支持全文索引。
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
【任务分析】 设计人员在数据库中怎样合理地设
计索引,提高数据的查询速度和效 率。 【课堂任务】 本节要理解索引的概念及作用。 索引的概念及类型 索引的创建和管理
第5章 数据库的 高级应用
5.5 触发器 5.6 事务 5.7 锁
1.索引可以提高数据的访问速度
只要为适当的字段建立索引,就能 大幅度提高下列操作的速度。
(1)查询操作中WHERE子句的数据提取。 (2)查询操作中ORDER BY子句的数据
排序。
(3)查询操作中GROUP BY子句的数据 分组。
(4)更新和删除数据记录。
唯一索引是指索引列的值必须唯一,但允 许有空值。如果是组合索引,则列值的组 合必须唯一。主键索引是一种特殊的唯一 索引,不允许有空值。
2.单列索引和组合索引
单列索引是指一个索引只包含单个列,一 个表可以有多个单列索引。
组合索引是指在表的多个字段组合上创建 的索引。
第5章 数据库的 高级应用
5.1 索引 5.2 视图 5.3 SQL编程基础 5.4 存储过程和函 数
5.5 触发器 5.6 事务 5.7 锁
索引是一个单独的、物理的数据库结 构,是某个表中一列或者若干列的集 合以及相应的标识这些值所在的数据 页的逻辑指针清单。索引是依赖于表 建立的,提供了数据库中编排表中数 据的内部方法。表的存储由两部分组 成,一部分是表的数据页面,另一部 分是索引页面。索引就存放在索引页 面上。
4.空间索引
空间索引是对空间数据类型的字段建立的索 引。MySQL中的空间数据类型有4种,分别 是GEOMETRY、POINT、LINESTRING和 POLYGON。MySQL使用SPATIL关键字进行扩 展,使得能够用于创建正规索引类似的语法 创建空间索引。创建空间索引的列,必须将 其声明为NOT NULL,空间索引只有在存储引 擎MyISAM的表中创建。对于初学者来说, 这类索引很少会用到。