超久々に SQLite を触ったら(前触った時は SQLite3 はなかったはず)完全に忘れ去っていたので、超基本操作をメモ。
DB 作成
sqlite3 xxx
テーブル一覧
.tables
スキーマ一覧
.schema
適当にテーブル作成。
基本的には他の RDB と同じように書ける。
drop table posts;
drop table users;
CREATE TABLE users (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255),
created_at TIMESTAMP NOT NULL default CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL default CURRENT_TIMESTAMP
);
CREATE TABLE posts (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
title VARCHAR(255) NOT NULL,
body TEXT,
created_at TIMESTAMP NOT NULL default CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL default CURRENT_TIMESTAMP,
CONSTRAINT fk_posts_user_id FOREIGN KEY (user_id) REFERENCES users (id)
);
CREATE INDEX posts_user_id ON posts (user_id);
データを登録してみる
sqlite> insert into users (name) values('test1');
sqlite> insert into users (name) values('test2');
sqlite> insert into users (name) values('test3');
sqlite> insert into users (name) values('test4');
結果
sqlite> select * from users;
1|test1|2022-03-16 16:09:05|2022-03-16 16:09:05
2|test2|2022-03-16 16:09:07|2022-03-16 16:09:07
3|test3|2022-03-16 16:09:10|2022-03-16 16:09:10
4|test4|2022-03-16 16:09:12|2022-03-16 16:09:12
コメント