- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- MySQL实用教程(第4版) 课件 第1章 数据库基础.pptx
- MySQL实用教程(第4版) 课件 第2章 数据类型.pptx
- MySQL实用教程(第4版) 课件 第3章 数据库和表.pptx
- MySQL实用教程(第4版) 课件 第4章 查询和视图.pptx
- MySQL实用教程(第4版) 课件 第6章 SQL扩展语言和系统函数.pptx
- MySQL实用教程(第4版) 课件 第7章 过程式数据库对象.pptx
- MySQL实用教程(第4版) 课件 第8章 数据库备份与恢复.pptx
- MySQL实用教程(第4版) 课件 第9章 用户管理和权限控制.pptx
- MySQL实用教程(第4版) 课件 第10章 事务管理和多用户操作.pptx
- [湖州]2024年浙江湖州市应急管理局选调事业单位工作人员笔试历年参考题库(频考点试卷)解题思路附带.docx
- 2024年USB电话商务管理系统项目可行性研究报告.docx
- [白城]2024年吉林白城市通榆县事业单位面向下半年应征入伍高校毕业生招聘笔试历年参考题库(频考点试.docx
- [甘肃]2024年甘肃省地质矿产勘查开发局第一地质矿产勘查院招聘52人笔试历年参考题库(频考点试卷).docx
- 2024年端子机刀片刀模项目可行性研究报告.docx
- 2024年情侣相框项目可行性研究报告.docx
- [玉溪]2024下半年云南玉溪市事业单位招聘工作人员189人笔试历年参考题库(频考点试卷)解题思路附.docx
- 2024至2030年双面脚轮项目投资价值分析报告.docx
- [湖南]2024年湖南劳动人事职业学院招聘32人笔试历年参考题库(频考点试卷)解题思路附带答案详解.docx
- [湖南]2024年湖南建筑高级技工学校(湖南建设中等职业学校)招聘17人笔试历年参考题库(频考点试卷.docx
- [烟台]2024年山东烟台市市场监督管理局所属事业单位招聘19人笔试历年参考题库(频考点试卷)解题思.docx
文档评论(0)