初めに #
インフラエンジニアとしてSQLの知識は運用上、避けて通れない基本的な技術と言えます。
本ページでは、初心者向けの基本構文を中心に、役立つSQLを厳選してご紹介します。
今回はMySQLが導入されている環境を前提としてコマンドを紹介します。
SQLとは #
SQLは、リレーショナルデータベース(RDB)を操作するための標準言語となります。
テーブルに格納されたデータを「検索(SELECT)」「挿入(INSERT)」「更新(UPDATE)」「削除(DELETE)」といった命令形式で取得し扱うことができます。
特にデータの絞り込みや集計といった処理は、インフラ開発の現場において非常に重宝さる技術となります。
MySQLへのログイン #
MySQLにログインするためのコマンドとなります。
対話モードとパスワードをコマンドに直接指定する方法があります。
# 対話モードでパスワード入力
mysql -u ユーザー名 -p
# パスワードをコマンドに直接指定
mysql -u ユーザー名 -pパスワード
MySQLからのログアウト #
これらのコマンドを入力すると、MySQLセッションを終了してログアウトできます。
どのコマンドでもすべて同じ結果になります。
exit;
quit;
\q
データベース操作 #
データベース一覧を表示 #
これにより、現在のMySQLインスタンスに存在するすべてのデータベースを一覧表示できます。
SHOW DATABASES;
データベースを選択 #
使用するデータベースを選択します。
選択後はそのデータベース内で操作が可能となります。
USE データベース名;
指定DBのテーブル一覧を表示 #
特定のデータベース内にあるすべてのテーブルを表示します。
SHOW TABLES FROM データベース名;
テーブルのカラム情報を表示 #
指定したデータベースのテーブル内に含まれるカラムの情報を表示します。
SHOW COLUMNS FROM データベース名.テーブル名;
ユーザー管理 #
ユーザー一覧を表示 #
MySQLに存在するすべてのユーザーの一覧を表示します。
host
はユーザーがアクセスできるホストを示します。
SELECT host, user FROM mysql.user;
ユーザー作成 #
新しいユーザーを作成し、そのユーザーにパスワードを設定します。
CREATE USER 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード';
ユーザー削除 #
指定したユーザーを削除します。
DROP USER 'ユーザー名'@'ホスト名';
ユーザー権限の確認 #
特定のユーザーがどの権限を持っているかを確認できます。
SHOW GRANTS FOR 'ユーザー名'@'ホスト名';