ホームページ  >  記事  >  バックエンド開発  >  Python が MySQL に接続する方法の概要

Python が MySQL に接続する方法の概要

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-09 16:01:491856ブラウズ

今回は、Python が MySQL に接続する方法についてまとめました。Python が MySQL に接続する際の 注意事項 は何ですか?実際のケースを見てみましょう。

近年多くの NoSQL データベースが普及していますが、

MySQL のようなリレーショナル データベースは依然としてインターネット上の主流のデータベースの 1 つであり、データ分析、Web クローリングなどを行っている場合でも、Python を学ぶ人は誰でもデータベースをよく学ぶ必要があります。 Web 開発や機械学習にはデータベースの取り扱いが不可欠であり、MySQL は最も人気のあるデータベースです。この記事では、Python で MySQL を操作するためのいくつかの方法を紹介します。実際の開発プロセスでは、実際の状況に基づいて合理的な選択を行う必要があります。 。

1. MySQL-pythonMySQL-python (MySQLdb とも呼ばれます) は、Python が MySQL に接続するための最も一般的なドライバーでもあり、残念ながら、Python2 のみをサポートしています。 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」と返信してください。 MySQLdb と互換性があり、Python3.x をサポートしています。ネイティブ SQL を使用してデータベースを操作したい場合は、このドライバーをお勧めします。インストール方法は MySQLdb と同じです。Windows の場合、対応するバージョンの whl パッケージを見つけて、

https://

www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient Web サイトからダウンロードしてインストールできます。 。

#!/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 ほど高速ではなく、互換性があることが最大の特徴です。 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 は Python オブジェクトであり、ORM を使用すると、SQL ステートメントを記述する必要がなくなります。コードの記述速度が向上し、sqlite、mysql、postgresql などのさまざまなデータベース システムと互換性があります。その代償として、パフォーマンスが多少低下する可能性があります。 Django に付属の ORM に精通している場合、peeweee の学習コストはほぼゼロです。これは、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. SQLAlchemy

pip install peewee

を見つけたい場合ネイティブ SQL と ORM の両方をサポートするツールの場合は、Java の Hibernate フレームワークに非常に近い SQLAlchemy が最適です。

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 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

numpy で配列要素に均一な値を割り当てる方法

numpy の配列と行列の乗算の使用方法

以上がPython が MySQL に接続する方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。