一、自動備份:將以下代碼保存為*.bat批處理腳本,然后再添加Windows定時作業,如每天凌晨2點執行:
set s=%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2%
mysqldump -u root -ppassword databasename > d:\databasename_%s%_bak.sql
說明:databasename 為數據庫名 password為數據庫密碼,系統自動以當前日期時間備份至指定目錄。
a.只導出表結構:mysqldump -uroot -–no-data test > test.txt
b.只導出a表的數據: mysqldump -uroot -–no-create-info test a> test.txt
【注意】:用mysqldump,如果不加任何參數,dump出來的文件,如果存在表則會先drop table,然后再create table
,最后insert數據。所以要特別注意。可以通過添加參數去掉drop或者直接去掉create,如mysqldump –no-create-info
、mysqldump –add-drop-table=’false’ ,當然最安全最正確的做法是導入之前先檢查文件,是否存在drop等命令會破壞原有表。
二、還原數據庫: mysql -u root -p databasename< d:\databasename.sql
2.mysqldump
導出整個庫的表結構
mysqldump -h鏈接名 -u用戶名 -P3306 -p -d 庫名 > a.sql
導出單張表的數據(包括drop、create語句)
mysqldump -h鏈接名 -u用戶名 -P3306 -p 庫名 表名 > a.sql
導出單張表的數據(只有insert語句)
mysqldump –no-create-info -h鏈接名 -u用戶名 -P3306 -p 庫名 表名 > a.sql
導出單張表的數據(條件過濾)
mysqldump –no-create-info –where=”id=1” -h鏈接名 -u用戶名 -P3306 -p 庫名 表名 > a.sql
注意:- -no-create-info 前面是兩個橫杠,csdn顯示有問題
3.登錄遠程數據庫
mysql -h 鏈接 -u登錄名 -P3306 -p
4.過濾一張表的數據到另一張表
insert into tablename values (select * from tablename where condition=?)