mysql基礎:刪除數據庫,刪除表,重命名表

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

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *