標籤:mysql 建表 唯一索引 drop 組合 建立索引 column 允許 alt
主鍵索引
??PRIMARY KEY索引僅是一個具有名稱PRIMARY的UNIQUE索引。這表示一個表只能包含一個PRIMARY KEY,因為一個表中不可能具有兩個同名的索引。
- ALTER TABLE ‘tablename‘ ADD PRIMARY KEY("column");
普通索引
- 直接建立索引:
CREATE INDEX ‘indexname‘ ON ‘tablename‘(‘column‘(‘account‘));
- 修改表結構的方式建立索引:
ALTER TABLE ‘tablename‘ ADD INDEX ‘indexname‘(‘column‘(‘account‘));
- 建立表的時候建立索引:
CREATE TABLE ‘tablename‘(
INDEX ‘indexname‘(‘column‘(‘account‘))
);
唯一索引
??唯一索引的列必須是唯一的,但是允許有null值。如果是複合式索引,則列值的組合必須唯一。
- 建立唯一索引
CREATE UNIQUE INDEX ‘indexname‘ ON ‘tablename‘(‘column‘(‘account‘));
- 改變表結構
ALTER TABLE ‘tablename‘ ADD UNIQUE ‘indexname‘(‘column‘(‘account‘));
- 建立表的時候建立唯一索引:
CREATE TABLE ‘tablename‘(
UNIQUE ‘indexname‘(‘column‘(‘account‘))
);
全文索引
??對text等文字欄位建立索引。
- 建立全文索引
CREATE FULLTEXT INDEX ‘indexname‘ ON ‘tablename‘(‘column‘);
- 改變表結構
ALTER TABLE person ADD FULLTEXT ‘indexname‘(‘column‘);
- 建立表的時候建立全文索引
CREATE TABLE ‘tablename‘(
FULLTEXT ‘indexname‘(‘column‘)
);
複合式索引
??複合式索引是最左首碼。
- 建立複合式索引
ALTER TABLE person ADD INDEX idx_lastname_firstname(lastname(10),firstname(10));
這樣子相當於建立了兩組複合式索引:
- -lastname
- -lastname,fistname
查看索引
- SHOW INDEX FROM ‘tablename‘;
刪除索引
- 刪除索引:
DROP INDEX ‘indexname‘ ON ‘tablename‘;
- 改變表結構:
ALTER TABLE ‘tablename‘ DROP INDEX ‘indexname‘;
- 刪除PRIMARY KEY索引
ALTER TABLE ‘tablename‘ DROP PRIMARY KEY;
MySQL索引建立、刪除、查看