当前位置:数据库 > MySQL >>

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 语句来移除索引

补充:数据库,mysql教程 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,