MySQL社区

标题: 可带判断条件的"DROP TABLE"语法及例子 [打印本页]

作者: kider    时间: 2007-7-26 15:04
标题: 可带判断条件的"DROP TABLE"语法及例子
作者:kider

DROP [TEMPORARY] TABLE [IF EXISTS]

    tbl_name [, tbl_name] ...

    [RESTRICT | CASCADE]



DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!

注意,对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP TABLE还会取消与被取消的表有关联的分区定义(.par)文件。

对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。

RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。

注释:除非您使用TEMPORARY关键词,DROP TABLE会自动提交当前的有效的事务。

TEMPORARY关键词具有以下作用:

·         语句只取消TEMPORARY表。

·         语句不会终止正在进行中的事务。

·         不会查验存取权。(TEMPORARY表仅对于创建该表的客户端是可见的,所以查验是不必要的。)

使用TEMPORARY是确保您不会意外取消一个非TEMPORARY表的良好方法。


例子:
    mysql> drop table if exists tablename;
    Query OK, 0 rows affected, 1 warning (0.00 sec)

        (如果不存在此表,只是警告,不会报错。)

[ 本帖最后由 kider 于 2007-7-26 15:39 编辑 ]
作者: mysqlkumao    时间: 2008-4-10 09:53
详细




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2