CentOS8でSQLite3を使ってみる

CentOS8でSQLite3を使ってみる

CentOS8では最初からSQLite3が入っている。

$ sqlite3 --version
3.26.0 2018-12-01 12:34:55 ・・・

DBに接続。初回はDBのファイルが作られる。

$ sqlite3 hoge.sqlite

.showで各種設定情報が表示できる。

sqlite> .show
        echo: off
         eqp: off
         ・・・
    filename: hoge.sqlite

.databaseで現在のDBが確認できる。

sqlite> .database
main: /home/vagrant/hoge.sqlite

テーブルを作成。

sqlite> CREATE TABLE user (id INTEGER, name TEXT);

.tablesでテーブルの一覧が確認できる。

sqlite> .tables
user

.schemaでテーブルのスキーマが確認できる。

sqlite> .schema user
CREATE TABLE user (id INTEGER, name TEXT);

データを追加。

sqlite> INSERT INTO user VALUES (1, 'hoge');

データを取得。

sqlite> SELECT * FROM user;
1|hoge

.headersをonにすると、SELECTの結果にヘッダーが表示される。

sqlite> .headers on
sqlite> SELECT * FROM user;
id|name
1|hoge

.outputで出力先のファイル名を指定し、.dumpでダンプを出力できる。

sqlite> .output hoge.sql
sqlite> .dump

.quitまたは.exitで終了。

sqlite> .quit

ダンプは下記のような感じで出力されている。

$ cat hoge.sql
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE user (id INTEGER, name TEXT);
INSERT INTO user VALUES(1,'hoge');
COMMIT;