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

use*_*_12 1 python mysql

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

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

CREATE DATABASE test;
USE test;
source data.sql;
Run Code Online (Sandbox Code Playgroud)

但我想直接用python来做。是否可以?

JBi*_*gas 5

Yes you just need to read the file then execute the string contents on the cursor... something like this

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()
Run Code Online (Sandbox Code Playgroud)

  • 大多数 .sql 文件包含多个 sql 语句。为了通过 python 连接器工作,您需要在 `execute()` 方法调用中设置 `multi=True`。https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html (2认同)