3 回答
TA贡献1836条经验 获得超4个赞
我只是对这个主题感到困惑,并创建了一篇关于连接器字符串的简短博客文章。
以下解决方案适用于 Python 3:
要求
pip install SQLAlchemy
pip install PyMySQL
代码
import sqlalchemy
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://user:password@host/dbname'
# Test if it works
engine = sqlalchemy.create_engine(SQLALCHEMY_DATABASE_URI, echo=True)
print(engine.table_names())
是的,它确实是“mysql”而不是“mariadb”。
TA贡献1772条经验 获得超5个赞
只需使用 mysql+mysqldb 代替 MariaDB 引擎,它们的工作方式非常相似。
create_engine('mysql+mysqldb://username:password@host:port/databasename')
更新: 您还应该为 python2 安装 mysql-python
pip install mysql-python
或者 python3 的 mysqlclient:
pip install mysqlclient
TA贡献1786条经验 获得超11个赞
从 SQLAlchemy 1.4.0b1 开始,您可以使用 mariadb 方言和本地 mariadb 连接器。使用以下网址方案:'mariadb+mariadbconnector://'
.
先决条件:
可以通过pip install --pre sqlalchemy 安装 SQLAlchemy 1.4.0b1
还应安装 MariaDB 连接器/Python。它有自己的系统依赖项,MariaDB Connector/C。
添加回答
举报