conn.executeの使い方

conn.executeはPython内のSQLite3モジュールのメソッドであり、SQL文を実行するために使用されます。以下はその使い方です。

conn.execute(sql_statement)

コード内で、connはSQLite3ライブラリのConnectionオブジェクトを指し、sql_statementは実行するSQLクエリ(文字列形式)を指します。

SQLを実行すると、conn.execute()はCursorオブジェクトを返します。このオブジェクトを使用して実行結果を取得できます。Cursorオブジェクトのメソッドを使用してクエリ結果を取得できます。

  1. fetchone()メソッド:結果セットから次の行のデータを取得し、タプルを返す。
  2. fetchall()メソッドは、結果セット内のすべての行データを取得し、複数のタプルを含むリストを返します。
  3. fetchmany(size)メソッドは、結果セットから指定された行数のデータを取得し、sizeパラメータで指定された数のタプルを含むリストを返します。

conn.execute()は、検索クエリ以外にも挿入、更新、削除など、他のタイプのSQLステートメントを実行することができます。実行結果は、Cursorオブジェクトのrowcount属性を使用して影響を受ける行数を取得できます。

conn.execute()は1つのSQL文しか実行できないため、複数の文を実行したい場合はexecutescript()メソッドを使用する必要があります。

例え:

import sqlite3

conn = sqlite3.connect('example.db')

# 创建表
conn.execute('''CREATE TABLE IF NOT EXISTS employees
             (id INT PRIMARY KEY     NOT NULL,
             name           TEXT    NOT NULL,
             age            INT     NOT NULL);''')

# 插入数据
conn.execute("INSERT INTO employees (id, name, age) VALUES (1, 'John', 30)")
conn.execute("INSERT INTO employees (id, name, age) VALUES (2, 'Alice', 25)")

# 查询数据
cursor = conn.execute("SELECT id, name, age from employees")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 更新数据
conn.execute("UPDATE employees SET age = 35 WHERE name = 'John'")

# 删除数据
conn.execute("DELETE FROM employees WHERE name = 'Alice'")

# 提交事务
conn.commit()

# 关闭连接
conn.close()

上記のコードは、conn.execute()の一般的な使用方法、表の作成、データの挿入、データのクエリ、データの更新、データの削除などを説明しています。

bannerAds