sqlite3 コマンドの基礎と活用法
sqlite3コマンドの特徴
💾
軽量なデータベース管理
ファイル単位でデータベースを管理でき、サーバー不要で利用可能です
⚡
高速な処理性能
インメモリデータベースにも対応し、高速なデータ処理が可能です
🔧
豊富なコマンド群
データベース操作からバックアップまで、多様な機能を提供します
sqlite3 コマンドの基本操作とデータベース接続
まずはsqlite3コマンドの基本的な使い方から見ていきましょう。データベースへの接続は以下のコマンドで行います:
sqlite3 データベース名.db
新規データベースを作成する場合も同じコマンドを使用します。存在しないデータベース名を指定すると、自動的に新規作成されます。
基本的なコマンドの例をご紹介します:
.help -- ヘルプの表示
.tables -- テーブル一覧の表示
.schema -- テーブル定義の表示
.exit -- データベースを閉じて終了
sqlite3 コマンドでのテーブル操作とデータ管理
テーブルの作成や操作は以下のようなSQL文で行います:
CREATE TABLE sample (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
value INTEGER
)
INSERT INTO sample (name, value) VALUES ('テスト', 100)
データの取得は以下のように行います:
SELECT * FROM sample WHERE value > 50
sqlite3 コマンドのバックアップと復元機能
データベースのバックアップは非常に重要な機能です。以下のコマンドで実行できます:
.output backup.sql
.dump
.output stdout
復元する場合は以下のコマンドを使用します:
.read backup.sql
sqlite3 コマンドでのデータ入出力とフォーマット制御
CSVファイルとの連携も簡単に行えます:
.mode csv
.import data.csv テーブル名
.output export.csv
SELECT * FROM テーブル名
出力フォーマットは以下のモードから選択できます:
- csv: CSVフォーマット
- column: 整形された列形式
- list: パイプ区切り
- html: HTML表形式
- insert: INSERT文形式
sqlite3 コマンドのパフォーマンスチューニング
データベースのパフォーマンスを向上させるためのコマンドをご紹介します:
PRAGMA journal_mode=WAL
PRAGMA synchronous=NORMAL
PRAGMA cache_size=10000
これらの設定により、書き込み性能が大幅に向上します。
パフォーマンスモニタリングには以下のコマンドが有用です:
.timer ON
SELECT count(*) FROM large_table
また、インデックスの作成も重要です:
CREATE INDEX idx_name ON table_name(column_name)