検索
連載

MySQLの基礎を学ぼう [準備編]今から始める MySQL入門(4)(1/3 ページ)

Share
Tweet
LINE
Hatena

 連載第3回目では、PHPのサンプルコードを実際に見ながらフォームデータの受け渡しやファイル操作について解説しました。

 今回は、本連載の主役「MySQL」の登場です! 次回以降のサンプル開発で必要となるMySQLの基礎知識とその下準備について解説します。基礎の習得と下準備をしっかり行い、次回以降で本格的に着手する「簡易オンラインストア」の開発に備えましょう。

関連リンク:

連載 快速MySQLでデータベースアプリ!

http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.html

連載 今から始める MySQL入門

http://www.atmarkit.co.jp/flinux/index/indexfiles/mysql5index.html


MySQLの導入と動作確認

 ここでは、MySQLによるデータの参照や登録方法について解説する前に、MySQLの基礎知識と操作方法を中心に解説します。

 MySQLのインストールについては、連載第1回目を参考にしてください。正常にインストールが完了していれば、MySQLの各コマンドが使用できます。それでは、動作確認として以下のコマンドを入力してみましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 同じように表示されましたでしょうか?

 「-u」オプションでrootユーザーを指定します。MySQLの初期設定では、localhostからのrootユーザー接続にパスワードが設けられていません(注)

注:デフォルトでは、リモートホストからの接続は制限されています。しかし、localhostからのrootユーザー接続にはパスワードが設けられていません。


 rootユーザーのパスワードを設定するには、以下のコマンドを実行します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

データベース、テーブル、ユーザー権限

 MySQLでは、同一サーバ内に複数のデータベースを作成します(Oracleのインスタンスのようなイメージ)。さらに、データベースの中にテーブルを作成して利用します。なお、OSで用意されるユーザーとは別に、MySQLでは専用の権限情報を使用します。そのため、OS上にアカウントを持っていても、MySQLで正しく権限設定をしていなければ使用できません。

図1 MySQLサーバの概念図
図1 MySQLサーバの概念図
図2 テーブルの概念図
図2 テーブルの概念図

MySQLの基本操作

 MySQLの基本操作については、MySQL3.23を基にした「快速MySQLでデータベースアプリ!第2回『mysqlコマンドでデータベース操作』」を参考にしてください(注)

注:MySQL5.0での変更/追加点については後述します。


mysqlクライアントの実行

 ここでは、mysqlクライアントの実行方法を紹介します。

 「mysql」コマンドに「-u」でユーザー名を指定します。また、パスワードの入力を必要とする場合は「-p」を指定します。そして、オプションに続いてデータベース名を指定します。

 mysqlコマンドを実行すると「mysql>」プロンプトが表示されます(クエリー入力モードに入ります)。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

テーブルの作成

 テーブルを作成するには、CREATEクエリーを使用します。「test」データベースの中に「test_table」テーブルを作成する場合は、以下の「CREATE TABLE」クエリーを実行します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 実行したら、テーブルが正しく作成されているかどうかを「SHOW TABLES」クエリーで確認します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

データの挿入

 データの挿入には、「INSERT」クエリーを使用します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

データの抽出

 データを抽出するには、「SELECT」クエリーを使用します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 また、条件付きでデータの抽出を行いたい場合は、「WHERE句」を付けます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

データの更新

 データを更新するには、「UPDATE」クエリーを使用します。先ほど紹介したWHERE句を用いることで、特定の行だけを更新できます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

ユーザー権限の設定

 ここまでは、便宜上「root」ユーザーで各種操作を行いましたが、rootユーザーに与えられている権限を使用し続けることは大変危険です。実際の利用では、専用のユーザーを作成して使用するようにします。

 以下のようにすると、testデータベースの全テーブルにSELECT/INSERT/UPDATE/DELETE権限を与えることができます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 クライアントのアドレスを限定しない場合には「%」を指定します。なお、MySQLでは同じユーザー名であっても、ローカルからの接続とリモートからの接続とでは、別々のユーザーとして認識されます。ローカルホストからの接続を明示的に設定するには、以下のように「GRANT」クエリーを実行する必要があります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 権限が不要になった際にユーザー権限をはく奪する場合は、「REVOKE」クエリーを実行します。そして、「DROP USER」クエリーでユーザーを削除します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***


Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る