kdoc - SQL

  • 作成日:2010-03-31 14:47:23
  • 修正日:2010-04-09 13:56:06

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

参照