はじめに
この実験 (Lab) では、sqlite3 コマンドラインツールを使用して SQLite データベースを操作する基本的な方法を学びます。SQLite は、初心者にとって理想的な、軽量なファイルベースのデータベースシステムです。データベースの作成、テーブルの作成、データの挿入、データのクエリ、カラムの追加、データの更新、そして最後にデータベースファイルの削除を行います。さあ、始めましょう!
SQLite データベースの作成と接続
このステップでは、新しい SQLite データベースファイルを作成し、sqlite3 コマンドラインツールを使用してそれに接続します。
LabEx VM 環境でターミナルを開きます。デフォルトでは、
/home/labex/projectディレクトリにいるはずです。以下のコマンドを実行して確認してください。pwd出力は次のようになります。
/home/labex/projectこのディレクトリにいない場合は、次のコマンドを実行して移動してください。
cd /home/labex/projectsqlite3コマンドを使用して、mydatabase.dbという名前の新しい SQLite データベースを作成し、それに接続します。sqlite3 mydatabase.dbこのコマンドは、指定されたデータベースファイルが存在しない場合は作成し、接続を開きます。SQLite プロンプトが表示されます。
SQLite version 3.x.x Enter ".help" for usage hints. sqlite>
sqlite3 コマンドは、SQLite データベースの作成と接続の両方に使用されます。指定されたデータベースファイルが存在しない場合、SQLite はそれを自動的に作成します。これで、SQLite 環境内で SQL コマンドを実行する準備が整いました。
'users'テーブルの作成
このステップでは、mydatabase.db データベース内に users という名前のテーブルを作成します。
SQLite プロンプトで、以下の SQL コマンドを使用して users という名前のテーブルを作成します。
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
);
このコマンドは、users テーブルの構造を定義します。id カラムは整数であり、主キー (PRIMARY KEY) となっており、各ユーザーに一意の識別子があることを保証します。name カラムは空にできないテキストフィールド (NOT NULL) であり、age カラムは整数です。
CREATE TABLE コマンドは、データベース内のテーブル構造を定義するために使用される基本的な SQL コマンドです。PRIMARY KEY 制約は id カラムに各行に対して一意の値が含まれることを保証し、NOT NULL 制約は name カラムが空にできないことを保証します。
'users'テーブルへのデータ挿入
users テーブルを作成したので、データを挿入できます。これには、テーブルに行(レコード)を追加することが含まれ、各行はユーザーとその対応する情報を表します。
INSERT INTO コマンドを使用して、以下のレコードを users テーブルに挿入します。
INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);
これらのコマンドは、users テーブルに 3 つの新しい行を追加します。各行には id、name、age が含まれます。
INSERT INTO コマンドは、テーブルに新しい行を追加するために使用されます。テーブル名の後の括弧内にリストされた対応するカラムに、VALUES 句で指定された値が挿入されます。
'users'テーブルからのデータクエリ
このステップでは、SELECT コマンドを使用して users テーブルからデータを問い合わせる方法を学びます。これにより、データベースから特定の情報を取得できます。
以下の SQL コマンドを使用して、users テーブルからすべてのデータを取得します。
SELECT * FROM users;
このコマンドは、users テーブルのすべての行からすべてのカラム(*)を選択します。出力には、前のステップで挿入したデータが表示されます。以下のような表示になるはずです。
1|Alice|25
2|Bob|30
3|Charlie|22
SELECT コマンドは、データベースからデータを取得するための強力なツールです。* ワイルドカード文字は、すべてのカラムを選択することを指定します。カラム名をカンマで区切ってリストすることで、特定のカラムを選択することもできます(例:SELECT name, age FROM users;)。
新しいカラムの追加とデータ更新
このステップでは、users テーブルに email という名前の新しいカラムを追加し、既存のレコードをメールアドレスで更新します。
ALTER TABLEコマンドを使用して、usersテーブルにemailという名前の新しいカラムを追加します。ALTER TABLE users ADD COLUMN email TEXT;このコマンドは、
usersテーブルにTEXT型のemailという名前の新しいカラムを追加します。UPDATEコマンドを使用して、各ユーザーのemailカラムを更新します。UPDATE users SET email = 'alice@example.com' WHERE id = 1; UPDATE users SET email = 'bob@example.com' WHERE id = 2; UPDATE users SET email = 'charlie@example.com' WHERE id = 3;これらのコマンドは、対応するメールアドレスで各ユーザーの
emailカラムを更新します。usersテーブルを問い合わせて、更新されたデータを確認します。SELECT * FROM users;1|Alice|25|alice@example.com 2|Bob|30|bob@example.com 3|Charlie|22|charlie@example.com
ALTER TABLE コマンドは、既存のテーブルの構造を変更するために使用されます。この場合、新しいカラムを追加しています。UPDATE コマンドは、テーブル内の既存のデータを変更するために使用されます。SET 句は、どのカラムを更新するか、および新しい値を指定します。WHERE 句は、条件に基づいてどの行を更新するかを指定します。
SQLite の終了とデータベースファイルの削除
このステップでは、SQLite インターフェースを終了し、データベースファイルを削除します。SQLite はすべてのデータを単一のファイルに保存するため、データベースの削除は rm コマンドを使用してファイルを削除するのと同じくらい簡単です。この操作は元に戻せないので注意してください!
SQLite プロンプトを終了します。
.quit/home/labex/projectディレクトリにいることを確認します。確認するには以下を実行します。pwd出力は以下のようになるはずです。
/home/labex/projectそうでない場合は、以下のコマンドで移動してください。
cd /home/labex/projectrmコマンドを使用してmydatabase.dbファイルを削除します。rm mydatabase.db削除が成功した場合、出力はありません。
ディレクトリの内容を再度リストして、ファイルが削除されたことを確認します。
ls出力に
mydatabase.dbが表示されなくなり、ファイルが削除されたことが確認できます。
.quit コマンドは SQLite シェルを終了し、Linux ターミナルに戻ります。rm コマンドは、ファイルを削除するために使用される標準的な Linux コマンドです。この場合、SQLite データベースのすべてのデータと構造を含む mydatabase.db ファイルを永続的に削除します。
まとめ
この実験では、sqlite3 コマンドラインツールを使用して SQLite データベースを作成および管理するための基本的なスキルを学びました。データベースの作成、テーブルの作成、データの挿入、データの問い合わせ、新しいカラムの追加、データの更新、そして最後にデータベースファイルの削除を行いました。これらのステップは、SQLite データベースを扱う上での強固な基盤となります。


