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でデータベースを操作する基礎が身につきました。繰り返し練習することで、スキルは確実に向上します。本チュートリアルについて不明な点や疑問があれば、ぜひコメント欄でお知らせください。
-
PythonとSeleniumでWhatsAppチャットボットを作る方法
はじめに この記事では、Pythonを使ってWhatsAppのチャットボットを作成する方法を解説します。TwitterやFacebook向けの一般的なチャットボットとは異なり、WhatsAppは運営ポリシーの関係上、プラットフォーム上で直接ボットを動かすことができません。 しかし、SeleniumというPythonの強力なパッケージを使えば、ブラウザの操作を自動化することでこれを実現できます。Seleniumを利用すれば、ブラウザ経由で「WhatsApp Web」を自由に操作できるのです。 必要なもの 準備が必要なのは、主に以下の3点です。 1. Selenium Seleniumはpip
-
PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法
はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c