MySQL中如何设置唯一索引,联合索引?

MySQL中如何设置唯一索引,联合索引?,第1张

1.UNIQUE 关键字建唯一索引\x0d\x0amysql>CREATE TABLE `wb_blog` ( \x0d\x0a-> `id` smallint(8) unsigned NOT NULL, \x0d\x0a-> `catid` smallint(5) unsigned NOT NULL DEFAULT '0', \x0d\x0a-> `title` varchar(80) NOT NULL DEFAULT '', \x0d\x0a -> `content` text NOT NULL, \x0d\x0a -> PRIMARY KEY (`id`), \x0d\x0a-> UNIQUE KEY `catename` (`catid`) \x0d\x0a->) \x0d\x0a如果建好表了,可以用以下语句建\x0d\x0a mysql>CREATE UNIQUE INDEX catename ON wb_blog(catid) \x0d\x0a\x0d\x0a2.联合索引\x0d\x0aALTER TABLE `tasks`\x0d\x0aADD INDEX `testabc` (`title`, `created`) \x0d\x0a\x0d\x0a3联合唯一索引(假设有这个需求,在同一天内不能建两个tiltle一样的任务)\x0d\x0aALTER TABLE `tasks`\x0d\x0aADD UNIQUE INDEX `testabc` (`title`, `created`) \x0d\x0a\x0d\x0a数据库建索引的科学性事关数据库性能,索引也不是越多越好。

1,创建索引(PRIMARY KEY,INDEX,UNIQUE)

支持创建主键索引,联合索引和普通索引命令

mysql>ALTER TABLE tbl_name ADD INDEX index_name (column list)

mysql>ALTER TABLE tbl_name ADD UNIQUE index_name (column list)

mysql>ALTER TABLE tbl_name ADD PRIMARY KEY index_name (column list)

2,删除索引(PRIMARY KEY,INDEX,UNIQUE)

支持删除主键索引,联合索引和普通索引命令

mysql>ALTER TABLE tbl_name DROP INDEX index_name (column list)

mysql>ALTER TABLE tbl_name DROP UNIQUE index_name (column list)

mysql>ALTER TABLE tbl_name DROP PRIMARY KEY index_name (column list)

3,重建索引

mysql>REPAIR TABLE tbl_name QUICK

4,查看某个数据表的索引

mysql>SHOW INDEX FROM tbl_name

其中tbl_name表示数据表名,index_name表示索引名,column list表示字段列表

在mysql数据库中为字段添加索引,意思是对数据库某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页进行排序,它是逻辑指针清单。

索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。数据库使用索引以找到特定值,然后顺指针找到包含该值的行。这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息。

扩展资料:

当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在employee表中职员的姓(lname)上创建了唯一索引,则任何两个员工都不能同姓。

对某个列建立UNIQUE索引后,插入新记录时,数据库管理系统会自动检查新纪录在该列上是否取了重复值,在CREATETABLE命令中的UNIQE约束将隐式创建UNIQUE索引。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7408120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存