MySQL コマンドライン・クライアントの主な機能と使い方

概要

MySQL コマンドライン・クライアントは,Windowsや Ubuntu で動作するデータベース管理ツールである.本ページでは,MySQL の基本コマンドによるデータベース管理の操作手順を説明する.

目次

【サイト内の関連ページ】

MySQL 活用ガイド

前準備とインストール

MySQL のインストール方法

事前に決めておく項目

データベース構築の前に,データベース名,文字エンコーディング,照合順序を決めておく.本ページでは,次の設定例で説明を進める.

MySQL で使える主要な文字エンコーディングは次のとおりである.

また,データベース・一般ユーザのアカウント設定では,ユーザ名パスワードを用意する.本ページでは,次の設定例を使う.

重要アカウントの作成データベースの作成と権限設定には,MySQL データベース管理者(root)のパスワードが必要である.事前に確認しておくこと.

起動と終了の手順

Windows 環境での起動手順

  1. コマンド「mysql -u root -p -D mysql」を実行して MySQL に接続する.

    root」は MySQL データベース管理者のユーザ名を指定する.「-D mysql」は,使用するデータベースを mysql に設定するオプションである.

    mysql -u root -p -D mysql
    
  2. プロンプトが表示されたら,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コマンドを使う.

  1. 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;
    
  2. データベースの作成確認

    作成したデータベースは,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;