mysqldump匯入儲存過程和其註釋
mysqldump匯出儲存過程時,會有註釋的。但是在用mysql命令匯入時,如果不加說明,註釋會自動過濾掉。為了連同註釋一起匯入進去,可以新增--comment引數。
例子:
匯出儲存過程:
if %time:~0,2% lss 10 (
set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_0%time:~1,1%
)else (
set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%
)
set date=%date:~0,4%-%date:~5,2%-%date:~8,2%
set v_backup_file_name=xedk_%ymd%_bak.sql
set v_backup_error_name=xedk_%ymd%_error.txt
mysqldump -uroot -h192.168.2.154 -P 3308 -p"root" --log-error=D:\DBStruct_%v_backup_error_name% -ntd -R --skip-triggers -f test >"D:\DBStruct_%v_backup_file_name%"
引數說明:
--log-error 將匯出過程中的錯誤日誌記錄在此引數指示的路徑中
-n 即--no-create-db,只匯出資料,而不新增CREATE DATABASE 語句
-t 即--no-create-info,只匯出資料,而不新增CREATE TABLE 語句
-d 即--no-data,不匯出任何資料,只匯出資料庫表結構
-R 即--routines,匯出儲存過程和自定義函式
--skip-triggers 匯出時遮蔽觸發器
-f 強制匯出,就算中間有錯誤也不中斷,跳過錯誤繼續導。
test 這裡是我的測試庫名
總結:該命令就是將test庫中的函式單獨匯出,而不匯出表結構以及相關資料已經觸發器等。
(備註:
mysqldump -uroot -p"root" -ntd -R --skip-triggers -f test >"D:\DBStruct_test1.sql"
只匯出了儲存過程
mysqldump -uroot -p"root" -td -R --skip-triggers -f test >"D:\DBStruct_test2.sql"
只匯出了儲存過程,匯出結果和上面沒什麼區別
mysqldump -uroot -p"root" -d -R --skip-triggers -f test >"D:\DBStruct_test3.sql"
只匯出表結構和儲存過程
mysqldump -uroot -p"root" -R --skip-triggers -f test >"D:\DBStruct_test4.sql"
雖然條件寫的是隻匯出儲存過程,但是還是會把表結構和表資料一起匯出。
mysqldump -uroot -p"root" --single-transaction -B test --tables test_parm >"D:\DBData_test.sql"
匯出test庫中的表test_parm的表結構以及表資料,-B指示哪個資料庫,--tables指示哪張表。
)
匯入:
mysql -uroot -p"root" -P 3308 --comment test < “D:\DBStruct_xedk_2016-10-11_02_bak.sql” 2> "D:\XEDKDBbak\errorDBSturct.txt"
將匯出的檔案匯入到test庫中,並且將匯入過程中報的錯記錄在檔案D:\XEDKDBbak\errorDBSturct.txt中。
例子:
匯出儲存過程:
if %time:~0,2% lss 10 (
set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_0%time:~1,1%
)else (
set ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%
)
set date=%date:~0,4%-%date:~5,2%-%date:~8,2%
set v_backup_file_name=xedk_%ymd%_bak.sql
set v_backup_error_name=xedk_%ymd%_error.txt
mysqldump -uroot -h192.168.2.154 -P 3308 -p"root" --log-error=D:\DBStruct_%v_backup_error_name% -ntd -R --skip-triggers -f test >"D:\DBStruct_%v_backup_file_name%"
引數說明:
--log-error 將匯出過程中的錯誤日誌記錄在此引數指示的路徑中
-n 即--no-create-db,只匯出資料,而不新增CREATE DATABASE 語句
-t 即--no-create-info,只匯出資料,而不新增CREATE TABLE 語句
-d 即--no-data,不匯出任何資料,只匯出資料庫表結構
-R 即--routines,匯出儲存過程和自定義函式
--skip-triggers 匯出時遮蔽觸發器
-f 強制匯出,就算中間有錯誤也不中斷,跳過錯誤繼續導。
test 這裡是我的測試庫名
總結:該命令就是將test庫中的函式單獨匯出,而不匯出表結構以及相關資料已經觸發器等。
(備註:
mysqldump -uroot -p"root" -ntd -R --skip-triggers -f test >"D:\DBStruct_test1.sql"
只匯出了儲存過程
mysqldump -uroot -p"root" -td -R --skip-triggers -f test >"D:\DBStruct_test2.sql"
只匯出了儲存過程,匯出結果和上面沒什麼區別
mysqldump -uroot -p"root" -d -R --skip-triggers -f test >"D:\DBStruct_test3.sql"
只匯出表結構和儲存過程
mysqldump -uroot -p"root" -R --skip-triggers -f test >"D:\DBStruct_test4.sql"
雖然條件寫的是隻匯出儲存過程,但是還是會把表結構和表資料一起匯出。
mysqldump -uroot -p"root" --single-transaction -B test --tables test_parm >"D:\DBData_test.sql"
匯出test庫中的表test_parm的表結構以及表資料,-B指示哪個資料庫,--tables指示哪張表。
)
匯入:
mysql -uroot -p"root" -P 3308 --comment test < “D:\DBStruct_xedk_2016-10-11_02_bak.sql” 2> "D:\XEDKDBbak\errorDBSturct.txt"
將匯出的檔案匯入到test庫中,並且將匯入過程中報的錯記錄在檔案D:\XEDKDBbak\errorDBSturct.txt中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28497416/viewspace-2126127/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用mysqldump只匯出資料庫的表結構、儲存過程和函式MySql資料庫儲存過程函式
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- MySQL儲存過程的匯出說明MySql儲存過程
- GreenPlum儲存過程的原始碼匯出儲存過程原始碼
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式
- 匯出系統表中的儲存過程和函式儲存過程函式
- 儲存過程入門初識儲存過程
- mysql 匯入匯出資料庫以及函式、儲存過程的介紹MySql資料庫函式儲存過程
- mysql 儲存過程和事件排程MySql儲存過程事件
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- 兩種SQL分頁方法儲存過程和遊標儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 儲存過程儲存過程
- Excel資料匯入SQL Server2000的儲存過程ExcelSQLServer儲存過程
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- mysql儲存函過程和儲存函式都屬於儲存程式MySql儲存函式
- 儲存過程與儲存函式儲存過程儲存函式
- Oracle儲存過程Oracle儲存過程
- 使用儲存過程儲存過程
- sybase儲存過程儲存過程
- java儲存過程Java儲存過程
- 管理儲存過程儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- MySQL入門系列:儲存程式(三)之儲存過程簡介MySql儲存過程
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- MySQL儲存過程的建立和使用MySql儲存過程
- mybatis呼叫檢視和儲存過程MyBatis儲存過程
- 關於hibernate 和 儲存過程儲存過程
- MySQL的寫入資料儲存過程MySql儲存過程
- 實戰儲存過程排程過程儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle