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

目次

(確認環境:Python 3)

selectで一行を取得する(fetchone)

import sqlite3

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

c = conn.cursor()

c.execute("select * from employee")

list1 = c.fetchone()

print (list1) #(1, '鈴木', 'suzuki')
print (list1[0]) # 1
print (list1[1]) # 鈴木'
print (list1[2]) # suzuki

conn.close() 

3行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
7行目は、SQLを実行しています。
9行目は、fetch + oneです。
11~14行目は、タプルの値を表示しています。

selectで複数行を取得する(for文)

import sqlite3

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

c = conn.cursor()

for a in c.execute("select * from employee"):
	print(a) #(1,'鈴木','suzuki')(2,'田中','tanaka')(3,'竹田','takeda')

conn.close()

3行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
7行目は、for文とSQLを実行しています。
取得した行数分ループ処理が実行されます。

selectで複数行を取得する(fetchall)

import sqlite3

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

c = conn.cursor()

c.execute("select * from employee")

list1 = c.fetchall()

print (list1[0]) #(1, '鈴木', 'suzuki')
print (list1[1]) #(2, '田中', 'tanaka')
print (list1[2]) #(3, '竹田', 'takeda')

conn.close() 

3行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
7行目は、SQLを実行しています。
9行目は、fetch + allです。
11~13行目は、タプルの値を表示しています。

関連の記事

SQLiteのインストールとSQLを実行するサンプル
Python for文 処理を繰り返す(break/continue)
Python リストの仕組みと使い方のサンプル(list)
Python タプルの仕組みと使い方のサンプル(tuple)

△上に戻る