SQLite 基本操作

超久々に 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

コメント

タイトルとURLをコピーしました