sqlite3 コマンドでデータベースを操作する基本と実践的な使い方

SQLiteデータベースを操作するためのsqlite3コマンドの基本から応用まで、実践的な使い方を詳しく解説します。初心者でも分かりやすく解説していますが、実務で使える高度な使い方も網羅していますので、ぜひ最後までお読みください。

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)