Python SQLiteへ接続して更新する(insert/update/delete)

目次

(確認環境:Python 3)

insertのサンプル

import sqlite3

conn = sqlite3.connect(r'E:\dev\sqlite-test\test1.db')

c = conn.cursor()

try:

	c.execute("INSERT INTO employee VALUES (?,?,?)",(4,'高橋','takahashi'))
	c.execute("INSERT INTO employee VALUES (:id,:name,:r1)",(5,'鈴木','suzuki'))

except sqlite3.Error as e:
	print(e)

conn.commit()

conn.close()

3行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
9,10行目は、insertを実行します。valuesの後の?と、コロンと文字列は、プレースホルダです。後ろのかっこ()の中の文字が値になります。
12行目は、例外処理です。
15行目は、commitで確定させます。commitがないと反映されません。
16行目は、closeで接続を閉じます。

データをまとめてinsertするサンプル

import sqlite3

conn = sqlite3.connect(r'E:\dev\sqlite-test\test1.db')

c = conn.cursor()

employee1 = [(1,'鈴木','suzuki'),
		(2,'田中','tanaka'),
		(3,'佐藤','sato'),
		]

try:

	c.executemany('INSERT INTO employee VALUES (?,?,?)',employee1 )

except sqlite3.Error as e:
	print(e)

conn.commit()

conn.close()

7~10行目は、まとめて登録するデータです。
14行目は、データをまとめて登録しています。最後にある変数のemployee1は8行目の変数です。

updateのサンプル

import sqlite3

conn = sqlite3.connect(r'E:\dev\sqlite-test\test1.db')

c = conn.cursor()

try:

	c.execute("update employee set name=?,romaji=? where id=4",('岩井','iwai'))
	c.execute("update employee set name=:name,romaji=:r1 where id=5",('武田','takeda'))

except sqlite3.Error as e:
	print("error",e.args[0])

conn.commit()

conn.close()

3行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
9,10行目は、updateを実行します。valuesの後の?と、コロンと文字列は、プレースホルダです。後ろのかっこ()の中の文字が値になります。
12行目は、例外処理です。
15行目は、commitで保存しています。commitがないと反映されません。
17行目は、closeで接続を閉じます。

deleteのサンプル

import sqlite3

conn = sqlite3.connect(r'E:\dev\sqlite-test\test1.db')

c = conn.cursor()

try:

	c.execute("delete from employee where id=3")

except sqlite3.Error as e:
	print("error",e.args[0])

conn.commit()

conn.close()

3行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
9行目は、deleteを実行します。
11行目は、例外処理です。
14行目は、commitで保存しています。commitがないと反映されません。
16行目は、closeで接続を閉じます。

(参考)sqliteの環境

sqliteの設定の方法は以下を参照願います。
SQLiteのインストールとSQLを実行するサンプル

関連の記事

Python SQLiteへ接続してselectするサンプル

△上に戻る