ホームページ > バックエンド開発 > Python チュートリアル > Python サーバー プログラミング: PyMySQL を使用した MySQL データベースとの対話

Python サーバー プログラミング: PyMySQL を使用した MySQL データベースとの対話

PHPz
リリース: 2023-06-18 14:31:54
オリジナル
1253 人が閲覧しました

Python は、さまざまな種類のアプリケーションの開発に使用できる豊富なライブラリとフレームワークを備えた人気の高水準プログラミング言語です。サーバー プログラミングの分野では、Python は Web アプリケーションの開発だけでなく、さまざまなデータベースとの対話にも使用できます。

この記事では、Python を使用して MySQL データベースと対話する方法を紹介します。 MySQL と対話するための Python のライブラリとして PyMySQL を使用します。

1. PyMySQL ライブラリをインストールする

PyMySQL ライブラリを使用する前に、まずインストールする必要があります。ターミナルまたはコマンド プロンプトを開き、次のコマンドを入力してインストールします:

pip install PyMySQL
ログイン後にコピー

2. MySQL データベースに接続します

MySQL データベースに接続するには、ホスト名とポートを知る必要があります。 MySQL サーバーの番号、ユーザー名、パスワード。

次の Python コードを使用して MySQL データベースに接続できます:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 关闭数据库连接
db.close()
ログイン後にコピー

このコードでは、pymysql# の connect() を使用しています。 ## library MySQL データベースに接続する関数。この関数のパラメータには、ホスト名、ポート番号、ユーザー名、パスワードなどの情報が含まれます。

さらに、接続するデータベースの名前も指定します。これは、

database パラメーターを通じて渡されます。以下のコードでは、この接続を引き続き使用します。

3. テーブルの作成

MySQL データベースを操作する前に、テーブルを作成する必要があります。次の Python コードを使用して、MySQL データベースに

users という名前のテーブルを作成できます。

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 创建表
cursor = db.cursor()
cursor.execute('DROP TABLE IF EXISTS users')
sql = '''CREATE TABLE users (
         id INT(11) NOT NULL AUTO_INCREMENT,
         name VARCHAR(20) NOT NULL,
         email VARCHAR(30) NOT NULL,
         password VARCHAR(30) NOT NULL,
         PRIMARY KEY (id))'''
cursor.execute(sql)

# 关闭数据库连接
db.close()
ログイン後にコピー

このコードでは、

users table という名前のテーブルを定義し、4 つのテーブルを定義します。列: idnameemail、および password。このうち、id は主キーであり、INT データ型を使用し、nameemailVARCHAR を使用して保存されます。 データ型 文字列 password も、VARCHAR データ型を使用して保存された文字列です。テーブル作成プロセスでは、MySQL SQL ステートメントを使用します。 users テーブルにも自動インクリメント列が設定されており、自動的にインクリメントされることに注意してください。

4. データの挿入

users テーブルを作成したので、テーブルへのデータの挿入を開始できます。次の Python コードを使用して、このテーブルにデータを挿入できます:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 插入数据
cursor = db.cursor()
sql = "INSERT INTO users(name, email, password) VALUES (%s, %s, %s)"
values = [('Alice', 'alice@email.com', '123456'),
          ('Bob', 'bob@email.com', '789012'),
          ('Charlie', 'charlie@email.com', '345678')]
cursor.executemany(sql, values)
db.commit()

# 关闭数据库连接
db.close()
ログイン後にコピー

このコードでは、まず

executemany() 関数 を使用して複数のデータを users に挿入します。テーブル。この関数の最初のパラメータは実行する SQL ステートメントを指定し、2 番目のパラメータは挿入するデータを含むタプルまたはリストです。挿入される実際の値を表すためにプレースホルダー %s を使用したことに注意してください。

executemany() 関数を呼び出した後、commit() メソッドを呼び出してデータをデータベースに保存する必要があります。

5. データのクエリ

users テーブルからデータを取得するには、次の Python コードを使用できます:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 查询数据
cursor = db.cursor()
sql = "SELECT * FROM users"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    email = row[2]
    password = row[3]
    print("{} - {} - {} - {}".format(id, name, email, password))

# 关闭数据库连接
db.close()
ログイン後にコピー

このコードでは、

SELECT ステートメントを使用して、users テーブルからすべての行を取得します。次に、fetchall() メソッドを使用して取得したすべての行を取得し、ループを使用して各行をタプルとして処理します。最後に、各行の列値に基づいて出力を印刷します。

6.データの更新

users テーブルのデータを更新するには、次の Python コードを使用できます:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 更新数据
cursor = db.cursor()
sql = "UPDATE users SET password = %s WHERE name = %s"
values = ('abcdef', 'Alice')
cursor.execute(sql, values)
db.commit()

# 关闭数据库连接
db.close()
ログイン後にコピー

このコードでは、

UPDATE ステートメントを使用して、Alice という名前のユーザーのパスワードを abcdef に更新します。このコードでは、パラメーターを含む SQL ステートメントを使用します。%s はプレースホルダーです。また、更新される実際の値をタプルにラップし、それを execute() 関数に渡します。

7. データの削除

users テーブルからデータを削除するには、次の Python コードを使用できます:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 删除数据
cursor = db.cursor()
sql = "DELETE FROM users WHERE email = %s"
value = ('bob@email.com',)
cursor.execute(sql, value)
db.commit()

# 关闭数据库连接
db.close()
ログイン後にコピー
このコードでは、

DELETE ステートメントを使用して、メール アドレス bob@email.com のユーザーを削除します。

概要

この記事では、Python を使用して MySQL データベースと対話する方法と、Python と MySQL の間のブリッジとして

pymysql ライブラリを使用する方法を紹介しました。 MySQL データベースへの接続、テーブルの作成、データの挿入、データの更新、およびデータの削除の方法を学びました。これらは、Web アプリケーションの開発時によく関係する一般的なタスクです。これらのスキルを習得すると、Python を使用して強力なサーバー アプリケーションを構築したり、さまざまなデータベースと対話したりできるようになります。

以上がPython サーバー プログラミング: PyMySQL を使用した MySQL データベースとの対話の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート