mysql索引语句(创建和查看)
mysql索引语句
mysql索引语句
MYISAM 存储引擎不⽀持事务、表锁设计、⽀持全⽂索引其设计主要⾯向OLAP 应⽤ MyISAM不⽀持事务、MyISAM不⽀持MVCC、MyISAM不⽀持外键
InnoDB 存储引擎⽀持事务、⽀持外键、⽀持⾮锁定读、MVCC、⾏锁设计其设计主要⾯向OLTP 应⽤。 不⽀持全⽂索引
查看索引 show index from 数据库表名
alter table 数据库add index 索引名称(数据库字段名称)
PRIMARY KEY(主键索引)
ALTER TABLE table_name ADD PRIMARY KEY ( column )
UNIQUE(唯⼀索引)
ALTER TABLE table_name ADD UNIQUE (column)
INDEX(普通索引)
mysql>ALTER TABLE table_name ADD INDEX index_name ( column )
FULLTEXT(全⽂索引)
ALTER TABLE table_name ADD FULLTEXT ( column )
多列索引(组合索引/联合索引)
ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 )
1.普通索引。
这是最基本的索引,它没有任何限制。它有以下⼏种创建⽅式:
(1)创建索引:CREATE INDEX indexName ON tableName(tableColumns(length));如果是CHAR,VARCHAR类型,length可以⼩于字段实际长度;如果是BLOB 和 TEXT 类型,必须指定length,下同。
(2)修改表结构:ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( […], INDEX [indexName] (tableColumns(length)) ;
2.唯⼀索引。
它与前⾯的"普通索引"类似,不同的就是:索引列的值必须唯⼀,但允许有空值。如果是组合索引,则列值的组合必须唯⼀。它有以下⼏种创建⽅式:
(1)创建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))css自学教程
(2)修改表结构:ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( […], UNIQUE [indexName] (tableColumns(lengt
查看索引
show index from tb_wz_all;
jsp的中文全称是什么
创建索引语句
CREATE [UNIQUE|CLUSTERED] INDEX INDEX_NAME ON TABLE_NAME(PROPERTY_NAME)
其中UNIQUE和CLUSTERED为可选项,分别是建⽴唯⼀索引和聚簇索引,具体解释为:
UNIQUE:表⽰此索引的每⼀个索引值只对应唯⼀的数据。
CLUSTERED:表⽰要建⽴的索引时聚簇索引,即索引项的顺序与表中记录的物理顺序⼀致的索引组织。
创建索引语句
vertice创建普通索引 ALTER TABLE em_ca ADD INDEX INDEX_CA_CONTACT (CA_CONTACT);
创建组合索引 ALTER TABLE em_ca ADD INDEX INDEX_CA_CONTACT (CA_CONTACT,‘CA_NAME’);
创建唯⼀索引 create unique index INDEX_CA_ALIAS on em_ca(CA_ALIAS);
创建主键索引 alter table 表名 add primary key(列名)
删除索引 ALTER TABLE admin_credence_info DROP INDEX ACI_PK;
mysql 创建索引和删除索引
索引的创建可以在CREATE TABLE语句中进⾏,也可以单独⽤CREATE INDEX或ALTER TABLE来给表增加索引。删除索引可以利⽤ALTER TABLE或DROP INDEX语句来实现。
(1)使⽤ALTER TABLE语句创建索引。
语法如下:
alter table table_name add index index_name (column_list) ;
alter table table_name add unique (column_list) ;安卓java模拟器完美版
alter table table_name add primary key (column_list) ;
其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进⾏索引,多列时各列之间⽤逗号分隔。索引名index_name可选,缺省时,MySQL将根据第⼀个索引列赋⼀个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。
创建索引的⽰例如下:
mysql> alter table table_test add index index_test1(name) ;
Query OK, 2 rows affected (0.08 sec)
(2)使⽤CREATE INDEX语句对表增加索引。
能够增加普通索引和UNIQUE索引两种。其格式如下:
create index index_name on table_name (column_list) ;
create unique index index_name on table_name (column_list) ;
创建索引的⽰例如下:
mysql>create index index_test2 on table_test(age);
Query OK, 2 rows affected (0.08 sec)
说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能⽤CREATE INDEX语句创建PRIMARY KEY索引。
(3)删除索引。
删除索引可以使⽤ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为⼀条语句处理,其格式如下:
drop index index_name on table_name ;
alter table table_name drop index index_name ;
alter table table_name drop primary key ;
其中,在前⾯的两条语句中,都删除了table_name中的索引index_name。⽽在最后⼀条语句中,只在删除PRIMARY KEY索引中使⽤,因为⼀个表只可能有⼀个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有⼀个或多个UNIQUE 索引,则MySQL将删除第⼀个UNIQUE索引。
如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。mysql语句多表查询
删除索引的操作,如下⾯的代码:
mysql> drop index name on table_test ;
Query OK, 2 rows affected (0.08 sec)
mysql 创建索引和删除索引
以下所列⽰例中中 table_name 表⽰数据表名,index_name 表⽰索引名,column list 表⽰字段列表(如:id,order_id)。
1、创建索引
索引的创建可以在CREATE TABLE语句中进⾏,也可以单独⽤CREATE INDEX或ALTER TABLE来给表增加索引。以下命令语句分别展⽰了如何创建主键索引(PRIMARY KEY),联合索引(UNIQUE)和普通索引(INDEX)的⽅法。
mysql>ALTER TABLE table_name ADD INDEX index_name (column list);
mysql>ALTER TABLE table_name ADD UNIQUE index_name (column list);
mysql>ALTER TABLE table_name ADD PRIMARY KEY index_name (column list);
mysql>CREATE INDEX index_name ON table_name (column_list);
mysql>CREATE UNIQUE INDEX index_name ON table_name (column_list);
例如:
mysql>ALTER TABLE article ADD INDEX id;//给article表增加id索引
或者:
mysql>ALTER TABLE article ADD INDEX (id,order_id);给article表增加id索引,order_id索引
2、重建索引
重建索引在常规的数据库维护操作中经常使⽤。在数据库运⾏了较长时间后,索引都有损坏的可能,这时就需要重建。对数据重建索引可以起到提⾼检索效率。
mysql> REPAIR TABLE table_name QUICK;
3、查询数据表索引
mysql> SHOW INDEX FROM table_name;
4、删除索引
删除索引可以使⽤ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为⼀条语句处理,其格式如下:
mysql>DROP index index_name ON table_name (column list);
mysql>ALTER TABLE table_name DROP INDEX index_name (column list);
openstack中horizon服务的主要功能mysql>ALTER TABLE table_name DROP UNIQUE index_name (column list);
mysql>ALTER TABLE table_name DROP PRIMARY KEY index_name (column list);
在前⾯的三条语句中,都删除了table_name中的索引index_name。⽽在最后⼀条语句中,只在删除PRIMARY KEY索引中使⽤,因为⼀个表只可能有⼀个PRIMARY KEY索引,因此也可不指定索引名。如果没有创建PRIMARY KEY索引,但表具有⼀个或多个UNIQUE索引,则MySQL将删除第⼀个UNIQUE索引。如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论