萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql DROP TABLE,CREATE INDEX,drop index

mysql DROP TABLE,CREATE INDEX,drop index

mysql DROP TABLE,CREATE INDEX,drop index
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name,...]
[RESTRICT | CASCADE]
DROP TABLE 移除一個或多個表。所有的數據和表定義均被 移除,所以,一定要小心地使用這個命令!

在 MySQL 3.22 或更新的版本中,你可以使用關鍵詞 IF EXISTS 防止表不存在時發生錯誤。在 4.1 中,當使用 IF EXISTS 時,對於所有不存在的表,你將得到一個 NOTE。查看章節 4.5.6.9 SHOW WARNINGS | ERRORS。

RESTRICT and CASCADE 被允許是為了更容易的移植。目前,他們不起任何作用。

注意:DROP TABLE 將自動地提交當前活動的事務(除非你使用的是MySQL 4.1 ,並且使用了 TEMPORARY 關鍵詞)。

選項 TEMPORARY 在 4.0 中被忽略。在 4.1 中,這人選項按如下所示工作:

只移除臨時表。
不結束一個運行著的事務。
不會被檢查訪問權限。
使用 TEMPORARY 是一個很好的安全方式,它可以防止你意外地移除一個真實的表。

6.5.7 CREATE INDEX 句法


CREATE [UNIQUE|FULLTEXT] INDEX index_name
       ON tbl_name (col_name[(length)],... )
CREATE INDEX 句法在 MySQL 3.22 以前的版本中不做任何事情。在 3.22 或以後的版本中,CREATE INDEX 被映射到一個 ALTER TABLE 語句來創建索引。查看章節 6.5.4 ALTER TABLE 句法。

通常,在用 CREATE TABLE 創建表本身時你就創建表的所有索引。查看章節 6.5.3 CREATE TABLE 句法。CREATE INDEX 允許你在一個現有表上添加索引。

(col1,col2,...) 格式的列列表創建一個多列索引。索引值由給定的列值連接而成。

對於 CHAR 和 VARCHAR 列,使用 col_name(length) 句法,可以只用一個列的部分來創建索引。(對於 BLOB 和 TEXT 列,長度是必須的。)這裡的語句顯示使用 name 列的前 10 個字符創建一個索引:

mysql> CREATE INDEX part_of_name ON customer (name(10));
因為,大多數名字通常在前 10 個字符是不一樣的,這個索引不應該比以整個 name 創建的索引慢。同樣,使用部分列值創建的索引文件會更小一點,這將節省很多磁盤空間,也可以加速 INSERT 操作!

注意,如果你存在使用的是 MySQL 3.23.2 或更新的版本並且是 MyISAM 表類型,這時你才能在一個可以有 NULL 值的列上創建索引,以及在一個 BLOB/TEXT列上創建索引。

關於 MySQL 如何使用索引的更多信息,查看章節 5.4.3 MySQL 如何使用索引。

FULLTEXT 索引只能索引 VARCHAR 和 TEXT 列,而且只能應用於 MyISAM 表。FULLTEXT 索引在 MySQL 3.23.23 和更新的版本中可以使用。查看章節 6.8 MySQL 全文搜索。

6.5.8 DROP INDEX 句法

DROP INDEX index_name ON tbl_name
DROP INDEX 從表 tbl_name 移除一個名為 index_name 的索引。在 MySQL 3.22 先前的版本中不做任何事情。在 3.22 或以後的版本中,DROP INDEX 被映射到一個 ALTER TABLE 語句來移除索引

copyright © 萬盛學電腦網 all rights reserved