#author("2021-06-11T08:49:55+09:00","","")
#contents
*** マニュアル・ドキュメント [#y2b8bb05]
- [[公式ドキュメント(トップページ):https://www.sqlite.org/docs.html]]
-- [[PRAGMA 設定:https://www.sqlite.org/pragma.html]]
*** コマンド [#i95918e6]
|SIZE(12):|SIZE(16):|SIZE(10):|c
|操作|コマンド|例|h
|データーベースを開く|.open データベースファイル名|通常は起動時の引数にデータベース名を指定|
|接続中のデータベースの確認|.databases||
|テーブルの表示|.tables||
|テーブル内のデータ削除|DELETE FROM テーブル名 WHERE 条件式;|delete from user where old < 20;|
|テーブル内の全データ削除|DELETE FROM テーブル名||
|テーブル自体の削除|DROP TABLE テーブル名;||
|スキーマ表示(全体)|.schema||
|スキーマ表示(特定テーブル)|.schema テーブル名|行末に ; をつけない|
|SQL文を実行する|SQL文||
|保存しておいたSQL文を実行|.read ファイル名||
|sqlite 切断|.quit||
|sqlite 終了|.exit||
|ヘルプ表示|.help||
|表示形式の設定|.mode|line, list, column, html, csv, tabs 等|
|設定情報表示|.show||
|データーベースへのアッタチ|起動時にコマンドライン引数で DB ファイル名を指定||
|データーベースへのデッタチ|DETTACH DATABASE [DB名];||
|テーブルの作成|CREATE TABLE テーブル名 (カラム名1 INTEGER, カラム名2 VARCHAR(数字));|CREATE TABLE db_list (id INTEGER, name VARCHAR(16));|
|レコードを追加|INSERT INTO テーブル名 (カラム名1, カラム名2) VALUES(値1, 値2);|INSERT INTO db_list (id, name) VALUES(1, "PC");|
|テーブルからレコードを取り出す|SELECT カラム名 FROM テーブル名;|SELECT * FROM db_list;|
|条件を使ってデータ検索|SELECT カラム名 FROM テーブル名 WHERE 条件式;|SELECT * FROM db_list WHERE id=3;|
*** 外部キー制約を有効に(デフォルトでは外部テーブルキー参照は無効) [#j36ab1f1]
sqlite> PRAGMA foreign_keys;
0 <----- デフォルトで無効になっている
sqlite> PRAGMA foreign_keys=ON;
sqlite> PRAGMA foreign_keys;
1 <------ 有効になった
*** データ型 [#iaa019af]
|型|説明|h
|NULL|NULL(値がないことを表す)|
|INTEGER|マイナスを含まない 8byte の整数|
|REAL|8byte の浮動小数点数|
|TEXT|文字列(文字コードはデータベースの設定による)|
|BLOB|バイナリデータ(Binary Large OBject)|
*** 参考 URL [#h7910051]