SQLite インストール / 操作

SQLiteとは

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.