SQLiteは軽量なRDBMS。アプリの組み込みDBや小規模アプリなデータベースに適している。サポートしていないSQL文があったり、ユーザ権限管理の仕組みがないなど、大規模なアプリケーションには向かない。作成したデータベースはファイルとして保存される。
yumでインストールできる。公式サイトからも落とせる。
yum install sqlite
構文ルール
■接続/DB作成
接続も作成も同じコマンド。指定したDB名が存在しなければ新しく作成される(何かテーブルが作成されたらファイルとして作成される)。作成済みのDBにアクセスする際は、保管ディレクトリまで移動してファイル名を指定して接続できる。
# sqlite3 hogedb.sqlite
SQLite version 3.6.20
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
■テーブル一覧表示
sqlite> .tables
hogetable hogetable2 hogetable3
■各テーブルのスキーマ確認
sqlite> .schema
CREATE TABLE hogetable("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,"username" text);
CREATE TABLE hogetable2("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,"username" text);
CREATE TABLE hogetable3("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,"username" text);
■テーブル作成
sqlite> create table hogetable("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,"username" text);
■テーブル削除
sqlite> drop table hogetable;
■カラム追加
sqlite> alter table user add column 'tel_info' text;
■カラム削除
SQLiteにはカラム削除操作は存在しない模様
■レコード作成
table名の後ろ括弧内にカラム名を指定する。指定しない場合はvaluesにカンマ区切りでvalueを記載する。
sqlite> insert into hogetable(username) values('test');
■レコード参照
sqlite> select * from hogetable;
1|test
2|test
■レコード削除
whereを省略すると、全レコードが削除される。
sqlite> delete from hogetable where id = '2';
■オートインクリメントの初期化
sqlite_sequenceに値が保管されている。削除すれば初期化される。
sqlite> select * from hogetable;
6|test
sqlite> delete from hogetable;
sqlite> delete from sqlite_sequence where name='hogetable';
sqlite> insert into hogetable(username) values('test');
sqlite> select * from hogetable;
1|test
■Shellから実行
後ろにつければできる。
# sqlite3 hogedb 'select * from hogetable'
1|test
# sqlite3 hogedb 'create table shelldb(address text)'
以上。
Copyright © 2021 たぐたぐ.com. All rights reserved.