SELECT

記事
IT・テクノロジー

SELECT

cur = con.execute("SELECT文")

結果を取得

行リスト = cur.fetchall()
1行目
行 = cur.fetchone()
行を Row オブジェクトとして取得
import sqlite3

with sqlite3.connect(DBパス, detect_types=sqlite3.PARSE_DECLTYPES) as con:
    con.row_factory = sqlite3.Row
    cur = con.execute(SQL文)
    行リスト = cur.fetchall()
Row は {列1: 値1, ... } の辞書のように扱える
※ for 変数 in 行: のループ時に変数には 列の値 が入る
     列名の配列を取得するには 行.keys()

列の値のタプル
 行数
len(行リスト)

ループ

for 行 in con.execute("SELECT文"):
データ量が多い場合
while rows := con.fetchmany(100):
    for row in rows:

サブクエリ

(サブクエリ)
テーブル
SELECT ...
FROM (サブクエリ)
SELECT ...
FROM ...
WHERE ... IN (
  サブクエリのSELECT文
)

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら