周大胖子 发表于 2018-7-27 23:30:19

MYSQL 是 索引 和 mongodb 索引差不多

单列索引,组合索引 就和 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 (username(length))

);删除索引
DROP INDEX ON mytable;


唯一索引===上面的都是普通索引
唯一索引的列的值必须唯一,但是允许有空值。如果是组合索引,则列值的组合必须唯一。
唯一索引创建方式:
CREATE UNIQUE INDEX indexName ON mytable(username(length))
、修改表结构:
ALTER table mytable ADD UNIQUE (username(length))

创建表的时候直接指定
CREATE TABLE mytable(

ID INT NOT NULL,   

username VARCHAR(16) NOT NULL,

UNIQUE (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





页: [1]
查看完整版本: MYSQL 是 索引 和 mongodb 索引差不多