Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonとSQLiteで学ぶデータベース操作の基本:sqlite3モジュール入門ガイド

このチュートリアルでは、SQLiteデータベースを使って、PythonからSQLを操作する方法を学びます。PythonにはSQLiteデータベースに接続するための組み込みモジュールが標準で用意されており、ここではsqlite3モジュールを使用してPythonとSQLiteを連携させます。

SQLiteデータベースへの接続手順

PythonでSQLiteデータベースに接続するには、以下の3つのステップに従います。各手順を確認しながら、実際にプログラムを書いてみましょう。

  • sqlite3モジュールをインポートします。
  • sqlite3.connect(db_name)メソッドを使って接続を作成します。このメソッドはデータベース名を引数として受け取り、指定した名前のファイルが存在しない場合は新規作成し、すでに存在する場合はそのファイルを開きます。
  • conn.cursor()を使って、接続からカーソルオブジェクトを取得します。カーソルはPythonとSQLiteデータベースをつなぐ仲介役であり、SQLコマンドの実行には必ずこのカーソルオブジェクトを使用します。

以上の3ステップでSQLiteデータベースとの接続が確立できます。これらの手順は、Pythonで他のデータベースを扱う場合でもほぼ共通しています。不明な点がある場合は、以下のコード例を参考にしてください。

コード例:データベースへの接続

# モジュールのインポート
import sqlite3

# 接続の作成
conn = sqlite3.connect("tutorialspoint.db")  # db - データベース

# カーソルオブジェクトの取得
cursor = conn.cursor()

これでデータベースとの接続が完了しました。次に、SQLクエリを使ってテーブルを作成し、データを挿入していきましょう。以下の手順に従います。

  • カラム名とデータ型を指定したテーブルを作成するSQLコードを書きます。
  • cursor.execute()を使ってSQLを実行し、データベース内にテーブルを作成します。
  • テーブルにレコードを挿入するSQLコードを書き、同様に実行します。
  • conn.commit()メソッドで変更をコミットし、ファイルに保存します。
  • conn.close()メソッドで接続を閉じます。

コード例:テーブル作成とデータ挿入

# モジュールのインポート
import sqlite3

# 接続の作成
conn = sqlite3.connect("tutorialspoint.db")

# カーソルオブジェクトの取得
cursor = conn.cursor()

# テーブルを作成するSQLコード
create_table_sql = """
CREATE TABLE students (
    id INTEGER PRIMARY KEY,
    first_name VARCHAR(20),
    last_name VARCHAR(30),
    gender CHAR(1)
);
"""

# 上記のSQLを実行してテーブルを作成
cursor.execute(create_table_sql)

# studentsテーブルにデータを挿入
insert_student_one_sql = """INSERT INTO students VALUES (1, 'John', 'Hill', 'M');"""
cursor.execute(insert_student_one_sql)

insert_student_two_sql = """INSERT INTO students VALUES (2, 'Jessy', 'Hill', 'F');"""
cursor.execute(insert_student_two_sql)

insert_student_three_sql = """INSERT INTO students VALUES (3, 'Antony', 'Hill', 'M');"""
cursor.execute(insert_student_three_sql)

# commitメソッドで変更を保存
conn.commit()

# 接続を閉じる
conn.close()

上記のコードを実行してエラーが発生しなければ、正常に動作しています。では、データベースのテーブルからデータを取得するにはどうすればよいのでしょうか?次は、以下の手順でデータ取得のコードを書いてみましょう。

  • データベースに接続します。
  • カーソルオブジェクトを作成します。
  • テーブルから必要なデータを取得するSQLクエリを書きます。
  • クエリを実行します。
  • カーソルオブジェクトが目的のデータを保持しているので、fetchall()メソッドで取得します。
  • print文でデータを表示して確認します。

コード例:データの取得

# モジュールのインポート
import sqlite3

# 接続の作成
conn = sqlite3.connect("tutorialspoint.db")

# カーソルオブジェクトの取得
cursor = conn.cursor()

# 全学生データを取得するSQLクエリ
fetch_students_sql = """
SELECT * FROM students;
"""

# SQLクエリを実行
cursor.execute(fetch_students_sql)

# fetchall()メソッドでデータを変数に格納
students = cursor.fetchall()  # タプルのリスト

# データを表示
print(students)

出力結果

上記のプログラムを実行すると、以下のような出力が得られます。

[(1, 'John', 'Hill', 'M'), (2, 'Jessy', 'Hill', 'F'), (3, 'Antony', 'Hill', 'M')]

まとめ

これで、Pythonでデータベースを操作する基礎が身につきました。繰り返し練習することで、スキルは確実に向上します。本チュートリアルについて不明な点や疑問があれば、ぜひコメント欄でお知らせください。

  1. PythonとSeleniumでWhatsAppチャットボットを作る方法

    はじめに この記事では、Pythonを使ってWhatsAppのチャットボットを作成する方法を解説します。TwitterやFacebook向けの一般的なチャットボットとは異なり、WhatsAppは運営ポリシーの関係上、プラットフォーム上で直接ボットを動かすことができません。 しかし、SeleniumというPythonの強力なパッケージを使えば、ブラウザの操作を自動化することでこれを実現できます。Seleniumを利用すれば、ブラウザ経由で「WhatsApp Web」を自由に操作できるのです。 必要なもの 準備が必要なのは、主に以下の3点です。 1. Selenium Seleniumはpip

  2. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c