# 生成 CREATE DATABASE <DB名>; # 削除 DROP DATABASE <DB名>; # 表示 \l # 接続 \c <DB名>
# 生成 CREATE [TEMPORARY] TABLE [ IF NOT EXISTS ] <テーブル名> ... # 削除 DROP TABLE [IF EXISTS] <テーブル名> # 表示 \dt # 定義確認 \d <テーブル名>
# 生成 CREATE TABLESPACE <テーブルスペース名> [OWNER <ユーザー名>] LOCATION '<ディレクトリ>'; # 削除 DROP TABLEESPACE [IF EXISTS] <テーブルスペース名> # 表示 \db
# 生成
CREATE TRIGGER <トリガー名>
{BEFORE|AFTER|INSTED OF} {INSERT|UPDATE [OF <カラム名>]|DELETE|TRUNCATE} [OR ...]
ON <テーブル名>
[ FOR [EACH] {ROW|STATEMENT}]
EXECUTE PROCEDURE <関数名>(<引数>);
# 削除
DROP TRIGGER [IF EXISTS] <トリガー名> ON <テーブル名>
# 確認
SELECT * FROM pg_trigger;# 生成 CREATE DATABASE <DB名>; # 削除 DROP DATABASE <DB名>; # 確認 SHOW DATABASES; # 選択 USE <DB名>
# 生成 CREATE [TEMPORARY] TABLE [ IF NOT EXISTS ] <テーブル名> ... # 削除 DROP TABLE [IF EXISTS] <テーブル名>; # 確認 SHOW TABLES; # 定義確認 SHOW [FULL] COLUMNS FROM <テーブル名>;
# 生成 CREATE TABLESPACE <テーブルスペース名> [ADD DATAFILE '<ファイル名>'] [FILE_BLOCK_SIZE=<サイズ>]; # 削除 DROP TABLESPACE <テーブルスペース名>; # 確認 SELECT * FROM INFORMATION_SCHEMA.TABLESPACES;
# 生成
CREATE TRIGGER <トリガー名>
{BEFORE|AFTER} {INSERT|UPDATE|DELETE}
ON <テーブル名>
[FOR EACH ROW]
BEGIN
~
END;
# 削除
DROP TRIGGER [IF EXISTS] <トリガー名>
# 確認
SHOW TRIGGERS [FROM <DB名>]# 生成 CREATE [TEMPORARY] TABLE [ IF NOT EXISTS ] <テーブル名> ... # 削除 DROP TABLE [IF EXISTS] <テーブル名>; # 確認 .tables # テーブル定義確認 .schema <テーブル名>
# 生成
CREATE TRIGGER [IF NOT EXISTS] <トリガー名>
{BEFORE|AFTER|INSTED OF} {INSERT|UPDATE [OF <カラム名> [,<カラム名>}]|DELETE}
ON <テーブル名>
[FOR EACH ROW]
BEGIN
~
END;
# 削除
DROP TRIGGER [IF EXISTS] <トリガー名>
# 確認
SELECT * FROM sqlite_master WHERE type='trigger';# # TABLE 作成 # CREATE TABLE IF NOT EXISTS <テーブル名> ( created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); # # FUNCTION 作成 # CREATE OR REPLACE FUNCTION <関数名>() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = NOW(); RETRN NEW; END; $$ language plpgsql; # # TRIGGER 作成 # CREATE OR REPLACE TRIGGER <トリガー名> BEFORE UPDATE ON <テーブル名> FOR EACH ROW EXECUTE PROCEDURE <関数名>()
# # TABLE 作成 # CREATE TABLE IF NOT EXISTS <テーブル名> ( created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
#
# TABLE 作成
#
CREATE TABLE IF NOT EXISTS <テーブル名> (
created_at TEXT NOT DEFAULT (DATETIME('now', 'localtime')),
updated_at TEXT NOT DEFAULT (DATETIME('now', 'localtime'))
);
#
# TRIGGER 作成
#
CREATE TRIGGER IF NOT EXISTS <トリガー名> AFTER UPDATE ON <テーブル名>
BEGIN
UPDATE <テーブル名> SET updated_at = DATETIME('now', 'localtime') WHERE rowid = NEW.rawid;
END;