# python 中导入导出数据库到.sql文件
导出数据库数据的命令行
# mysqldump 命令
sqlfromat = "%s -h%s -u%s -p%s -P%s %s >%s"
# 生成相应的sql语句
sql = (sqlfromat % ('mysqldump ',
config.host, # 127.0.0.1
config.admin, # 用户名
config.password, # 密码
config.port, # 端口
config.db, # 数据库
filename)) # 文件名 ***.sql
os.system(sql)
这个是将结构和数据都导出来了,后面记录下几个其他方式的导出:
1、导出数据和表结构——将特定数据库特定表中的数据和表格结构和数据全部返回
mysqldump -uadmin -h127.0.0.1 -p'pwd' -P3306 test > test.sql
2、导出表结构却不导出表数据——只返回特定数据库特定表格的表格结构,不返回数据,添加“-d”命令参数
mysqldump -uadmin -h127.0.0.1 -p'pwd' -P3306 -d test > test.sql
3、导出表结构和满足挑顶条件的表数据——只返回特定数据库中特定表的表格结构和满足特定条件的数据
mysqldump -uadmin -h127.0.0.1 -p'pwd' -P3306 test --where=" ctime>'2017-01-01' and ctime<'2017-06-30'" > test.sql
4、导出数据却不导出表结构——只返回特定数据库中特定表格的数据,不返回表格结构,添加“-t”命令参数
mysqldump -uadmin -h127.0.0.1 -p'pwd' -P3306 -t test > test.sql
5、导出特定数据库的所有表格的表结构及其数据,添加“--databases ”命令参数
mysqldump -uadmin -h127.0.0.1 -p'pwd' -P3306 --databases test > test.sql
导入数据库命令行
file = os.path.join(sql_dir, 'test.sql')
sqlfromat = "%s -h%s -u%s -p%s -P%s %s <%s"
sql = (sqlfromat % ('mysql ',
config.host,
config.admin,
config.password,
config.port,
config.db,
file))
os.system(sql)
← 2019-12-23 2020-03-30 →