SQLite
ちょっとテスト。
©
®
¾ 3⁄4 4分の3
℃ °C ℃
℡ TEL TEL
™ TM トレードマーク
Ⅶ VII ローマ数字 大7
ⅷ viii ローマ数字 小8
① 1 丸付き数字 1
⑵ (2) 括弧付き数字 2
⒊ 3. 3.
⒟ (d) (d)
Ⓔ E 丸付き英字 E
ⓕ f 丸付き英字 f
〶 〒 マル〒
㈧ (八) (八)
㉀ (祭) (祭)
㊙ 秘 マル秘
㋅ 6月 6月
㏤ 5日 5日
㋚ サ マルサ
㍌ メガトン メガトン
㍰ 24点 24点
㍻ 平成 平成
㍿ 株式会社 株式会社
㎓ GHz ギガヘルツ
㎠ cm2 平方センチメートル
特徴
- パブリックドメイン
- 最大32TBまで
- サポートしている型:
- Unicodeサポート
- トランザクション
サポートしている型
- NULL
- INTEGER 符号付整数 整数っぽければこれに
- REAL 浮動小数点数 小数点があればこれに
- TEXT UTF-8, UTF-16BE or UTF-16-LEのいずれか(''で囲まれていればTEXT型)
- BLOB Binary Large OBject
カラムの型定義
カラムに型定義をした場合は、その型に変換してから格納される。
変換できなかった場合は、カラムの型定義を無視して格納される。
- TEXT
- NUMERIC
- INTEGER
- REAL
- NONE
TEXTのエスケープ
TEXTとして格納する際は、シングルクォートで囲む。
値の中に出現するシングルクォートは、2つ連続させることでエスケープ。
コメント
-- コメント /* コメント */
フィールドの追加
カラムの削除は不可?
PRIMARY KEY, UNIQUEの設定はできない?
NOT NULLを設定する場合は、デフォルト値の設定が必要。
ALTER TABLE table_name ADD COLUMN new_field ALTER TABLE table_name ADD COLUMN new_field TEXT
オートインクリメント/自動付番
TABLE作成時に、INTEGER PRIMARY KEY指定。
CREATE TABLE new_table (my_id INTEGER PRIMARY KEY, my_name, my_age);
上記だと、削除されたmy_idが再利用されることがある(rowidも同様)。
以下のように、AUTOINCREMENTを指定すればOK。
CREATE TABLE new_table (my_id INTEGER PRIMARY KEY AUTOINCREMENT, my_name, my_age);
最大値は、以下から取得可能。
カラム名は、name(テーブル名)とseq。
SELECT * FROM sqlite_seqence
カラムへの初期値設定
CREATE TABLE new_table (my_id, my_name DEFAULT '某');
以下の可能。
- CURRENT_TIME (HH:MM:SS形式)
- CURRENT_DATE (YYYY-MM-DD形式)
- CURRENT_TIMESTAMP (YYYY-MM-DD HH:MM:SS形式)
CREATE TABLE new_table (my_id, my_timestamp DEFAULT CURRENT_TIMESTAMP);
VIEWの作成
CREATE VIEW new_view AS SELECT my_id, my_name FROM my_table
CREATE VIEW new_view AS SELECT my_id, my_name FROM my_table WHERE my_age > 20
削除は以下。
DROP VIEW my_view
トリガー
データの追加や更新がされた際に、別のSQL文を実行。
→トリガーの作成 - SQLite入門
GUI
参照
- SQLite入門
http://www.dbonline.jp/sqlite/ - Query Language Understood by SQLite
http://sqlite.org/lang.html - SQLite が認識できるクエリー言語
http://net-newbie.com/sqlite/lang.html