PythonのSQLiteへ接続してselectするサンプルです。
(確認環境:Python 3.7.2)
目次
サンプル | selectで一行を取得する(fetchone) |
selectで複数行を取得する(for文) | |
selectで複数行を取得する(fetchall) |
selectで一行を取得する(fetchone)
selectで一行を取得するサンプルです。
# coding: utf-8
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()
4行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
8行目は、SQLを実行しています。
10行目は、fetch + oneです。
12~15行目は、タプルの値を表示しています。
selectで複数行を取得する(for文)
selectで複数行を取得するサンプルです。
# coding: utf-8
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()
4行目は、SQLiteに接続しています。rはraw文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
8行目は、for文とSQLを実行しています。
取得した行数分ループ処理が実行されます。
selectで複数行を取得する(fetchall)
selectで複数行を取得するサンプルです。
# coding: utf-8
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文字列です。エスケープシーケンス(\)を無効化して文字列として扱ってくれます。
8行目は、SQLを実行しています。
10行目は、fetch + allです。
12~14行目は、タプルの値を表示しています。
以下はPython公式ドキュメントのsqlite3のリンクです。
https://docs.python.org/ja/3/library/sqlite3.html
関連の記事
SQLiteのインストールとSQLを実行するサンプル
Python for文 処理を繰り返す(break/continue)
Python リストの仕組みと使い方のサンプル(list)
Python タプルの仕組みと使い方のサンプル(tuple)