我想通過命令行與以下爲以下兩個條件導出MySQL數據庫中指定,如何導出mysql數據庫結構僅throught命令行,但出口某些特定的表從列表中
- 導出數據庫表中的數據只有結構。
- 但是在導出數據時,我想要導出指定的指定表數據和結構。
我有一個數據庫,其中包含60個表,並從他們,一個名爲Country
表包含靜態值。所以我想在導出的文件中導出它的數據,其餘的表只包含導出文件中的結構。
任何人都可以建議我MySQL命令來基於上述條件轉儲數據庫嗎?
我想通過命令行與以下爲以下兩個條件導出MySQL數據庫中指定,如何導出mysql數據庫結構僅throught命令行,但出口某些特定的表從列表中
我有一個數據庫,其中包含60個表,並從他們,一個名爲Country
表包含靜態值。所以我想在導出的文件中導出它的數據,其餘的表只包含導出文件中的結構。
任何人都可以建議我MySQL命令來基於上述條件轉儲數據庫嗎?
第一種方法:
mysqldump --no-data -h <host> -u <username> -p<password> <database> > tables.sql
這將轉儲數據庫表結構到文件tables.sql
。
--no-data
選項指定不轉儲表內容。
方法二:
(如果你想更多地與產生.sql
文件批處理這可能是有用的)
show create table
命令查看實際的命令來創建一張桌子。show create table <table_name>
輸出到文本文件。我認爲你需要爲此啓動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
而這個將轉儲國家表的結構和數據到相同的文件。
感謝onkar上述解決方案正常工作。但是如果假設我們有多個靜態表被忽略。 –
您可以在單個命令中使用多個忽略語句 --ignore-table = db_name.tbl_name1 --ignore-table = db_name.tbl_name2 像這樣。 – Onkar
如果你在試圖做的事情上取得成功,請接受答案。 – Onkar