首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 表數據清空、刪除與結構修改全攻略:TRUNCATE vs DELETE、ALTER TABLE 八大操作

     編輯:MySQL 綜合教學

MySQL 表數據清空、刪除與結構修改全攻略:TRUNCATE vs DELETE、ALTER TABLE 八大操作

系統整理表級 DML 與 DDL 常用操作,重點對比 TRUNCATE 與 DELETE 差異,列舉 ALTER TABLE 八類結構變更語法,含備份、導出入、跨表拼接插入實用技巧。

一、清空表數據

特性DELETE FROM tblTRUNCATE TABLE tbl
速度逐行刪除,慢重建表,極快
日誌記錄每行,可回滾不記錄行日誌,不可回滾
自增 ID保留最大值,續增重置為 1
觸發器觸發 ON DELETE不觸發
鎖行鎖表鎖(元數據鎖)

選擇:需回滾/觸發器/保留自增 → DELETE;大表快速清零、重置自增 → TRUNCATE。

二、刪除特定數據

-- 1. 選庫/看表/看結構
USE db; SHOW TABLES; DESC tbl;

-- 2. 修改欄位類型 / 空非空
ALTER TABLE tbl MODIFY col VARCHAR(100) NOT NULL;
ALTER TABLE tbl CHANGE col col VARCHAR(100) NULL;

-- 3. 修改欄位名(可同時改類型/默認值)
ALTER TABLE tbl CHANGE old_col new_col INT UNSIGNED DEFAULT 0;

-- 4. 新增欄位(指定位置)
ALTER TABLE tbl ADD new_col VARCHAR(50) DEFAULT '' AFTER exist_col;

-- 5. 修改默認值
ALTER TABLE tbl ALTER col SET DEFAULT 'new_val';

-- 6. 修改資料類型
ALTER TABLE tbl CHANGE col col BIGINT;

-- 7. 新增主鍵自增列
ALTER TABLE tbl ADD id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY FIRST;

-- 8. 刪除欄位
ALTER TABLE tbl DROP COLUMN col;

四、備份、導出入、跨表拼接

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved