使用 pymssql 使用 Python 导入 .bak MySQL 数据库

Posted

技术标签:

【中文标题】使用 pymssql 使用 Python 导入 .bak MySQL 数据库【英文标题】:Importing .bak MySQL database with Python using pymssql 【发布时间】:2021-10-12 15:54:18 【问题描述】:

标题很清楚。

我尝试了以下代码:

import _mssql

conn = _mssql.connect(server='', user='', password='', database='')
conn.execute_non_query("IF EXISTS (SELECT 0 FROM sys.databases WHERE name = 'mydb') BEGIN ALTER DATABASE mydb MODIFY NAME = mydb_old END")
conn.execute_non_query("RESTORE DATABASE mydb FROM DISK='C:\mydb.bak'")

但我收到以下错误:没有名为“_mssql”的模块。 我有 pymssql 2.2.2 版本,我使用 Python 3.9。

我只是想从这个数据库中读写,我只有 .bak 文件。我对 SQL 很陌生,所以我可能做错了?我只有一个 .bak 文件,没有别的。

感谢您的宝贵时间。

【问题讨论】:

您是否正在尝试将数据库还原到 SQLServer 数据库? 如果一切都失败了,您可以随时查看手册dev.mysql.com/doc/connector-python/en/… 老实说,我真的不知道自己在做什么。您所指的手册和我查看的所有其他文档总是有一个用户名和一个我没有的密码,因为我只有一个 .bak 文件。 你错过了重点,_mssql 是连接到 SQLServer (Microsoft) 数据库而不是 MySQL 服务器数据库的连接器 @RiggsFolly .bak 文件是ms sql server 的备份文件,源码中的restore sql 语句也是ms sql 的。 OP 只是将 mysql 与 ms sql 混为一谈。 【参考方案1】:

如 cmets 中所述:

MySQL MS SQL

而且我必须填写 server = ""、user = "" 等...

【讨论】:

以上是关于使用 pymssql 使用 Python 导入 .bak MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何使用pymssql python插入但忽略相同的日期标签

导入 pymssql 时出错

python 3.5(Anaconda 包)上的 Pymssql 问题:Dll 加载失败:找不到特定模块

在 OS X 上构建 pymssql

python - 使用 python 和 pymssql 获取一系列行号之间的行

pymssql(python 模块)无法使用临时表