![](/img/trans.png)
[英]Python Database connection for informix DB using sqlalchemy
[英]Python Database connection for mariadb using sqlalchemy
我是python的新手。 我正在尝试使用 python 建立与本地网络上托管的 mariadb 数据库的数据库连接。 我正在使用 sqlalchmemy 建立连接。 但是面对一些错误,这是我的代码
from sqlalchemy import create_engine
engine = create_engine('MariaDBDialect://username:password@host:port/databasename')
我得到的错误是
`Can't load plugin: sqlalchemy.dialects:MariaDBDialect`
如果有人知道我做错了什么,请告诉我。 提前致谢。
我只是对这个主题感到困惑,并创建了一篇关于连接器字符串的简短博客文章。
以下解决方案适用于 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”。
只需使用 mysql+mysqldb 代替 MariaDB 引擎,它们的工作方式非常相似。
create_engine('mysql+mysqldb://username:password@host:port/databasename')
更新:您还应该为 python2 安装 mysql-python
pip install mysql-python
或者python3的mysqlclient:
pip install mysqlclient
从 SQLAlchemy 1.4.0b1 开始,您可以使用 mariadb 方言和本地 mariadb 连接器。 使用以下 url 方案: 'mariadb+mariadbconnector://'
。
先决条件:
正如 Stepan 所提到的,SQLAlchemy 现在直接支持 MariaDB 方言,这允许您使用官方的 MariaDB Python 连接器。
例如:
import sqlalchemy
# Define the MariaDB engine using MariaDB Connector/Python
engine = sqlalchemy.create_engine("mariadb+mariadbconnector://app_user:Password123!@127.0.0.1:3306/database_name")
有关更多详细信息,您可以在此处查看有关该主题的官方 MariaDB 博客文章 -> https://mariadb.com/resources/blog/using-sqlalchemy-with-mariadb-connector-python-part-1/
以及在第 2 部分中更深入地设置对象关系 -> https://mariadb.com/resources/blog/using-sqlalchemy-with-mariadb-connector-python-part-2/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.