Dieses Mal werde ich Ihnen eine Zusammenfassung geben, wie Python eine Verbindung zu MySQL herstellt. Was sind die Vorsichtsmaßnahmen , damit Python eine Verbindung zu MySQL herstellt?
Obwohl viele NoSQL-Datenbanken in den letzten Jahren populär geworden sind, gehören relationale Datenbanken wie MySQL immer noch zu den Mainstream-Datenbanken im Internet. Egal ob Wenn Sie Datenanalyse, Web-Crawling, Web-Entwicklung oder maschinelles Lernen durchführen, sind Sie untrennbar mit der Arbeit mit Datenbanken verbunden, und MySQL ist die beliebteste Datenbank. In diesem Artikel werden verschiedene MySQL-Methoden vorgestellt, die Sie sinnvoll auswählen können die tatsächliche Situation während des eigentlichen Entwicklungsprozesses.
1. MySQL-Python
MySQL-Python, auch MySQLdb genannt, ist der beliebteste Treiber für Python zur Verbindung mit MySQL 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 durch Herunterladen der exe-Datei installiert, und das öffentliche Konto antwortet mit „win“, 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
Aufgrund des Verfalls von MySQL-Python erschien später die Fork-Version mysqlclient, die vollständig mit MySQLdb kompatibel ist und Python3.x unterstützt Sie möchten natives SQL zum Betrieb der Datenbank verwenden, dann ist dieser Treiber empfehlenswert. Die Installationsmethode ist die gleiche wie bei MySQLdb. Die entsprechende Version des WHL-Pakets können Sie auf der Website https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient herunterladen und installieren.
# 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 Anstelle von MySQLdb besteht das größte Merkmal möglicherweise darin, dass die Installationsmethode nicht so umständlich ist und auch mit MySQL-Python kompatibel 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, peewee
Der Prozess des Schreibens von nativem SQL ist sehr umständlich, der Code wird wiederholt und es gibt kein objektorientiertes Denken. Dann viele Wrapper-Pakete und ORM-Frameworks wurden geboren. ORM ist eine Zuordnungsbeziehung zwischen Objekten und Datenbank-Relationaltabellen. Mit ORM müssen Sie keine SQL-Anweisungen mehr schreiben. Es verbessert die Geschwindigkeit beim Schreiben von Code und ist mit einer Vielzahl von Datenbanksystemen wie SQLite, MySQL und PostgreSQL kompatibel. Der gezahlte Preis kann einen gewissen Leistungsverlust bedeuten. 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.
pip install peewee
Ein Beispiel
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)
Offizielle Dokumentation: http://docs.peewee-orm.com/en/latest/peewee/installation.html
5. SQLAlchemy
Wenn Sie ein Tool finden möchten, das sowohl natives SQL als auch ORM unterstützt, dann ist SQLAlchemy die beste Wahl ist dem Hibernate-Framework in Java sehr ähnlich.
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()
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.
Empfohlene Lektüre:
So weisen Sie Array-Elementen in Numpy einheitliche Werte zu
So multiplizieren Sie Numpy-Arrays und Matrizen Verwenden Sie
Das obige ist der detaillierte Inhalt vonZusammenfassung, wie Python eine Verbindung zu MySQL herstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!