by ryou

sqliteのインストール方法、及び使い方メモ

  • centosへのインストール
  • 起動方法
  • 使い方
    • sqlite特有のコマンド
    • データ型
    • DB操作
    • 時間の扱い
    • 組み込み関数

centosへのインストール

yum -y install sqlite

起動方法

sqlite3 データベースファイル名

データベースはファイルとして管理されている。
起動時に指定したファイルが存在すればそれを読み込み、存在しなければ新規で作成する。
拡張子は必須ではないが、無いとわかりにくいので「.sqlite3」と付けておくこと。

使い方

sqlite3特有のコマンド一覧

コマンド 動作
.exit 終了
.tables テーブル一覧の表示
.schema テーブル名 テーブルの構造の表示

データ型

型名 詳細
NULL
INTEGER 整数型
REAL 浮動小数点型
TEXT 文字列
BLOB Binary Large OBject

※データ型の指定は可能だが、必須ではない。
※データ型を指定すると、それになるように努力するが確約はしない。

DB操作

テーブル作成

create table テーブル名 (カラム, カラム, ...);

テーブル作成時、カラムにオプションを加える事が可能

オプション 詳細
primary key autoincrement 勝手に増える主キー
not null null値を与えようとするとエラーを返却
unique 同一の値が存在する場合エラーを返却
default ~ デフォルト値を指定
check(条件文) 条件を満たさない場合エラーを返却

実例

# pos_numが正の値でない場合エラーを返却
create table test (pos_num check(pos_num>0));

テーブル削除

drop table テーブル名;

テーブル操作

# テーブル名変更
alter table 現在のテーブル名 rename to 新しいテーブル名;
# カラム追加
alter table テーブル名 add column カラム名;

インデックスの追加

※インデックスの役割や、インデックス名とカラム名は同一でないといけないのかなど調べる必要あり

create index インデックス名 on テーブル名(カラム名);

# 例
create index age on users(age);

データの追加

insert into テーブル名 (カラム名, ...) values (データ, ...);

# 例(文字列に「'」を含めたい場合、例のように「''」と2つ続ける)
insert into users (name, email, age) values ('O''reilly', 'or@gmail.com', 20);

時間の取り扱い

以下の関数にて現在時刻の取得が可能

関数名 動作
current_time 現在時刻を取得
current_date 現在日を取得
current_timestamp 現在日時を取得

実例

select current_timestamp;

また、strftime関数を使用することによって可能

実例

select strftime('%Y-%m-%d', current_timestamp);

組み込み関数

公式のここ