検索
ホームページバックエンド開発Python チュートリアルPython Web開発でよく使われるデータベース操作方法

Python はスクリプト言語として Web 開発で広く使用されており、データベースは Web アプリケーションの重要な部分です。 Python では、MySQL、PostgreSQL、MongoDB などのさまざまなデータベースを使用してデータを保存できます。

Web 開発者は、データベースをより適切に活用してアプリケーション ロジックをサポートできるように、データベースの操作方法をマスターする必要があります。 Python Web開発でよく使われるデータベースの操作方法を紹介します。

1. データベースへの接続

Python で使用されるデータベース接続オブジェクトはデータベース接続オブジェクトであり、データベースの種類に応じて、異なるデータベース接続モジュールを導入する必要があります。たとえば、MySQL は pymysql モジュールを導入する必要があり、PostgreSQL は psycopg2 モジュールを導入する必要があり、MongoDB は pymongo モジュールを導入する必要があります。

次は、MySQL データベースに接続するためのサンプル コードです:

import pymysql

# 数据库连接信息,可以通过读取配置文件或者通过参数传入
config = {
    'host': 'localhost',
    'port': 3306,
    'user': 'root',
    'password': '123456',
    'database': 'testdb'
}

# 连接数据库
conn = pymysql.connect(**config)

2. データベース テーブルの作成

Python でのデータベース テーブルの作成では、カーソル オブジェクトを使用します。最初にカーソル オブジェクトを取得する必要があります。カーソル オブジェクトを使用して CREATE TABLE ステートメントを実行し、テーブルを作成します。

サンプル コード:

# 获取游标对象
cursor = conn.cursor()

# 创建表
sql = """
CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    age INT,
    gender CHAR(1),
    email VARCHAR(50)
)
"""
cursor.execute(sql)

# 提交修改
conn.commit()

3. データのクエリ

データベース データのクエリにはカーソル オブジェクトも使用され、SELECT ステートメントを使用して条件を満たすすべてのデータをクエリできます。クエリ結果は 2 次元配列で、最初の次元はレコードの行数、2 番目の次元はデータ列の数です。

サンプル コード:

# 查询数据
sql = """
SELECT id, name, age, gender, email
FROM users
WHERE age > 20
"""

cursor.execute(sql)

# 获取查询结果
results = cursor.fetchall()

# 打印结果
for row in results:
    id = row[0]
    name = row[1]
    age = row[2]
    gender = row[3]
    email = row[4]
    print(f"id={id}, name={name}, age={age}, gender={gender}, email={email}")

4. データの挿入

Python でのデータの挿入にはカーソル オブジェクトが使用され、INSERT ステートメントを使用してデータを挿入できます。複数のデータを挿入するには、executemany() メソッドを使用します。

サンプル コード:

# 插入单条数据
sql = """
INSERT INTO users(name, age, gender, email)
VALUES("Tom", 25, "M", "tom@example.com")
"""
cursor.execute(sql)

# 插入多条数据
data = [
    ("Bob", 20, "M", "bob@example.com"),
    ("Alice", 28, "F", "alice@example.com")
]
sql = """
INSERT INTO users(name, age, gender, email)
VALUES(%s, %s, %s, %s)
"""
cursor.executemany(sql, data)

# 提交修改
conn.commit()

5. データの更新

カーソル オブジェクトを使用してデータベース データを更新し、UPDATE ステートメントを使用して条件を満たすデータを更新できます。

サンプルコード:

# 更新数据
sql = """
UPDATE users
SET age=30, email='new_email@example.com'
WHERE name="Tom"
"""
cursor.execute(sql)

# 提交修改
conn.commit()

6. データの削除

データベースのデータを削除するには、カーソル オブジェクトを使用し、DELETE ステートメントを使用して条件を満たすデータを削除できます。条件。

サンプルコード:

# 删除数据
sql = """
DELETE FROM users
WHERE age < 25
"""
cursor.execute(sql)

# 提交修改
conn.commit()

概要

上記の紹介を通じて、データベースへの接続、データベースの作成など、Python Web 開発における一般的なデータベース操作方法について学びました。テーブル、データのクエリ、データの挿入、データの更新、データの削除。

実際の開発では、アプリケーションのニーズに応じて適切なデータベースの種類を選択し、対応するデータベース接続モジュールを使用してデータベースに接続する必要があります。同時に、データベース操作の場合、プログラムの安定した動作を保証するために、コード内で例外処理を実行する必要があります。

以上がPython Web開発でよく使われるデータベース操作方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?Apr 24, 2025 pm 03:53 PM

numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Apr 24, 2025 pm 03:49 PM

NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

CTypesモジュールは、Pythonの配列にどのように関連していますか?CTypesモジュールは、Pythonの配列にどのように関連していますか?Apr 24, 2025 pm 03:45 PM

ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo

Pythonのコンテキストで「配列」と「リスト」を定義します。Pythonのコンテキストで「配列」と「リスト」を定義します。Apr 24, 2025 pm 03:41 PM

Inpython、「リスト」は、「リスト」、自由主義的なもの、samememory効率が高く、均質な偶然の瞬間の想起された「アレイ」の「アレイ」の「アレイ」の均質な偶発的な想起されたものです

Pythonリストは可変ですか、それとも不変ですか? Pythonアレイはどうですか?Pythonリストは可変ですか、それとも不変ですか? Pythonアレイはどうですか?Apr 24, 2025 pm 03:37 PM

pythonlistsandarraysaraybothmutable.1)listsareflexibleandsupportheTeterdatabutarlessmemory-efficient.2)Arraysaremorememory-efficientiant forhomogeneousdative、ressivelessatile、ressing comerttytytypecodeusageodoavoiderorors。

Python vs. C:重要な違​​いを理解しますPython vs. C:重要な違​​いを理解しますApr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

Python vs. C:プロジェクトのためにどの言語を選択しますか?Python vs. C:プロジェクトのためにどの言語を選択しますか?Apr 21, 2025 am 12:17 AM

PythonまたはCの選択は、プロジェクトの要件に依存します。1)迅速な開発、データ処理、およびプロトタイプ設計が必要な場合は、Pythonを選択します。 2)高性能、低レイテンシ、および緊密なハードウェアコントロールが必要な場合は、Cを選択します。

Pythonの目標に到達する:毎日2時間のパワーPythonの目標に到達する:毎日2時間のパワーApr 20, 2025 am 12:21 AM

毎日2時間のPython学習を投資することで、プログラミングスキルを効果的に改善できます。 1.新しい知識を学ぶ:ドキュメントを読むか、チュートリアルを見る。 2。練習:コードと完全な演習を書きます。 3。レビュー:学んだコンテンツを統合します。 4。プロジェクトの実践:実際のプロジェクトで学んだことを適用します。このような構造化された学習計画は、Pythonを体系的にマスターし、キャリア目標を達成するのに役立ちます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。