首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 入門教學(六):資料修改、備份與批次處理

     編輯:MySQL 資料庫相關知識

資料異動操作

新增欄位

ALTER TABLE mytable ADD COLUMN single CHAR(1);

修改資料

UPDATE mytable SET single='y' WHERE name='abccs';

新增記錄

INSERT INTO mytable VALUES ('abc','f','1966-08-17','china','n');

刪除記錄

DELETE FROM mytable WHERE name='abc';

刪除資料表

DROP TABLE table1, table2;

刪除資料庫

DROP DATABASE db_name;

資料庫備份與還原

備份(匯出)

在命令列(非 MySQL Shell)執行:

mysqldump -u root -p --opt db_name > backup.sql

常用參數說明:

  • --opt:啟用快速匯出優化(預設開啟)
  • --single-transaction:InnoDB 熱備份必備,避免鎖表
  • --routines --triggers --events:包含預存程序、觸發器、事件
  • -B db1 db2:同時備份多個資料庫

還原(匯入)

mysql -u root -p db_name < backup.sql

批次處理(Script 執行)

建立 batch.sql:

USE abccs;
SELECT * FROM mytable;
SELECT name, sex FROM mytable WHERE name='abccs';

執行方式:

mysql -u root -p < batch.sql                    # 直接顯示結果
mysql -u root -p < batch.sql | more             # 分頁檢視
mysql -u root -p < batch.sql > output.txt       # 導出至檔案

實務建議

  • 生產環境備份務必加上 --single-transaction --master-data=2 確保一致性
  • 定期驗證備份檔可正常還原,未測試的備份等於沒備份
  • 批次腳本建議加入錯誤處理與交易控制(START TRANSACTION; ... COMMIT;)
  • 大量資料異動時考慮分批次執行,避免長時間鎖表阻塞業務
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved