×

删除索引sql 索引

如何通过SQL创建删除表的索引?索引关键字的类型有哪几种

admin admin 发表于2022-07-07 02:28:37 浏览91 评论0

抢沙发发表评论

如何通过SQL创建删除表的索引


在执行CREATE
TABLE语句时可以创建索引,也可以单独用CREATE
INDEX或ALTER
TABLE来为表增加索引。
1.ALTER
TABLE
ALTER
TABLE用来创建普通索引、UNIQUE索引或PRIMARY
KEY索引。
ALTER
TABLE
table_name
ADD
INDEX
index_name
(column_list)
ALTER
TABLE
table_name
ADD
UNIQUE
(column_list)
ALTER
TABLE
table_name
ADD
PRIMARY
KEY
(column_list)
2.CREATE
INDEX
CREATE
INDEX可对表增加普通索引或UNIQUE索引。
CREATE
INDEX
index_name
ON
table_name
(column_list)
CREATE
UNIQUE
INDEX
index_name
ON
table_name
(column_list)
table_name、index_name和column_list具有与ALTER
TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE
INDEX语句创建PRIMARY
KEY索引。
3.索引类型
在创建索引时,可以规定索引能否包含重复值。如果不包含,则索引应该创建为PRIMARY
KEY或UNIQUE索引。对于单列惟一性索引,这保证单列不包含重复的值。对于多列惟一性索引,保证多个值的组合不重复。
PRIMARY
KEY索引和UNIQUE索引非常类似。事实上,PRIMARY
KEY索引仅是一个具有名称PRIMARY的UNIQUE索引。这表示一个表只能包含一个PRIMARY
KEY,因为一个表中不可能具有两个同名的索引。
下面的SQL语句对students表在sid上添加PRIMARY
KEY索引。
ALTER
TABLE
students
ADD
PRIMARY
KEY
(sid)
4.
删除索引
可利用ALTER
TABLE或DROP
INDEX语句来删除索引。类似于CREATE
INDEX语句,DROP
INDEX可以在ALTER
TABLE内部作为一条语句处理,语法如下。
DROP
INDEX
index_name
ON
talbe_name
ALTER
TABLE
table_name
DROP
INDEX
index_name
ALTER
TABLE
table_name
DROP
PRIMARY
KEY
其中,前两条语句是等价的,删除掉table_name中的索引index_name。
第3条语句只在删除PRIMARY
KEY索引时使用,因为一个表只可能有一个PRIMARY
KEY索引,因此不需要指定索引名。如果没有创建PRIMARY
KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
如果从表中删除了某列,则索引会受到影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

索引关键字的类型有哪几种


索引类型:
根据数据库的功能,可以在数据库设计器中创建四种索引:唯一索引、非唯一索引、主键索引和聚集索引。 尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。

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

非唯一索引:
非唯一索引是相对唯一索引,允许其中任何两行具有相同索引值的索引。 当现有数据中存在重复的键值时,数据库是允许将新创建的索引与表一起保存。这时数据库不能防止添加将在表中创建重复键值的新数据。

主键索引:
数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。

聚集索引(也叫聚簇索引):
在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。 如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。

数据库索引有哪些种类


1.按照索引列值的唯一性,索引可分为唯一索引和非唯一索引; 非唯一索引: create index 索引名 on 表名(列名) tablespace 表空间名; 唯一索引: 建立主键或者唯一约束时会自动在对应的列...
2.索引列的个数:单列索引和复合索引;
3.按照索引列的物理组织方式。 索引的创建格式: CREATE UNIUQE | BITMAP INDEX 《schema》.《index_name》 ON 《schema...
-删除索引sql