2017-07-19 59 views
4

我想通過命令行與以下爲以下兩個條件導出MySQL數據庫中指定,如何導出mysql數據庫結構僅throught命令行,但出口某些特定的表從列表中

  1. 導出數據庫表中的數據只有結構。
  2. 但是在導出數據時,我想要導出指定的指定表數據和結構。

我有一個數據庫,其中包含60個表,並從他們,一個名爲Country表包含靜態值。所以我想在導出的文件中導出它的數據,其餘的表只包含導出文件中的結構。

任何人都可以建議我MySQL命令來基於上述條件轉儲數據庫嗎?

回答

1

第一種方法:

mysqldump --no-data -h <host> -u <username> -p<password> <database> > tables.sql

這將轉儲數據庫表結構到文件tables.sql

--no-data選項指定不轉儲表內容。

方法二:

(如果你想更多地與產生.sql文件批處理這可能是有用的)

  • 使用show create table命令查看實際的命令來創建一張桌子。
  • 創建一個Bash腳本,爲每個要導出的表執行該MySQL命令。將輸出從show create table <table_name>輸出到文本文件。
1

我認爲你需要爲此啓動2個單獨的命令。

mysqldump -u root -p password --no-data --ignore-table=db_name.tbl_name db_name > db_name.sql 

以上查詢將轉儲數據庫的所有結構,而無需您的國家表結構和數據。

mysqldump -u root -p password db_name tbl_name >> db_name.sql 

而這個將轉儲國家表的結構和數據到相同的文件。

+0

感謝onkar上述解決方案正常工作。但是如果假設我們有多個靜態表被忽略。 –

+0

您可以在單個命令中使用多個忽略語句 --ignore-table = db_name.tbl_name1 --ignore-table = db_name.tbl_name2 像這樣。 – Onkar

+0

如果你在試圖做的事情上取得成功,請接受答案。 – Onkar

相關問題