如何使用mysql连接器执行.sql文件并将其保存在python中的数据库中?

如何使用mysql连接器执行.sql文件并将其保存在python中的数据库中?,python,mysql,Python,Mysql,我有一个.sql文件,我想知道我们是否可以使用mysql社区提供的mysql.connector python类在python中直接执行它 通常我可以使用这些查询在终端的mysql服务器中执行.sql文件 CREATE DATABASE test; USE test; source data.sql; 但是我想直接用python来做。可能吗?是的,您只需要读取文件,然后执行光标上的字符串内容。。。像这样的 mydb = mysql.connector.connect( host="loca

我有一个.sql文件,我想知道我们是否可以使用mysql社区提供的mysql.connector python类在python中直接执行它

通常我可以使用这些查询在终端的mysql服务器中执行.sql文件

CREATE DATABASE test;
USE test;
source data.sql;

但是我想直接用python来做。可能吗?

是的,您只需要读取文件,然后执行
光标上的字符串内容。。。像这样的

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword"
)
with open('something.sql', 'r') as f:
    with mydb.cursor() as cursor:
        cursor.execute(f.read(), multi=True)
    mydb.commit()

是的,您只需要读取文件,然后执行
光标上的字符串内容。。。像这样的

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword"
)
with open('something.sql', 'r') as f:
    with mydb.cursor() as cursor:
        cursor.execute(f.read(), multi=True)
    mydb.commit()

谢谢:)我只想问两个问题,当我的每个sql查询都是多行的时候,这行吗?此外,我如何使用(或)查询数据库(即,我的意思是如何检查表以显示创建的数据库的名称)?大多数.sql文件包含多个sql语句。要从python连接器实现这一点,您需要在
execute()
方法调用中设置
multi=True
@琼斯,谢谢你。另外,如何从.sql文件查询创建的数据库?我的意思是如何使用查询?例如,如何执行
show tables:
query?如果我使用mydb.execure('show tables:'),您将执行相同的操作
cursor.execute(“some sql命令”)
,但是您需要
获取结果
results=cursor.fetchall()
这里的results应该是一个iterable,你可以查看一下谢谢:)我有两个问题,当我的每个sql查询都是多行的时候,这行吗?此外,我如何使用(或)查询数据库(即,我的意思是如何检查表以显示创建的数据库的名称)?大多数.sql文件包含多个sql语句。要从python连接器实现这一点,您需要在
execute()
方法调用中设置
multi=True
@琼斯,谢谢你。另外,如何从.sql文件查询创建的数据库?我的意思是如何使用查询?例如,如何执行
show tables:
query?如果我使用mydb.execure('show tables:'),您将执行相同的操作
cursor.execute(“some sql命令”)
,但是您需要
获取结果
results=cursor.fetchall()
这里的results应该是一个可供查看的iterable