我想通过命令行导出MySQL数据库,具有以下两个条件,
我有一个包含60个表的数据库,其中一个名为Country
的表包含静态值。所以我想在导出的文件中导出它的数据,其余的表只包含导出文件中的结构。
根据上述条件,任何人都可以建议我使用MySQL命令转储数据库吗?
答案 0 :(得分:1)
第一种方法:
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>
传输到文本文件。答案 1 :(得分: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
这个将把Country表的结构和数据转储到同一个文件中。