>백엔드 개발 >파이썬 튜토리얼 >Python이 MySQL에 연결되는 방법 요약

Python이 MySQL에 연결되는 방법 요약

php中世界最好的语言
php中世界最好的语言원래의
2018-04-09 16:01:491897검색

이번에는 Python을 MySQL에 연결하는 방법에 대해 요약해 보겠습니다. Python을 MySQL에 연결할 때 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.

최근 몇 년 동안 많은 NoSQL 데이터베이스가 인기를 얻었지만, MySQL과 같은 관계형 데이터베이스는 여전히 인터넷의 주류 데이터베이스 중 하나입니다. 데이터 분석, 웹 크롤링, 데이터 분석을 하든 Python을 배우는 사람이라면 누구나 데이터베이스를 잘 배워야 합니다. 웹 개발이나 머신러닝 등은 데이터베이스 다루기와 떼려야 뗄 수 없는 부분인데, MySQL은 가장 널리 사용되는 데이터베이스입니다. 이 글에서는 Python에서 MySQL을 운용하는 여러 가지 방법을 소개합니다. 실제 개발 과정에서는 실제 상황에 맞춰 합리적인 선택을 해야 합니다. .

1. MySQL-python

MySQL-python은 MySQL에 연결하는 데 가장 널리 사용되는 드라이버입니다. 불행히도 많은 프레임워크도 이 라이브러리를 기반으로 개발됩니다. x. 게다가 C를 기반으로 개발된 라이브러리이기 때문에 설치 시 전제조건이 많습니다. Windows 플랫폼에 설치하기가 매우 불편하고 실패하는 경우가 많으며 현재는 기본적으로 사용하지 않는 것이 좋습니다. 파생 버전.

# 前置条件
sudo apt-get install python-dev libmysqlclient-dev # Ubuntu
sudo yum install python-devel mysql-devel # Red Hat / CentOS
# 安装
pip install MySQL-python
Windows는 exe 파일을 다운로드하여 직접 설치할 수 있습니다. 다운로드 링크를 얻으려면 공개 계정에서 "win"이라고 답하세요. mysqlclient 버전은 완전히 MySQLdb와 호환되며 Python3.x를 지원합니다. 기본 SQL을 사용하여 데이터베이스를 작동하려는 경우 이 드라이버를 권장합니다. 설치 방법은 MySQLdb와 동일합니다. Windows의 경우

https://

www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 웹사이트에서 해당 버전의 whl 패키지를 다운로드하여 설치할 수 있습니다. .

#!/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()

3. PyMySQL

PyMySQL은 MySQLdb만큼 빠르지 않고 설치 방법도 번거롭지 않다는 점이 가장 큰 특징입니다. with MySQL-python

# 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

pip install PyMySQL
# 为了兼容mysqldb,只需要加入
pymysql.install_as_MySQLdb()
4, peewee

네이티브 SQL을 작성하는 과정은 매우 번거롭고 코드가 반복되며

객체 지향

생각이 없습니다. 패키지와 ORM 프레임워크가 탄생했습니다. ORM은 Python 객체이며 ORM을 사용하면 더 이상 SQL 문을 작성할 필요가 없습니다. 코드 작성 속도를 향상시키고 sqlite, mysql, postgresql 등 다양한 데이터베이스 시스템과 호환됩니다. 지불된 가격으로 인해 성능이 다소 저하될 수 있습니다. Django와 함께 제공되는 ORM에 익숙하다면 peewee의 학습 비용은 거의 0입니다. Python에서 가장 널리 사용되는 ORM 프레임워크입니다.

예시

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()

공식 문서: http://docs.peewee-orm.com/en/latest/peewee/installation.html

5 SQLAlchemypip install peewee

찾고 싶다면. 기본 SQL과 ORM을 모두 지원하는 도구라면 SQLAlchemy가 최선의 선택입니다. 이는 Java의 Hibernate 프레임워크에 매우 가깝습니다.

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)
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서: numpy에서 배열 요소에 균일한 값을 할당하는 방법

numpy 배열 및 행렬 곱셈을 사용하는 방법

위 내용은 Python이 MySQL에 연결되는 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.