今回は、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()
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()
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)
numpy で配列要素に均一な値を割り当てる方法
numpy の配列と行列の乗算の使用方法以上がPython が MySQL に接続する方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。