回覆列表
  • 1 # 使用者8136874217981

    在執行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)

    DROP INDEX index_name ON talbe_name

    ALTER TABLE table_name DROP INDEX index_name

    ALTER TABLE table_name DROP PRIMARY KEY

    第3條語句只在刪除PRIMARY KEY索引時使用,因為一個表只可能有一個PRIMARY KEY索引,因此不需要指定索引名。如果沒有建立PRIMARY KEY索引,但表具有一個或多個UNIQUE索引,則MySQL將刪除第一個UNIQUE索引。

  • 中秋節和大豐收的關聯?
  • 一碗正宗的甘泉熗鍋面該怎麼做?