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會自動恢復到原來的狀態,不用擔心數據丟失或者出現錯誤!