絞り込み条件を変更する
検索条件を絞り込む

すべてのカテゴリ

10 件中 1 - 10 件表示
カバー画像

bool

boolimport sqlite3sqlite3.register_converter("BOOLEAN", lambda b: bool(int(b)))with sqlite3.connect("データベース", detect_types=sqlite3.PARSE_DECLTYPES) as con:データベースのbool列の宣言列名 BOOLEAN変換関数入力時自動で変換するので不要出力時import sqlite3sqlite3.register_converter("BOOLEAN", lambda b: bool(int(b)))※ bool(b) とすると 0 を False と判定できなくなるので int(b) の変換が必要
0
カバー画像

結合

横結合 SELECT ... FROM テーブル1INNER JOIN テーブル2ON テーブル1.列1 = テーブル2.列1複数の結合条件ON テーブル1.列1 = テーブル2.列1縦結合 SELECT文1UNION ALLSELECT文2
0
カバー画像

条件分岐

if CASE   WHEN 条件式1 THEN 値1  ...  ELSE その他の値ENDswitch CASE 列   WHEN 値① THEN 値1  ELSE その他の値END
0
カバー画像

CUI

対話モード 起動Ubuntusqlite3 データベースWindowspython -m sqlite3 データベース 終了.quitCtrl + ZSQLをCLIで実行python -m sqlite3 データベース "SQL"ヘルプ python -m sqlite3 -h バージョン python -m sqlite3 -v
0
カバー画像

日時

日付import sqlite3with sqlite3.connect("データベース", detect_types=sqlite3.PARSE_DECLTYPES) as con:データベースの日付列の宣言列名 DATE日時DATETIME型import sqlite3with sqlite3.connect("データベース", detect_types=sqlite3.PARSE_DECLTYPES) as con:データベースの日時列の宣言列名 TIMESTAMP列のデフォルト値現在時刻 (TEXT で格納) DEFAULT CURRENT_TIMESTAMP
0
カバー画像

プレースホルダ

名前付きdata = {"名前": 値, ...}con.execute("SQL文 ... :名前 ...", data)名前なしdata = (値, ...)con.execute("SQL文 ... ? ...", data)
0
カバー画像

INSERT

INSERTcon.execute("INSERT文") プレースホルダcon.execute("INSERT INTO テーブル VALUES(?, ?, ?)", リスト)辞書で指定辞書 = {列1: 値1, 列2: 値2}con.execute("INSERT INTO テーブル (列1, 列2) VALUES (:列1, :列2)", 辞書)複数行を追加datas = [     (値1-1, 値1-2, 値1-3),    (値2-1, 値2-2, 値2-3),    ...]con.executemany("INSERT INTO テーブル VALUES(?, ?, ?)", datas)INSERT文プレースホルダINSERT INTO テーブル (列1, ...) VALUES (?, ...)
0
カバー画像

SELECT

SELECTcur = con.execute("SELECT文") 結果を取得 行リスト = cur.fetchall() 1行目 行 = cur.fetchone() 行を Row オブジェクトとして取得import sqlite3with 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文)
0
カバー画像

テーブル

作成 con.execute("CREATE TABLE文") CREATE TABLE文CREATE TABLE テーブル(列1, ...) 列の書式列 型 制約1 ...  データ型INTEGER REALTEXTBLOBNULL 使用可能BOOLEAN FLOAT 型修飾  主キー PRIMARY KEY 自動インクリメントを指定する必要なし 自動インクリメントの主キー列 INTEGER PRIMARY KEY   複合主キーPRIMARY KEY (列1, ...)ex)列1 型,...PRIMARY KEY (列1, ...)  自動インクリメントAUTOINCREMENT   NULL禁止 NOT NULL   重複禁止 UNIQUE   デフォルト値 DEFAULT   現在時刻 (文字列形式)DEFAULT CURRENT_TIMESTAMP   条件チェック CHECK (条件)削除con.execute("DROP TABLE文")DROP TABLE文DROP TABLE テーブル変更列 列名ALTER TABLE テーブル RENAME COLUMN 旧列 TO 新列; 追加ALTER TABLE テーブル ADD COLUMN 列 型 制約; 削除ALTER TABLE テーブル DROP COLUMN 列;一時テーブルセッションが終了すると削除される  定義 CREATE TEMP TABLE テーブル (列定義) CREATE TEMPORARY TABLE テーブル (列定義) テーブル名のリストを表示SELECT name FROM sqlit
0
カバー画像

sqlite3

作成import sqlite3with sqlite3.connect("データベース名.db") as con:データベース接続時にファイルが存在しなければ作成されるコネクションimport sqlite3 with sqlite3.connect("データベース名.db") as con:with文のメリット・コミット不要・エラー時は自動でロールバック※ close() は別途必要SQL文末尾の ; は不要
0
10 件中 1 - 10