前回記事:MySQLなどのRDBでSELECT文を使いこなす方法では、SELECT文のごく基本的な構文から発展的な使い方までを詳しくご紹介致しました。
さて今回は、MySQLを使用する現場でよく使われるコマンド30種類について、一覧にまとめてご紹介したいと思います。
目次
1.1 OSの種類とバージョン
1.2 MySQLのバージョン
1.3 DBに接続するツール
2.1 データベースに接続(ログイン)する
2.2 データベースを切断(ログアウト)する
2.3 コマンドラインからMySQL Serverを起動する
2.4 コマンドラインからMySQL Serverを停止する
2.5 コマンドラインからMySQL Serverを再起動する
2.6 パスワードを変更する
2.7 ユーザを作成する
2.8 ユーザ一覧を確認する
2.9 ユーザの権限を変更する
2.10 ユーザの権限を確認する
2.11 ヘルプ(オプション一覧)を表示する
2.12 データをCSVにエクスポートする
2.13 データをCSVからインポートする
2.14 データをdumpファイルにエクスポート(バックアップ)する
2.15 データをdumpファイルからインポート(リストア)する
3.1 データベース一覧を表示する
3.2 データベースを作成する
3.3 データベースを削除する
3.4 使用中(操作対象)のデータベースを切り替える
3.5 テーブル一覧を表示する
3.6 テーブルを作成する
3.7 テーブルを削除する
3.8 テーブル定義を参照する
3.9 テーブル名(ほかテーブル定義)を変更する
3.10 テーブルにカラムを追加する
3.11 カラムの名称やデータ型を変更する
3.12 カラムを削除する
3.13 テーブルにレコード(データ)を追加する
3.14 レコード(データ)を削除する
3.15 レコード(データ)を参照する
1.使用環境とバージョン
まず、今回ご紹介するコマンドの使用環境はこちらです。
1.1 OSの種類とバージョン
Windows10 64bit
1.2 OSの種類とバージョン
MySQL Server 5.7.17
1.3 OSの種類とバージョン
MySQL Command Line Client 5.7
または
Windowsコマンドプロンプト
2.基本のコマンド
■対象ツール:MySQL Command Line Client
スタートメニューから[MySQL Command Line Client]を選択すると、クライアントが起動します。
[スタートメニュー]>[MySQL]>[MySQL Command Line Client]
起動するとルートのパスワード入力が求められるので、入力するとログイン完了です。
■対象ツール:コマンドプロンプト
まず環境変数「Path」に、次のアドレスを追加します。
C:\Program Files\MySQL\MySQL Server 5.7\bin
パスを設定したら、コマンドプロンプト上で以下のコマンドが有効になります。
mysql -u root -p
コマンドを実行するとパスワードが聞かれるので、入力するとログイン完了です。
2つのツール共に、さらに詳しい手順は以下の記事をご覧ください。
■対象ツール:MySQL Command Line Client
「exit」または「quit」と入力するとMySQLサーバとの接続を切断し、さらに自動的にウィンドウが閉じられます。
■対象ツール:コマンドプロンプト
同じく「exit」または「quit」と入力すると、MySQLサーバとの接続を切断し、通常のコマンドプロンプトのコマンドラインに戻ります。
2つのツール共に、さらに詳しい手順は以下の記事をご覧ください。
2.3 コマンドラインからMySQL Serverを起動する
MySQL Serverの起動と停止は、Windowsの「サービス」やWorkbenchなどのGUIツールから行うだけでなく、コマンドラインから行うことも可能です。
■対象ツール:コマンドプロンプト
コマンドプロンプト上で、次のように入力します。
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld"
なおこの場合MySQLにはログインせず、コマンドプロンプト上のコマンドとして実行します。
MySQLのバージョンによりパスが異なります。また「"」(ダブルクォーテーション)で囲むことをを忘れないようご注意下さい。
■対象ツール:コマンドプロンプト
こちらもコマンドプロンプト上で、次のコマンドを実行します。
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root -p shutdown
するとrootユーザのパスワードが要求されるので、入力すれば完了です。
■対象ツール:コマンドプロンプト
再起動の場合も、停止動作を行った後にさらに起動動作を行うことで実行可能です。
■対象ツール:共通
rootユーザのパスワードを変更する場合、(1)まず使用中データベースを「mysql」にセットします。(2)次にパスワードの再設定を行い、(3)システムに変更を反映します。(4)最後にログアウトし、完了です。次回からのログインは新しいパスワードで行うようになります。
use mysql ・・・(1)
UPDATE user SET authentication_string=password('[新パスワード]')
WHERE user='root'; ・・・(2)
flush privileges; ・・・(3)
Exit ・・・(4)
WEHERE User=の後に指定するユーザを変更することで、指定したユーザのパスワードを変更することも可能です。
■対象ツール:共通
ユーザを新規作成するには、CREATE USER文を使います。
CREATE USER '[ユーザ名]'@'[ホスト名]' IDENTIFIED BY '[パスワード]';
■対象ツール:共通
登録済みのユーザを確認するには、SELECT文を使用します。
SELECT user, host FROM mysql.user;
■対象ツール:共通
CREATE USER文でユーザを作成した場合、初期設定では権限「なし」の状態なので、GRANT文を使い権限を付与する必要があります。
GRANT [権限] ON [適用対象のデータベース].[適用対象のテーブル]
TO '[ユーザ名]'@'[ホスト名]' IDENTIFIED BY '[パスワード]';
FLUSH PRIVILEGES;
ちなみにGRANT文で存在しないユーザを指定した場合、最初から権限を付与した状態でそのユーザが新規で作成されます。そのため、CREATE USER文よりもGRANT文を使用する場面の方が多いようです。
なお設定可能な権限一覧など、権限について詳しくは以下の記事をご覧ください。
■対象ツール:共通
権限を確認したい場合は、SHOW GRANTS文を使います。
SHOW GRANTS FOR 'ユーザ名'@'ホスト名';
■対象ツール:共通
ヘルプを表示すると、指定したコマンドのオプション一覧など詳細を表示することができます。ヘルプを表示するオプションには、二通りあります。
[ヘルプを表示したいコマンド] -?
または
[ヘルプを表示したいコマンド] --help
■対象ツール:共通
SELECT文の実行結果をCSVファイルに出力したい場合は、INTO OUTFILEを使用します。
SELECT * FROM [テーブル名] INTO OUTFILE '[出力先ファイルパス]';
区切り文字や改行コードの指定などのオプションについて詳しくは、次の記事をご参照下さい。
■対象ツール:共通
CSVファイルを用いてデータをインポートする場合、LOAD DATA INFILEを使用します。
LOAD DATA INFILE '[入力元ファイル名]' INTO TABLE [テーブル名];
インポートにもエクスポートと同じく、オプションを指定することができます。詳しくはこちらの記事をご参照下さい。
■対象ツール:コマンドプロンプト
データをdumpファイルに保存する場合、mysqldumpコマンドを使用します。なおこのコマンドはWindows用の実行ファイルを呼び出すものであるため、サーバにはログインしない状態で、コマンドプロンプト上で実行しなければエラーになります。
mysqldump -u[ユーザ名] -p[パスワード] -h[ホスト名]
[データベース名] [テーブル名1],[テーブル名2],... [オプション]
> [保存先ファイル名] (※<および>は半角)
mysqldumpのオプションや保存場所など詳しい使用方法については、次の記事をご参照下さい。
■対象ツール:コマンドプロンプト
dumpファイルを復元する場合、同じくサーバにログインしていない状態のコマンドプロンプト上で「mysql」コマンドを実行します。
mysql -u[ユーザ名] -p[パスワード] -h[ホスト名]
[データベース名] [テーブル名1],[テーブル名2],... [オプション]
< [復元元ファイル名] (※<は半角)
3.データベースを操作するコマンド
前項「基本のコマンド」では、Command Line Client上で使用するものとコマンドプロンプト上で使用するものがありましたが、本項「データベースを操作するコマンド」は全て共通で使用できるものとなっていますので、区分は省略してご紹介したいと思います。
3.1 データベースを操作するコマンド
MySQLに登録されているデータベースの一覧を表示するには、次のコマンドを使用します。
SHOW DATABASES;
3.2 データベースを作成する
データベースを新規作成したい場合、CREATE DATABASE文を使用します。
CREATE DATABASE [任意のデータベース名];
データベース名の文字数などの制限項目について、詳しくは次の記事をご覧下さい。
3.3 データベースを削除する
データベースを削除したい場合、DROP DATABASE文を使用します。
DROP DATABASE [任意のデータベース名];
3.4 使用中(操作対象)のデータベースを切り替える
MySQL内部には複数のデータベースを保存することができますが、そのため実行したコマンドがどのデータベースに影響を与えるのか逐一指定しなければ分からない状態です。それを回避するため、あらかじめuse文を使って作業対象データベースを指定しておくことで、データベースの指定を省略することが可能になります。
use [データベース名];
3.5 テーブル一覧を表示する
あるデータベース内にどのようなテーブルが存在するかを表示するには、SHOW TABES文を使用します。
SHOW TABLES FROM [データベース名];
3.6 テーブルを作成する
新規でテーブルを作成するには、CREATE TABLE文を使用します。
CREATE TABLE [データベース名].[テーブル名](
[カラム名1] [データ型1] [オプション],
[カラム名2] [データ型2] [オプション],
[カラム名3] [データ型3] [オプション],
...);
テーブル作成時の注意点など詳しくは、次の記事をご参照下さい。
3.7 テーブルを削除する
テーブルを削除したい場合、DROP TABLE文を使用します。
DROP TABLE [データベース名].[テーブル名];
3.8 テーブル定義を参照する
テーブル定義を参照するには、SHOW COLUMNS文を使用します。
SHOW COLUMNS FROM [テーブル名] FROM [データベース名] LIKE '[抽出条件]';
3.9 テーブル名(ほかテーブル定義)を変更する
テーブル定義を変更する場合、ALTER TABLE文を使用します。
例えばテーブルの名称を変更する場合、次のようになります。
ALTER TABLE [変更前テーブル名] RENAME TO [変更後テーブル名];
その他変更可能な項目などについて、詳しくは次の記事をご参照下さい。
3.10 テーブルにカラムを追加する
既存のテーブルにカラムを追加したい場合も、ALTER TABLE文を使用します。
ALTER TABLE [テーブル名] ADD [カラム名] [データ型] [オプション];
これを実行すると、新しいカラムはテーブルの末尾に追加されます。
先頭その他任意の場所に追加したい場合の対応方法について、詳しくは次の記事をご参照下さい。
3.11 カラムの名称やデータ型を変更する
既存のカラムに設定された名称を変更したい場合も、ALTER TABLE文を使用します。
ALTER TABLE [テーブル名] CHANGE [変更前カラム名] [変更後カラム名] [変更後データ型];
CHANGEの使い方について詳しくは、次の記事をご参照下さい。
3.12 カラムを削除する
既存のテーブルから特定のカラムを削除する場合、DROPで可能です。
ALTER TABLE [テーブル名] DROP [カラム名];
3.13 テーブルにレコード(データ)を追加する
テーブルにレコードを追加するには、おなじみINSERT文を使用します。
INSERT INTO [テーブル名] ([カラム名1], [カラム名2],...)
VALUES ([値1], [値2]);
3.14 レコード(データ)を削除する
レコードの削除を行う場合、削除対象のテーブル名と対象のレコードを絞り込む条件を指定して、DELETE文を使用します。
DELETE FROM [テーブル名] WHERE [条件];
3.15 レコード(データ)を参照する
登録したレコードの参照には、SELECT文を使用します。
SELECT [対象のカラム] FROM [テーブル名] WHERE [条件];
バリエーション豊かなSELECT文の活用方法については、次の記事をご参照下さい。
当サイトプロエンジニアのコンサルタントが厳選したおすすめのフリーランス案件特集はこちら
特集ページから案件への応募も可能です!
実際にフリーランスエンジニアとして活躍されている方のインタビューはこちら