Python 에서 MySQL 을 연결 하 는 몇 가지 방법
1、MySQL-python
MySQL-python 은 MySQL db 라 고도 부 릅 니 다.Python 이 MySQL 을 연결 하 는 가장 유행 하 는 구동 입 니 다.많은 프레임 워 크 도 이 라 이브 러 리 를 바탕 으로 개발 되 었 습 니 다.안 타 깝 게 도 Python 2.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 파일 을 다운로드 하여 설치 합 니 다.
#!/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、mysqlclientMySQL-python 이 오랫동안 수 리 를 하지 않 았 기 때문에 나중에 Fork 버 전의 my sqlclient 가 나 타 났 습 니 다.MySQL db 를 완전히 호 환 하 는 동시에 Python 3.x 를 지원 합 니 다.Django ORM 의 의존 도구 입 니 다.원생 SQL 을 사용 하여 데이터 베 이 스 를 조작 하려 면 이 드라이버 를 추천 합 니 다.설치 방식 은 MySQLdb 와 같 습 니 다.윈도 우 는https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient사이트 에서 해당 버 전의 whl 패 키 지 를 찾 아 다운로드 하여 설치 할 수 있 습 니 다.
# 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、PyMySQLPyMySQL 은 순수 Python 이 실현 하 는 구동 으로 속도 가 MySQLdb 보다 못 합 니 다.가장 큰 특징 은 설치 방식 이 그리 번 거 롭 지 않 고 MySQL-python 도 호 환 되 는 것 입 니 다.
pip install PyMySQL
# mysqldb,
pymysql.install_as_MySQLdb()
하나의 예
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원생 SQL 을 쓰 는 과정 은 매우 번 거 롭 고 코드 가 중복 되 며 대상 을 대상 으로 생각 하지 않 았 다.그 다음 에 많은 패키지 wrapper 패키지 와 ORM 프레임 워 크 가 탄생 했다.ORM 은 Python 대상 과 데이터 베이스 관계 표 의 매 핑 관계 로 ORM 이 있 으 면 SQL 문 구 를 쓸 필요 가 없다.코드 를 쓰 는 속 도 를 향상 시 키 는 동시에 여러 가지 데이터 베이스 시스템 을 호 환 합 니 다.예 를 들 어 sqlite,my sql,postgresql 등 이 지불 하 는 대 가 는 성능 상의 일부 손실 일 수 있 습 니 다.Django 가 가지 고 있 는 ORM 에 익숙 하 다 면 peewee 의 학습 비용 은 거의 0 입 니 다.파 이 썬 에서 가장 유행 하 는 ORM 프레임 워 크 입 니 다.
pip install peewee
하나의 예
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)
공식 문서:http://docs.peewee-orm.com/en/latest/peewee/installation.html5、SQLAlchemy
네 이 티 브 SQL 을 지원 하고 ORM 을 지원 하 는 도 구 를 찾 으 려 면 SQLAlchemy 가 가장 좋 은 선택 입 니 다.자바 의 Hibernate 프레임 워 크 에 매우 가 깝 습 니 다.
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()
지금 은 이 몇 가지 데이터 베이스 구동 의 우열 을 잘 알 지 못 할 뻔 했 습 니 다.그 다음 에 그 중의 하 나 를 선택 하여 체계 적 인 공 부 를 한 다음 에 프로젝트 에 응용 할 수 있 습 니 다.즐 거 운 공 부 를 하 세 요.모 르 는 것 은 저 에 게 문의 하 세 요.이상 은 Python 이 MySQL 을 연결 하 는 몇 가지 방법 에 대한 상세 한 내용 입 니 다.Python 이 MySQL 을 연결 하 는 데 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.