mysqldump是mysql用於轉存儲數據庫的實用程序。它主要產生一個SQL腳本,其中包含從頭從新建立數據庫所必需的命令CREATE TABLE INSERT等。mysql
下面咱們詳細介紹一下mysqldump導出的各類實例:sql
1 導出一個數據庫的結構數據庫
mysqldump -d dbname -uroot -p > dbname.sql函數
2 導出多個數據庫的結構事件
mysqldump -d -B dbname1 dbname2 -uroot -p > dbname.sqlip
3 導出一個數據庫中數據(不包含結構)event
mysqldump -t dbname -uroot -p > dbname.sqltable
4 導出多個數據庫中數據(不包含結構)程序
mysqldump -t -B dbname1 dbname2 -uroot -p > dbname.sql總結
5 導出一個數據庫的結構以及數據
mysqldump dbname -uroot -p > dbname.sql
6 導出多個數據庫的結構以及數據
mysqldump -B dbname1 dbname2 -uroot -p > dbname.sql
7 導出一個數據庫中一個表的結構
mysqldump -d dbname1 tablename -uroot -p > tablename.sql
8 導出一個數據庫中多個表的結構
mysqldump -d -B dbname1 --tables tablename1 tablename2 -uroot -p > tablename.sql
9 導出一個數據庫中一個表的數據(不包含結構)
mysqldump -t dbname1 tablename -uroot -p > tablename.sql
10 導出一個數據庫中多個表的數據(不包含結構)
mysqldump -t -B dbname1 --tables tablename1 tablename2 -uroot -p > tablename.sql
11 導出一個數據庫中一個表的結構以及數據
mysqldump dbname1 tablename -uroot -p > tablename.sql
12 導出一個數據庫中多個表的結構以及數據
mysqldump -B dbname1 --tables tablename1 tablename2 -uroot -p > tablename.sql
存儲過程&函數操做
1 只導出存儲過程和函數(不導出結構和數據,要同時導出結構的話,須要同時使用-d)
mysqldump -R -ndt dbname -u root -p > dbname.sql
2 只導出事件
mysqldump -E -ndt dbname -u root -p > dbname.sql
3 不導出觸發器(觸發器是默認導出的–triggers,使用–skip-triggers屏蔽導出觸發器)
mysqldump --skip-triggers dbname1 -u root -p > dbname.sql
把導出的數據導入到數據庫
mysql -u root -p
use dbname;
source dbname.sql
總結一下:
-d 結構(--no-data:不導出任何數據,只導出數據庫表結構)
-t 數據(--no-create-info:只導出數據,而不添加CREATE TABLE 語句)
-n (--no-create-db:只導出數據,而不添加CREATE DATABASE 語句)
-R (--routines:導出存儲過程以及自定義函數)
-E (--events:導出事件)
--triggers (默認導出觸發器,使用--skip-triggers屏蔽導出)
-B (--databases:導出數據庫列表,單個庫時可省略)
--tables 表列表(單個表時可省略)
①同時導出結構以及數據時可同時省略-d和-t ②同時 不 導出結構和數據可以使用-ntd ③只導出存儲過程和函數可以使用-R -ntd ④導出全部(結構&數據&存儲過程&函數&事件&觸發器)使用-R -E(至關於①,省略了-d -t;觸發器默認導出) ⑤只導出結構&函數&事件&觸發器使用 -R -E -d