Zusammenfassung, wie Python eine Verbindung zu MySQL herstellt

php中世界最好的语言
Freigeben: 2018-04-09 16:01:49
Original
1840 Leute haben es durchsucht

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
Nach dem Login kopieren

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()
Nach dem Login kopieren

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
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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)
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!