簡體   English   中英

使用 sqlalchemy 的 mariadb 的 Python 數據庫連接

[英]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://'

先決條件:

  • SQLAlchemy 1.4.0b1 可以通過pip install --pre sqlalchemy 安裝
  • 還應安裝 MariaDB 連接器/Python。 它有自己的系統依賴項,MariaDB Connector/C。

正如 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM