MySQL コマンドライン・クライアントの主な機能と使い方
【概要】
MySQL コマンドライン・クライアントは,Windowsや Ubuntu で動作するデータベース管理ツールである.本ページでは,MySQL の基本コマンドによるデータベース管理の操作手順を説明する.
【目次】
【サイト内の関連ページ】
前準備とインストール
MySQL のインストール方法
- Windows 環境での MySQL インストール手順:詳細な手順はこちら »
- Ubuntu 環境での MySQL インストール手順:詳細な手順はこちら »
事前に決めておく項目
データベース構築の前に,データベース名,文字エンコーディング,照合順序を決めておく.本ページでは,次の設定例で説明を進める.
- データベース名:testdb
データベース名には,半角英数字と記号のみを使い,スペースを含めない.
- 文字エンコーディング:cp932
- 照合順序:cp932_japanese_ci
照合順序は,データベース内での文字列の比較やソートにおいて,大文字・小文字の区別方法などを定める設定である.
- シフトJIS系:sjis(標準Shift-JIS),cp932(Windows 用SJIS)
- EUC-JP系:ujis(標準EUC-JP),eucjpms(Windows 用UJIS)
- Unicode系:utf8mb4(4バイトまでのUTF-8.推奨),utf8mb3(3バイトまでのUTF-8.非推奨),ucs2(UCS-2 Unicode)
また,データベース・一般ユーザのアカウント設定では,ユーザ名とパスワードを用意する.本ページでは,次の設定例を使う.
- ユーザ名:testuser
- パスワード:HOGE$#34hoge5
重要:アカウントの作成やデータベースの作成と権限設定には,MySQL データベース管理者(root)のパスワードが必要である.事前に確認しておくこと.
起動と終了の手順
Windows 環境での起動手順
- コマンド「mysql -u root -p -D mysql」を実行して MySQL に接続する.
「root」は MySQL データベース管理者のユーザ名を指定する.「-D mysql」は,使用するデータベースを mysql に設定するオプションである.
mysql -u root -p -D mysql - プロンプトが表示されたら,MySQL データベース管理者のパスワードを入力する.
入力したパスワードは画面に表示されない.
Ubuntu 環境での起動手順
「sudo mysql -D mysql」コマンドで接続する.「-D mysql」は,使用するデータベースを mysql に設定するオプションである.
sudo mysql -D mysql
MySQL の終了方法
「exit」コマンドで終了する.
exit
アカウント管理(ユーザ名とパスワード)
アカウントの新規作成手順
新規アカウントの作成には,create userコマンドを使う.以下は,ユーザ名testuser,パスワードHOGE$#34hoge5で作成する例である.パスワードには,推測されにくい固有の値を設定する.
「select user, host from mysql.user;」で,作成したユーザを確認できる.
create user 'testuser'@'localhost' identified by 'HOGE$#34hoge5';
select user, host from mysql.user;
パスワードの変更方法
既存のユーザtestuserのパスワードをHOGE!%12hoge5に変更する場合は,次の mysqladmin コマンドを実行する.
mysqladmin -u testuser -p password "HOGE!%12hoge5"
「-p」を付けると,現在のパスワードの入力を求められる.
アカウントの削除手順
不要になったアカウントを削除する場合は,「drop user <ユーザ名>;」コマンドを使う.
データベースの作成と管理
データベースの新規作成手順
新規データベースの作成には,create databaseコマンドを使う.
- create database コマンドによる作成
設定例:データベース名testdb,文字エンコーディングcp932,照合順序cp932_japanese_ci.作成コマンドは次のとおり.
create database testdb default character set cp932 collate cp932_japanese_ci;「default character set」で文字エンコーディングを,「collate」で照合順序を指定する.
別の設定例として,文字エンコーディングutf8mb4,照合順序utf8mb4_unicode_ciを使う場合のコマンドは次のとおり.
create database testdb default character set utf8mb4 collate utf8mb4_unicode_ci;
- データベースの作成確認
作成したデータベースは,show databasesコマンドで一覧表示できる.
show databases;
データベース権限の設定
新規作成したデータベースは,既定では作成者のみがアクセスできる.他のユーザにアクセス権限を与えるには,権限設定が必要である.
データベースtestdbの全操作権限をユーザtestuserに与えるには,次の grant コマンドを実行する.
grant all on testdb.* to 'testuser'@'localhost';
データベースの削除方法
不要になったデータベースを削除するには,「drop database <データベース名>;」コマンドを使う.
SQLクエリの実行
create table commodity (
id 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;
実行結果の例:
+----+------------+-------+
| id | name | price |
+----+------------+-------+
| 1 | apple | 50 |
| 2 | orange | 20 |
| 3 | strawberry | 100 |
| 4 | watermelon | 150 |
| 5 | melon | 200 |
| 6 | banana | 100 |
+----+------------+-------+
SQLファイルの実行方法
SQLコマンドを記述したファイルを実行するには,source コマンドを使う.
source <ファイル名>
テーブル一覧の表示
データベース内のテーブルを一覧表示するには,show tablesコマンドを使う.
show tables;