MySQL コマンドライン・クライアントとは, Windows のコマンドプロンプトなどで動作するツールです. この Web ページでは,MySQL のコマンド で下記の操作を行う手順を,図解で説明します. (コマンドの簡単な説明と,コマンドを実行させるための操作手順の両方を説明します).
参考 Web ページ: http://itpro.nikkeibp.co.jp/article/COLUMN/20060120/227621/?ST=oss
参考 Web ページ: http://www.javadrive.jp/mysql/administrator/index.html
MySQL も,XAMPP を使ってインストールする方法やMySQL 単体でインストールする方法があります.
この Web ページでは,データベースの作成を行いますので, 作成するデータベースのデータベース論理名と漢字コードと照合順序を決めておくこと. この Web ページでは,次のように書きます.
使用するデータベースの名前のことを,「データベース論理名」と呼ぶことにします. データベース論理名は,自由に決めていいですが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと,
この Web ページでは,データベース・一般ユーザのアカウントを作成しますので,そのユーザ名とパスワードを決めておくこと. この Web ページでは次のように書きます.
※ データベース・一般ユーザのアカウント作成やデータベースの作成と権限の設定には, MySQL データベース管理者 (root)のパスワードが必要になるので,前もって調べておくこと.
MySQL コマンドライン・クライアントが持つ以下の機能を説明します.
Windows のコマンドプロンプトを使います.
MySQL データベース管理者(root) でログインするときは,次のように,-u のあとに「root」と書きます.
mysql -u root -p
このあと,パスワードを入力してログインする.
mysql が起動しないときの対処法
exit で終了
データベース・一般ユーザのアカウント(ユーザ名とパスワード)を作成するには, 次の手順を踏みます.
mysql -u root -p
このあと,パスワードを入力してログインする.
このとき,MySQL データベース管理者(root) でログインすること. 権限上,MySQL データベース管理者だけがアカウントを作成できるため.
ユーザ名として testuser,パスワードとして hoge$#34hoge5 を設定したいときの操作は次の通り.
mysql> create user testuser identified by 'hoge$#34hoge5';
現在ログイン中のユーザについて, パスワードを hoge!%12hoge5に設定したいときの実行例
mysql> set password = PASSWORD('hoge!%12hoge5');
なお,現在ログイン中のユーザが何であるかは,「select USER();」で確認できる.
アカウントの削除 MySQL データベース管理者の権限で, アカウントの削除を行いたいときがあります.このときは 「drop user <ユーザ名> ;」のように,drop user を使います.
データベースを作成するには,次の手順を踏む.
「create database」で,データベースを生成するときに,漢字コードと照合順序を指定できます. (照合順序といっているのは,ソートや集約における照合において,デフォルトでは,大文字と小文字を区別するかそうでないかを指定するという意味です. 詳しくは http://dev.mysql.com/doc/refman/5.0/en/charset-collate.html)
MySQLが扱える漢字コードは,下記のように,複数種類あります.
sjis (Shift-JIS Japanese), cp932 (SJIS for Windows Japanese)
ujis *EUC-JP Japanese), eucjpms (UJIS for Windows Japanese)
utf8 (UFT-8 Unicode), ucs2 (UCS-2 Unicode)
mysql -u root -p
このあと,パスワードを入力してログインする.
このとき,MySQL データベース管理者(root) でログインすること. 権限上,MySQL データベース管理者だけがデータベースを作成できるため.
例えば,
の場合には次のようになります.
mysql> CREATE DATABASE 'testdb' DEFAULT CHARACTER SET cp932 COLLATE cp932_japanese_ci;
「DEFAULT CHARACTER SET ...」の部分は漢字コードの指定, 「COLLATE ...」の部分照合順序の指定です.
※ 単に,「create database testdb;」を実行すると,デフォルトの漢字コードである UTF8 になります(これは UNICODE ).
出来た データベースは,show databasesコマンドで確認できる.
mysql> show databases;
このままでは,出来たデータベースは,MySQL データベース管理者にしか使えない. 権限を設定して,一般ユーザにもデータベースが使えるようにする.
データベース testdb の使用権限を,ユーザtestuser に与えるための操作は次の通り(grant コマンドを使用).
mysql> grant all on testdb.* to 'testuser';
SQL によるテーブルの定義と,問い合わせと,更新の実行例は下記の通り.
要点:最初に,MySQL コマンドライン・クライアントで, 「use testdb;」のように,使用するデータベース名を設定
データベース・一般ユーザのアカウントでログインすること.
mysql -u testuser -p
このあと,パスワードを入力してログインする.
例えば,データベース testdb を使う場合は,次の通り
use testdb;
CREATE TABLE commodity (
type INTEGER primary key not null,
name VARCHAR(32) not null,
price INTEGER );
INSERT INTO commodity VALUES( 1, 'apple', 50 );
INSERT INTO commodity VALUES( 2, 'orange', 20 );
INSERT INTO commodity VALUES( 3, 'strawberry', 100 );
INSERT INTO commodity VALUES( 4, 'watermelon', 150 );
INSERT INTO commodity VALUES( 5, 'melon', 200 );
INSERT INTO commodity VALUES( 6, 'banana', 100 );
SELECT * FROM commodity;
期待される結果.
TYPE NAME PRICE
---- ---------- -----
1 apple 50
2 orange 20
3 strawberry 100
4 watermelon 150
5 melon 200
6 banana 100
以下は,動作画面.
source <ファイル名>
データベース内のテーブル一覧を表示するには,show tablesコマンドを使います. (use コマンドを使いたくないときは,「show tables from testdb;」でも OK ).
mysql> use testdb; mysql> show tables;