MySQL-Python, auch MySQLdb genannt, ist der beliebteste Treiber für Python zur Verbindung mit MySQL. Viele Frameworks werden ebenfalls auf Basis dieser Bibliothek entwickelt. Leider unterstützt sie nur Python2.x und es gibt viele Voraussetzungen bei der Installation Es handelt sich um eine auf C basierende Bibliothek. Die Installation auf der Windows-Plattform ist sehr unfreundlich und schlägt häufig fehl. Es wird grundsätzlich nicht empfohlen, sie jetzt zu verwenden, und sie wird durch ihre abgeleitete Version ersetzt.
# 前置条件sudo apt-get install python-dev libmysqlclient-dev # Ubuntusudo yum install python-devel mysql-devel # Red Hat / CentOS # 安装pip install MySQL-python
#!/usr/bin/pythonimport MySQLdbdb = 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()
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. Wenn Sie natives SQL zum Betrieb der Datenbank verwenden möchten, Dieser Treiber wird empfohlen. Die Installationsmethode ist die gleiche wie bei MySQLdb. Die entsprechende Version des WHL-Pakets können Sie von 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 / Ubuntusudo yum install python3-devel # Red Hat / CentOSbrew install mysql-connector-c # macOS (Homebrew)pip install mysqlclient
PyMySQL ist ein in reinem Python implementierter Treiber. Er ist nicht so schnell wie PyMySQL. Sein größtes Merkmal ist möglicherweise, dass seine Installationsmethode nicht so umständlich ist und er auch mit MySQL-Python kompatibel ist.
pip install PyMySQL # 为了兼容mysqldb,只需要加入pymysql.install_as_MySQLdb()
Ein Beispiel
import pymysqlconn = 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()
Der Prozess des Schreibens von nativem SQL ist sehr umständlich, mit sich wiederholendem Code und ohne objektorientiertes Denken. Dann wurden viele Wrapper-Pakete und ORM-Frameworks geboren. Mit ORM ist dies nicht mehr der Fall Ich muss eine SQL-Anweisung 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 peeweefrom peewee import *db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy')class Book(peewee.Model): author = peewee.CharField() title = peewee.TextField() class Meta: database = dbBook.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
Wenn Sie nach einem Tool suchen, das sowohl natives SQL als auch ORM unterstützt, dann ist SQLAlchemy die beste Wahl. Es kommt dem Hibernate-Framework in Java sehr nahe.
from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmakerfrom sqlalchemy_declarative import Address, Base, Personclass 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 = engineDBSession = sessionmaker(bind=engine)session = DBSession()# Insert a Person in the person tablenew_person = Person(name='new person')session.add(new_person)session.commit()
Da Sie nun die Vor- und Nachteile dieser Datenbanktreiber fast verstanden haben, können Sie einen davon auswählen, ihn systematisch studieren und auf das Projekt anwenden.
Das obige ist der detaillierte Inhalt vonSo stellen Sie mit Python eine Verbindung zu MySQL her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!