Python实现mysql数据库中的SQL文件生成和导入
本文旨在向读者介绍如何使用Python在mysql数据库中生成SQL文件并导入,为此将分为两部分进行讲解:生成SQL文件和导入SQL文件。
生成SQL文件
步骤一:创建数据库连接
首先,我们需要创建一个MySQL连接,在Python中使用pymysql
库可以非常方便地实现该功能,代码示例如下:
import pymysql
# 创建连接对象
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='test', charset='utf8mb4')
注:以上参数分别代表数据库的连接主机地址、端口号、用户名、密码、数据库名称以及字符集。
步骤二:创建游标对象
创建游标对象后可以使用数据库执行SQL语句,示例代码如下:
# 创建游标对象
cursor = conn.cursor()
步骤三:生成SQL语句
在通过Python创建数据库或者数据表时,可以自动生成SQL脚本,以下是生成创建数据库和创建数据表SQL脚本的示例代码:
# 创建数据库SQL语句
create_db_sql = "CREATE DATABASE IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 创建数据表SQL语句
create_table_sql = """
CREATE TABLE IF NOT EXISTS `user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`age` INT(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
"""
步骤四:将SQL脚本写入文件
在上述步骤完成后,我们就可以将生成的SQL脚本写入到文件当中,供后续使用。以下是将SQL脚本写入文件的示例代码:
# 生成SQL文件
with open('test.sql', 'w+') as f:
# 写入SQL语句
f.write(create_db_sql)
f.write(create_table_sql)
# 关闭游标对象
cursor.close()
# 提交事务,同时关闭连接对象
conn.commit()
conn.close()
导入SQL文件
导入SQL文件的操作相对比较简单,只需要执行如下两行代码即可:
# 导入SQL文件
os.system('mysql -hlocalhost -uroot -p123456 -D test < test.sql')
注:以上代码中的os.system
函数可以用于执行操作系统命令的函数。
示例
示例一:生成SQL脚本并导入
import pymysql
import os
# 创建连接对象
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='test', charset='utf8mb4')
# 创建游标对象
cursor = conn.cursor()
# 创建数据库SQL语句
create_db_sql = "CREATE DATABASE IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 创建数据表SQL语句
create_table_sql = """
CREATE TABLE IF NOT EXISTS `user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`age` INT(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
"""
# 生成SQL文件
with open('test.sql', 'w+') as f:
# 写入SQL语句
f.write(create_db_sql)
f.write(create_table_sql)
# 导入SQL文件
os.system('mysql -hlocalhost -uroot -p123456 -D test < test.sql')
# 关闭游标对象
cursor.close()
# 提交事务,同时关闭连接对象
conn.commit()
conn.close()
示例二:从SQL脚本导入
import os
# 导入SQL文件
os.system('mysql -hlocalhost -uroot -p123456 -D test < test.sql')
以上两个示例分别演示了如何生成SQL脚本并导入以及如何从SQL脚本导入数据到mysql数据库中。读者可以根据自己的实际需要进行修改和使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现mysql数据库中的SQL文件生成和导入 - Python技术站