データベースとテーブルのセットアップ
トランザクションを扱う前に、データベースとテーブルをセットアップする必要があります。このステップでは、bank_db という名前のデータベースと、銀行業務をシミュレートするための accounts テーブルを作成します。
まず、デスクトップからターミナルを開きます。
root ユーザーとして MySQL サーバーに接続します。この実験 (Lab) 環境では、root ユーザーにパスワードは不要です。
sudo mysql -u root
接続すると、MySQL プロンプト (mysql>) が表示され、SQL コマンドを実行できることを示します。
bank_db データベースを作成し、現在のセッションで使用するために切り替えます。IF NOT EXISTS 句は、データベースが既に存在する場合にエラーを防ぎます。
CREATE DATABASE IF NOT EXISTS bank_db;
USE bank_db;
次に、accounts テーブルを作成します。このテーブルは、ID、口座番号、残高を含む口座情報を格納します。
CREATE TABLE accounts (
id INT AUTO_INCREMENT PRIMARY KEY,
account_number VARCHAR(20) UNIQUE NOT NULL,
balance DECIMAL(10, 2) NOT NULL
);
これで、accounts テーブルに 2 つのサンプル口座を挿入します。これらが開始データとして使用されます。
INSERT INTO accounts (account_number, balance) VALUES
('ACC001', 1000.00),
('ACC002', 500.00);
テーブルとデータが正しく作成されたことを確認するために、次のクエリを実行します。
SELECT * FROM accounts;
挿入した 2 つの口座が表示されるはずです。出力は次のようになります。
+----+----------------+---------+
| id | account_number | balance |
+----+----------------+---------+
| 1 | ACC001 | 1000.00 |
| 2 | ACC002 | 500.00 |
+----+----------------+---------+
2 rows in set (0.00 sec)
データベースとテーブルの準備ができたので、トランザクションについて学習する準備が整いました。