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

PythonのSQLiteへ接続して更新(insert/update/delete)するサンプルです。
(確認環境:Python 3.7.2)

目次

サンプル insertのサンプル
  データをまとめてinsertするサンプル
updateのサンプル
deleteのサンプル
(参考)sqliteの環境

insertのサンプル

insertのサンプルのコードです。

# coding: utf-8
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()

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

 

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

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

# coding: utf-8
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()

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

updateのサンプル

updateのサンプルのコードです。

# coding: utf-8
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()

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

deleteのサンプル

deleteのサンプルのコードです。

# coding: utf-8
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()

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

以下はPython公式ドキュメントのsqlite3のリンクです。 
https://docs.python.org/ja/3.7/library/sqlite3.html

(参考)sqliteの環境

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

関連の記事

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

△上に戻る