网站大量收购闲置独家精品文档,联系QQ:2885784924

MySQL实用教程(第4版) 课件 第5章 索引与数据完整性.pptx

MySQL实用教程(第4版) 课件 第5章 索引与数据完整性.pptx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第5章索引与数据完整性——索引

01索引的分类普通索引(INDEX)唯一性索引(UNIQUE)主键(PRIMARYKEY)全文索引(FULLTEXT)空间索引(SPATIAL)

索引的分类1.普通索引(INDEX)这种索引列的内容可以相同。例如,在学生表按照姓名只能创建普通索引,因为学生中可能存在姓名相同的记录。在这类索引中姓名相同的记录就会排在一起。定义子句如下:{INDEX|KEY}[索引名](键,...)按照指定的(键,...)创建索引,定义索引名,方便后面对其引用。例如后面可以删除已经创建的指定索引名。键如下:列名[(长度)][ASC|DESC]

索引的分类2.唯一性索引(UNIQUE)这种索引列的值必须是唯一的。例如学号就是为了区分学生的,在学生表中不可能重复出现。定义子句如下,按照标识引用:[CONSTRAINT[标识]]UNIQUE(键,...)3.主键(PRIMARYKEY)主键是一种唯一性索引,它必须指定为PRIMARYKEY。一个表中唯一性的列可以有多个,但只能选择一个作为主键。例如学生信息表,除了学号外,身份证号、电话号码、微信号也是唯一的,但学生管理中,应该采用学号作为主键,因为它是管理学生的最重要的信息,而且使用最频繁。定义子句如下:[CONSTRAINT[标识]]PRIMARYKEY(键,...)

索引的分类4.全文索引(FULLTEXT)主要用来查找文本中的关键字,而不是直接与索引中的值相比较。全文索引跟其它索引大不相同,它更像是一个搜索引擎,需要配合MATCHAGAINST操作使用,而不是一般的WHERE语句加LIKE。目前只有char、varchar、text列上可以创建全文索引。定义子句如下:FULLTEXT{INDEX|KEY}[索引名](键,...)在MySQL中,全文索引的类型为FULLTEXT,并且只能在MyISAM存储引擎的表中创建。5.空间索引(SPATIAL)空间索引是对空间数据类型的字段建立的索引。MySQL使用SPATIAL关键字进行扩展,使其能够用于创建空间索引。创建空间索引的列,必须将其声明为NOTNULL。定义子句如下:SPATIAL{INDEX|KEY}[索引名](键,...)

02创建和删除索引在建立表时创建索引在已有表中创建索引修改表结构增加索引删除索引

创建和删除索引1.在建立表时创建索引CREATE[TEMPORARY]TABLE[IFNOTEXISTS]表名 [([列定义],... |[索引定义])]说明:(1)在列定义的时候,可以指定PRIMARYKEY(主键)或者UNIQUE(唯一性键)属性。【例】在创建kc1表结构时指定主键。USExscj;CREATETABLEkc1( 课程号 char(3) NOTNULLPRIMARYKEY, 课程名 varchar(8)NOTNULL, 开课学期 tinyint NOTNULL, 学时 tinyint NOTNULL, 学分 tinyint NOTNULL);

创建和删除索引(2)当主键或者唯一性键由多个列组成时,必须在最后一列后面加上子句。【例】在创建cj1表结构列后指定多列主键。USExscj;CREATETABLEcj1( 学号 CHAR(6)NOTNULL, 课程号 CHAR(3)NOTNULL, 成绩 TINYINT(1), PRIMARYKEY(学号,课程号), INDEXcj(成绩));SHOWINDEXFROMcj1;其中,在所有列定义后定义主键PRIMARYKEY(学号,课程号)和索引INDEXcj(成绩)。显示cj1表索引情况如图。

创建和删除索引2.在已有表中创建索引CREATE[UNIQUE|FULLTEXT|SPATIAL]INDEX索引名 [索引类型]ON表名(键,...) ...键:列名[(长度)][ASC|DESC]UNIQUE|FULLTEXT|SPATIAL:UNIQUE表示创建的是唯一性索引;FULLTEXT表示创建全文索引;SPATIAL表示创建空间索引。索引名:索引名在一个表中必须是唯一的,在创建索引时定义、修改表结构时修改,通过该名删除索引。

创建和删除索引【例】在已有xs1表上创建普通索引和唯一性索引。USExscj;CREATETABLExs1SELECT*FROMxs; CREATEUNIQUEINDEXxm_xh4 ONxs1(姓名,学号(4)ASC);SH

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档