|
单列索引,组合索引 就和 MONGODB 差不多的意思: 先创建一个索引 意思意思:- CREATE INDEX indexName ON mytable(username(length));
复制代码 如果是CHAR,VARCHAR 类型, length 可以小于字段实际长度; 如果 BLOB 和 TEXT 类型,必须指定 length
修改表结构添加索引- ALTER table tableName ADD INDEX indexName(columnName)
复制代码
创建表的时候直接指定索引- CREATE TABLE mytable(
-
- ID INT NOT NULL,
-
- username VARCHAR(16) NOT NULL,
-
- INDEX [indexName] (username(length))
-
- );
复制代码 删除索引- DROP INDEX [indexName] ON mytable;
复制代码
唯一索引=== 上面的都是普通索引
唯一索引的列的值必须唯一,但是允许有空值。如果是组合索引,则列值的组合必须唯一。
唯一索引创建方式:- CREATE UNIQUE INDEX indexName ON mytable(username(length))
复制代码 、修改表结构:- ALTER table mytable ADD UNIQUE [indexName] (username(length))
复制代码
创建表的时候直接指定- CREATE TABLE mytable(
-
- ID INT NOT NULL,
-
- username VARCHAR(16) NOT NULL,
-
- UNIQUE [indexName] (username(length))
-
- );
复制代码
使用ALTER 命令添加和删除索引“- 有四种方式来添加数据表的索引:
- ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。
- ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。
- ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。
- ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。
复制代码 以下实例为在表中添加索引。- ALTER TABLE testalter_tbl ADD INDEX (c);
复制代码
还可以在ALTER 命令中使用DROP 子句来删除索引。- ALTER TABLE testalter_tbl DROP INDEX c;
复制代码
使用ALTER 命令添加或者删除主键: 【确保主键值不为空】- mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
- mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
复制代码 也可以ALTER 删除主键:- ALTER TABLE testalter_tbl DROP PRIMARY KEY;
复制代码 删除主键时 只需指定PRMARY, 但是在删除索引时,你必须知道索引名
显示索引信息- SHOW INDEX FROM table_name; \G
复制代码
|
|