欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql基础:删除数据库,删除表,重命名表_MySQL

程序员文章站 2022-03-15 16:42:26
...
bitsCN.com

mysql基础:删除数据库,删除表,重命名表

============删除数据库=============

DROP DATABASE用于取消数据库中的所用表格和取消数据库。使用此语句时要非常小心!如果要使用DROP DATABASE,您需要获得数据库DROP权限。IF EXISTS用于防止当数据库不存在时发生错误。

也可以使用DROP SCHEMA。

////////////删除jack和tmp数据库/////////////[sql] mysql> drop database jack;  Query OK, 0 rows affected (0.49 sec)  mysql> drop schema tmp;  Query OK, 0 rows affected (0.33 sec) 

如果您对一个带有符号链接的数据库使用DROP DATABASE,则链接和原数据库都被取消。

DROP DATABASE会返回已被取消的表的数目。此数目相当于被取消的.frm文件的数目。

在正常操作中MySQL自身会创建出一些文件和目录。DROP DATABASE语句会从给定的数据库目录中取消这些文件和目录:

================删除表================语法:DROP [TEMPORARY] TABLE [IF EXISTS]    tbl_name [, tbl_name] ...    [RESTRICT | CASCADE]

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

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

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

///////////删除表//////////////[sql] mysql> drop table err_table;  Query OK, 0 rows affected (0.65 sec)  ================重命名表==============[sql] mysql> show tables;  +----------------------+  | Tables_in_monitor_db |  +----------------------+  | channel_table        |  | err_table            |  | log_table            |  +----------------------+  3 rows in set (0.00 sec)  mysql> rename table err_table to err,channel_table to channel;  Query OK, 0 rows affected (0.01 sec)  mysql>   

两个表的名字对换:

语法:

RENAME TABLE old_table TO tmp_table,             new_table TO old_table,             tmp_table TO new_table;

实例:

[sql] mysql> rename table err to tmp,channel to err,tmp to channel;  Query OK, 0 rows affected (0.00 sec)  mysql>   

如果两个数据库存在与同一个文件系统中,可以将一个数据库的表重命名并且移动到另一个表中

语法:RENAME TABLE current_db.tbl_name TO other_db.tbl_name;

实例:

[sql] mysql> rename table monitor_db.log_table to jack2.jack;  Query OK, 0 rows affected (0.02 sec)  

注:如果在重命名过程中遇到了错误,那么mysql会自动恢复到原来的状态,不用担心数据丢失或者出现错误!

bitsCN.com