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を実行するサンプル
関連の記事