我想通过命令行与以下为以下两个条件导出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