In diesem Artikel werden hauptsächlich verschiedene Möglichkeiten zum Herstellen einer Verbindung zu MySQL mithilfe von Python vorgestellt. Sie können eine angemessene Verbindungsmethode entsprechend der tatsächlichen Situation auswählen.
Obwohl viele NoSQL-Datenbanken populär geworden sind In den letzten Jahren ist es großartig, aber relationale Datenbanken wie MySQL gehören immer noch zu den Mainstream-Datenbanken im Internet. Jeder, der Python lernt, muss eine Datenbank gut beherrschen, egal ob er Datenanalyse, Webcrawler, Webentwicklung oder maschinelles Lernen betreibt Wenn Sie lernen, können Sie nicht darauf verzichten, sich mit Datenbanken zu befassen, und MySQL ist die beliebteste Datenbank. In diesem Artikel werden verschiedene Möglichkeiten zum Betrieb von MySQL in Python vorgestellt. Sie können entsprechend der tatsächlichen Situation während des tatsächlichen Entwicklungsprozesses auswählen.
1. MySQL-Python
MySQL-Python, auch MySQLdb genannt, ist der beliebteste Treiber für Python, um eine Verbindung zu MySQL herzustellen Es wird auch von vielen Frameworks verwendet, die auf dieser Bibliothek basieren. Leider unterstützt es nur Python2. Es ist grundsätzlich veraltet und wird durch seine Derivate ersetzt.
# 前置条件 sudo apt-get install python-dev libmysqlclient-dev # Ubuntu sudo yum install python-devel mysql-devel # Red Hat / CentOS # 安装 pip install MySQL-python
Windows wird direkt installiert, indem Sie die exe-Datei herunterladen. Antworten Sie mit „win“ auf das öffentliche Konto, um den Download-Link zu erhalten
#!/usr/bin/python import MySQLdb db = MySQLdb.connect( host="localhost", # 主机名 user="john", # 用户名 passwd="megajonhy", # 密码 db="jonhydb") # 数据库名称 # 查询前,必须先获取游标 cur = db.cursor() # 执行的都是原生SQL语句 cur.execute("SELECT * FROM YOUR_TABLE_NAME") for row in cur.fetchall(): print(row[0]) db.close()
2. mysqlclient
Aufgrund des Verfalls von MySQL-Python erschien seine Fork-Version mysqlclient später, das vollständig kompatibel mit MySQLdb ist, das auch Python3.x unterstützt und ein abhängiges Tool von Django ORM ist. Wenn Sie natives SQL zum Betrieb der Datenbank verwenden möchten, wird dieser Treiber empfohlen. Die Installationsmethode ist die gleiche wie bei MySQLdb. Die entsprechende Version des WHL-Pakets finden Sie unter https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient.
# Windows安装 pip install some-package.whl # linux 前置条件 sudo apt-get install python3-dev # debian / Ubuntu sudo yum install python3-devel # Red Hat / CentOS brew install mysql-connector-c # macOS (Homebrew) pip install mysqlclient
3. PyMySQL
PyMySQL ist ein in reinem Python implementierter Treiber. Sein größtes Merkmal ist möglicherweise, dass seine Installationsmethode nicht so umständlich ist.
pip install PyMySQL # 为了兼容mysqldb,只需要加入 pymysql.install_as_MySQLdb()
Ein Beispiel
import pymysql conn = pymysql.connect(host='127.0.0.1', user='root', passwd="xxx", db='mysql') cur = conn.cursor() cur.execute("SELECT Host,User FROM user") for r in cur: print(r) cur.close() conn.close()
4 🎜> Der Prozess des Schreibens von nativem SQL ist sehr umständlich, mit repetitivem Code und ohne objektorientiertes Denken. Dann wurden viele Wrapper-Pakete und ORM-Frameworks geboren , müssen Sie keine SQL-Anweisung mehr schreiben. Es verbessert die Geschwindigkeit beim Schreiben von Code und ist mit einer Vielzahl von Datenbanksystemen kompatibel, z. B. SQLite, MySQL und PostgreSQL. Der gezahlte Preis kann mit einem gewissen Leistungsverlust verbunden sein. Wenn Sie mit dem mit Django gelieferten ORM vertraut sind, liegen die Lernkosten für Peewee bei nahezu Null. Es ist das beliebteste ORM-Framework in Python.
Ein Beispielpip install peewee
import peewee from peewee import * db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy') class Book(peewee.Model): author = peewee.CharField() title = peewee.TextField() class Meta: database = db Book.create_table() book = Book(author="me", title='Peewee is cool') book.save() for book in Book.filter(author="me"): print(book.title)
Wenn Sie eine Software finden möchten, die natives SQL unterstützt und Tools, die ORM unterstützen, ist SQLAlchemy die beste Wahl, da es dem Hibernate-Framework in Java sehr nahe kommt.
from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy_declarative import Address, Base, Person class Address(Base): __tablename__ = 'address' id = Column(Integer, primary_key=True) street_name = Column(String(250)) engine = create_engine('sqlite:///sqlalchemy_example.db') Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() # Insert a Person in the person table new_person = Person(name='new person') session.add(new_person) session.commit()
Ein Beispiel-Tutorial für die Verbindung von Python mit SQLite
Detaillierte Erklärung eines Beispiels für die Verbindung von Python mit impala
Wie man Mongodb mit Python verbindet und betreibt
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung verschiedener Möglichkeiten, mit Python_python eine Verbindung zu MySQL herzustellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!