TOPサーバ構築・運用> MySQLの具体的な使用例
わかる!MySQL
今からはじめるMySQL

第3回:MySQLを利用する

著者:野村総合研究所  松野 洋希   2007/8/6
前のページ  1  2  3
MySQLの具体的な使用例

   では以下のようなシナリオで、実際にデータベースやテーブルを作成していきます。
  1. rootユーザで「sample_db」データベースを作成
  2. rootユーザで「sample_db」データベース内に「sample_table」テーブルを作成
  3. rootユーザで「sample_db」データベース内のすべてのテーブルに対して、参照・挿入・更新・削除の権限をuserユーザに付与
  4. userユーザで「sample_table」に対して、レコードの参照・挿入・更新・削除

表2:データベース作成のシナリオ

   このシナリオで作成するテーブルの定義を表3に示します。

列名 桁数 主キー NULL可 初期値
id INT 不可
name VARCHAR 30 名無しの権兵衛

表3:sample_table の定義


1.データベース作成・確認

   rootユーザでログインし、「sample_db」を作成してSHOW DATABASESコマンドにより、データベースが作成されたことを確認します。

$ mysql -u root
mysql> CREATE DATABASE sample_db;
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| sample_db          |
| test               |
+--------------------+
4 rows in set (0.00 sec)


2.テーブル作成・確認

   rootユーザでログインし、「sample_db」を選択し、データベース内に「sample_table」を作成します。その後、SHOW TABLESコマンドとDESCRIBEコマンドにより、テーブルが作成されたことを確認します。

$ mysql -u root
mysql> USE sample_db;
mysql> CREATE TABLE sample_table (
->     id INT NOT NULL PRIMARY KEY,
->     name VARCHAR(30) DEFAULT '名無しの権兵衛'
-> );
mysql> SHOW TABLES;
+---------------------+
| Tables_in_sample_db |
+---------------------+
| sample_table        |
+---------------------+
1 row in set (0.00 sec)
mysql> DESCRIBE sample_table;
+-------+-------------+------+-----+-----------------------+-------+
| Field | Type        | Null | Key | Default               | Extra |
+-------+-------------+------+-----+-----------------------+-------+
| id    | int(11)     | NO   | PRI |                       |       |
| name  | varchar(30) | YES  |     | 名無しの権兵衛        |       |
+-------+-------------+------+-----+-----------------------+-------+
2 rows in set (0.01 sec)


3.アクセス権追加

   rootユーザでログインし、GRANTコマンドを実行します。userユーザに「sample_db」データベースのすべてのテーブルに対して、参照・挿入・更新・削除の権限を追加で付与することができます。

$ mysql -u root
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON sample_db.* TO user@'%';


4.レコード作成・更新・削除・参照

   userユーザでログインし、「sample_db」を選択します。「sample_table」テーブルにレコードを3件追加し、テーブル全体を参照します。さらに、1レコードを更新、1レコードを削除し、再度テーブル全体を参照します。

$ mysql -u user -p

mysql> USE sample_db;
mysql> INSERT INTO sample_table (id, name) values (1, '山田 太郎');
mysql> INSERT INTO sample_table (id, name) values (2, '山田 次郎');
mysql> INSERT INTO sample_table (id) values (3);

mysql> SELECT * FROM sample_table;
+----+-----------------------+
| id | name                  |
+----+-----------------------+
|  1 | 山田 太郎             |
|  2 | 山田 次郎             |
|  3 | 名無しの権兵衛        |
+----+-----------------------+
3 rows in set (0.00 sec)

mysql> UPDATE sample_table set name = '山田 三郎' where id = 3;
mysql> DELETE FROM sample_table where id = 1;
mysql> SELECT * FROM sample_table;
+----+---------------+
| id | name          |
+----+---------------+
|  2 | 山田 次郎     |
|  3 | 山田 三郎     |
+----+---------------+
2 rows in set (0.00 sec)


まとめ

   今回は、ユーザの作成・権限の付与、基本的なコマンドの紹介など、MySQLを使用する上で基本的な操作方法ついて説明を行いました。この3回の記事を参考にして、MySQLのインストールから、設定、利用など一通りの手順が理解していただけたのではないかと思います。

   さらに理解を深めるには、MySQL ABの情報などを参考にしていただくとよいでしょう。操作方法に関する不明点についてはOSSユーザコミュニティサイトで質問していただければと思います。


前のページ  1  2  3


株式会社野村総合研究所 松野 洋希
著者プロフィール
株式会社野村総合研究所  松野 洋希
情報技術本部  オープンソースソリューションセンター
大規模コンシューマ向けWebサイトのインフラ構築にあたり、オープンソースのフレームワークやミドルウェアの検証・評価に携わる。2003年、日本人としては初めてJBoss社の認定コンサルタントに合格。現在は、金融系システム基盤へオープンソースソフトウェアを適用するために設計・構築を行っている。

NRIオープンソースサポートサービス OpenStandia
http://www.nri-aitd.com/openstandia/


INDEX
第3回:MySQLを利用する
  MySQLの利用
  ユーザ作成と権限付与の動作確認
MySQLの具体的な使用例