Maison > Tutoriel système > Linux > Comment se connecter à MySQL en utilisant Python

Comment se connecter à MySQL en utilisant Python

王林
Libérer: 2024-02-27 09:04:22
avant
976 Les gens l'ont consulté

使用 Python 连接 MySQL 的方法

1. MySQL-python

MySQL-python, également appelé MySQLdb, est le pilote le plus populaire pour connecter Python à MySQL. De nombreux frameworks sont également développés sur la base de cette bibliothèque. Malheureusement, il ne prend en charge que Python2.x, et il existe de nombreuses conditions préalables lors de l'installation, car il. Il s'agit d'une bibliothèque développée sur la base de C. Son installation sur la plate-forme Windows est très peu conviviale et échoue souvent. Il n'est fondamentalement pas recommandé de l'utiliser maintenant et sera remplacée par sa version dérivée.

# 前置条件sudo apt-get install python-dev libmysqlclient-dev 
# Ubuntusudo yum install python-devel mysql-devel 
# Red Hat / CentOS
# 安装pip install MySQL-python
Copier après la connexion
#!/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()
Copier après la connexion
2、Mysqlclient

En raison du délabrement de MySQL-python, sa version Fork mysqlclient est apparue plus tard, qui est entièrement compatible avec MySQLdb et prend en charge Python3.x. C'est un outil dépendant de Django ORM. Si vous souhaitez utiliser SQL natif pour faire fonctionner la base de données, ce pilote est recommandé. La méthode d'installation est la même que pour MySQLdb. Pour Windows, vous pouvez trouver la version correspondante du package whl à télécharger et à installer sur le site Web https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient.
使用 Python 连接 MySQL 的方法

# 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
Copier après la connexion
3.PyMySQL

PyMySQL est un pilote implémenté en Python pur. Il n'est pas aussi rapide que PyMySQL. Sa plus grande caractéristique est peut-être que sa méthode d'installation n'est pas si lourde et qu'il est également compatible avec MySQL-python.

pip install PyMySQL
# 为了兼容mysqldb,只需要加入pymysql.install_as_MySQLdb()
Copier après la connexion

Un exemple

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()
Copier après la connexion
4、Peewee

Le processus d'écriture de SQL natif est très lourd, avec du code répétitif et aucune réflexion orientée objet. Ensuite, de nombreux packages wrapper et frameworks ORM sont nés. ORM est une relation de mappage entre les objets Python et les tables relationnelles de base de données. besoin d'écrire une instruction SQL. Il améliore la vitesse d'écriture du code et est compatible avec une variété de systèmes de bases de données, tels que sqlite, mysql et postgresql. Le prix à payer peut être une certaine perte de performances. Si vous connaissez l'ORM fourni avec Django, alors le coût d'apprentissage de peewee est presque nul. Il s'agit du framework ORM le plus populaire en Python.

pip install peewee
Copier après la connexion

Un exemple

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)
Copier après la connexion

Documentation officielle : http://docs.peewee-orm.com/en/latest/peewee/installation.html

5、SQLAlchimie

Si vous recherchez un outil prenant en charge à la fois SQL natif et ORM, alors SQLAlchemy est le meilleur choix. Il est très proche du framework Hibernate en Java.

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()
Copier après la connexion

Maintenant que vous avez presque compris les avantages et les inconvénients de ces pilotes de base de données, vous pouvez en choisir un pour l'étudier systématiquement et l'appliquer au projet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:linuxprobe.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal