
使用ALTERTABLE语句数据库技术主讲人:何水艳
课程导入将大量查询放在服务端,客户端只需要输人要查询的信息,不用写出大量代码;01而索引的作用类似于目录,使得查询更快速、更高效,适用于访问大型数据库。02
目录01使用ALTERTABLE语句02参照完整性约束与CHECK约束
01使用ALTERTABLE语句
使用ALTERTABLE语句使用ALTERTABLE语句修改表,其中也包括向表中添加索引。语法格式如下:ALTERTABLE表名ADDINDEX[索引名](列名,...)/*添加索引*/|ADDPRIMARYKEY[索引方式](列名,...)/*添加主键*/|ADDUNIQUE[索引名](列名,...)/*添加唯一性索引*/|ADDFULLTEXT[索引名](列名,...)/*添加全文索引*/1.使用ALTERTABLE语句
使用ALTERTABLE语句1.使用ALTERTABLE语句【例7.5】在BOOK表的书名列上创建一个普通索引。ALTERTABLEBook ADDINDEXsm_book(书名);
使用ALTERTABLE语句图7-7修改数据表添加普通索引
使用ALTERTABLE语句图7-8查看BOOK表的索引
使用ALTERTABLE语句1.使用ALTERTABLE语句【例7.6】假设BOOK表中主键未设定,为BOOK表创建以图书编号为主键索引,出版社和出版时间为复合索引,以加速表的检索速度。ALTERTABLEBook ADDPRIMARYKEY(图书编号), ADDINDEXmark(出版社,出版时间);
使用ALTERTABLE语句图7-9修改数据表添加主键和组合索引
使用ALTERTABLE语句图7-10查看BOOK表的索引
使用ALTERTABLE语句2.替代键和主键的区别01一个数据表只能创建一个主键。但一个表可以有若干个UNIQUE键,并且它们甚至可以重合,例如,在C1和C2列上定义了一个替代键,并且在C2和C3上定义了另一个替代键,这两个替代键在C2列上重合了,而MySQL允许这样。
使用ALTERTABLE语句2.替代键和主键的区别02主键字段的值不允许为NULL,而UNIQUE字段的值可取NULL,但是必须使用NULL或NOTNULL声明。03一般创建PRIMARYKEY约束时,系统会自动产生PRIMARYKEY索引。创建UNIQUE约束时,系统自动产生UNIQUE索引。
02参照完整性约束与CHECK约束
参照完整性约束与CHECK约束外键目前只可以用在那些使用InnoDB存储引擎创建的表中,对于其他类型的表,MySQL服务器能够解析CREATETABLE语句中的FOREIGNKEY语法,但不能使用或保存它。更改表的存储引擎为InnoDB语法如下:Altertable表名ENGINE=InnoDB
(1)创建表的同时创建外键语法格式:CREATETABLE表名(列名,...)|[外键定义](2)对已有表创建外键语法格式:ALTERTABLE表名ADD[外键定义]参照完整性约束与CHECK约束
[外键定义]语法格式:FOREIGNKEY(列名)REFERENCES表名[(列名[(长度)][ASC|DESC],...)][ONDELETE{RESTRICT|CASCADE|SETNULL|NOACTION}][ONUPDATE{RESTRICT|CASCADE|SETNULL|NOACTION}]参照完整性约束与CHECK约束
【例7.7】创建book_ref表,所有的book_ref表中图书编号都必须出现在Book表中,假设已经使用图书编号列作为Book表主键。CREATETABLEbook_ref(图书编号varchar(20)NULL,书名varchar(20)NOTNULL,出版日期dateNULL,PRIMARYKEY(书名),FOREIGNKEY(图书编号)REFERENCESBook(图书编号)ONDELETERESTRICTONUPDATERESTRICT)ENGINE=INNODB;参照完整性约束与CHE
免费下载链接
飞猫云链接地址:https://jmj.cc/s/yi78pz
压缩包解压密码:res.99hah.com_SOkEl1Chi8
下载方法:如果您不是飞猫云会员,请在下载页面滚动到最下方,点击“非会员下载”,网页跳转后再次滚动到最下方,点击“非会员下载”。
解压软件:Bandizip
- 打开飞猫云链接地址的页面,拖动到最下方,找到“非会员下载”的按钮并点击
- 此时,如果没登录,可能会提醒您注册帐号,随便注册一个帐号并登录
- 再在新打开的下载页面,再次拖动到最下方,找到“网页端 非会员下载”的按钮并点击。
版权声明:本文为转载文章,版权归原作者所有,转载请保留出处!