mysql怎么清空表和刪減表?

mysql中清空表的方法:使用“TRUNCATE ?表名”語句,可以完全清空一個表;刪減表的方法:使用“DROP TABLE 表名1 [ ,表名2, 表名3 …];”語句。

mysql怎么清空表和刪減表?

mysql清空表

MySQL 提供了 DELETE 和 TRUNCATE 關鍵字來刪除表中的數據。

TRUNCATE?關鍵字用于完全清空一個表。其語法格式如下:

TRUNCATE?[TABLE]?表名

其中,TABLE 關鍵字可省略。

實例

新建表 tb_student_course,插入數據并查詢,SQL 語句和運行結果如下:

mysql>?CREATE?TABLE?`tb_student_course`?( ????->?`id`?int(4)?NOT?NULL?AUTO_INCREMENT, ????->?`name`?varchar(25)?NOT?NULL, ????->?PRIMARY?KEY?(`id`) ????->?); Query?OK,?0?rows?affected?(0.04?sec)  mysql>?INSERT?INTO?tb_student_course(name)?VALUES?('Java'),('MySQL'),('Python'); Query?OK,?3?rows?affected?(0.05?sec) Records:?3??Duplicates:?0??Warnings:?0  mysql>?SELECT?*?FROM?tb_student_course; +----+--------+ |?id?|?name???| +----+--------+ |??1?|?Java???| |??2?|?MySQL??| |??3?|?Python?| +----+--------+ 3?rows?in?set?(0.00?sec)

使用 TRUNCATE 語句清空 tb_student_course 表中的記錄,SQL 語句和運行結果如下:

mysql>?TRUNCATE?TABLE?tb_student_course; Query?OK,?0?rows?affected?(0.04?sec) mysql>?SELECT?*?FROM?tb_student_course; Empty?set?(0.00?sec)

mysql刪減表

在?MySQL?數據庫中,對于不再需要的數據表,我們可以將其從數據庫中刪除。

在刪除表的同時,表的結構和表中所有的數據都會被刪除,因此在刪除數據表之前最好先備份,以免造成無法挽回的損失。

基本語法

使用 DROP TABLE 語句可以刪除一個或多個數據表,語法格式如下:

DROP?TABLE?[IF?EXISTS]?表名1?[?,表名2,?表名3?...]

對語法格式的說明如下:

  • 表名1, 表名2, 表名3 …表示要被刪除的數據表的名稱。DROP TABLE 可以同時刪除多個表,只要將表名依次寫在后面,相互之間用逗號隔開即可。

  • IF EXISTS 用于在刪除數據表之前判斷該表是否存在。如果不加 IF EXISTS,當數據表不存在時 MySQL 將提示錯誤,中斷 SQL 語句的執行;加上 IF EXISTS 后,當數據表不存在時 SQL 語句可以順利執行,但是會發出警告(warning)。

兩點注意:

  • 用戶必須擁有執行 DROP TABLE 命令的權限,否則數據表不會被刪除。

  • 表被刪除時,用戶在該表上的權限不會自動刪除。

實例

選擇數據庫 test_db,創建 tb_emp3 數據表,輸入的 SQL 語句和運行結果如下所示。

mysql>?USE?test_db; Database?changed mysql>?CREATE?TABLE?tb_emp3 ????->?( ????->?id?INT(11), ????->?name?VARCHAR(25), ????->?deptId?INT(11), ????->?salary?FLOAT ????->?); Query?OK,?0?rows?affected?(0.27?sec) mysql>?SHOW?TABLES; +--------------------+ |?Tables_in_test_db??| +--------------------+ |?tb_emp2????????????| |?tb_emp3????????????| +--------------------+ 2?rows?in?set?(0.00?sec)

由運行結果可以看出,test_tb 數據庫中有 tb_emp2 和 tb_emp3 兩張數據表。

我們來刪除數據表 tb_emp3,輸入的 SQL 語句和運行結果如下所示:

mysql>?DROP?TABLE?tb_emp3; Query?OK,?0?rows?affected?(0.22?sec) mysql>?SHOW?TABLES; +--------------------+ |?Tables_in_test_db??| +--------------------+ |?tb_emp2????????????| +--------------------+ 1?rows?in?set?(0.00?sec)

執行結果可以看到,test_db 數據庫的數據表列表中已經不存在名稱為 tb_emp3 的表,刪除操作成功。

推薦教程:mysql視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享