conn.executeの使い方
conn.executeはPython内のSQLite3モジュールのメソッドであり、SQL文を実行するために使用されます。以下はその使い方です。
conn.execute(sql_statement)
コード内で、connはSQLite3ライブラリのConnectionオブジェクトを指し、sql_statementは実行するSQLクエリ(文字列形式)を指します。
SQLを実行すると、conn.execute()はCursorオブジェクトを返します。このオブジェクトを使用して実行結果を取得できます。Cursorオブジェクトのメソッドを使用してクエリ結果を取得できます。
- fetchone()メソッド:結果セットから次の行のデータを取得し、タプルを返す。
- fetchall()メソッドは、結果セット内のすべての行データを取得し、複数のタプルを含むリストを返します。
- 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()の一般的な使用方法、表の作成、データの挿入、データのクエリ、データの更新、データの削除などを説明しています。