MySQL
作成日時:2018/09/17
更新日時:2018/09/17
バージョン確認コマンド
バージョン確認
SELECT VERSION();
データベース操作コマンド
データベース一覧確認
SHOW DATABASES;
使用中データベース確認
SELECT DATABASE();
使用データベース設定
USE データベース名
デフォルトのプロンプトの場合「(none)」の部分が選択したデータベース名になります。
「MariaDB [(none)]」→「MariaDB [データベース名]」
指定データベースを作成するための構文確認
SHOW CREATE DATABASE データベース名;
データベース情報確認
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA;
プロセス確認コマンド
プロセス一覧確認
SHOW PROCESSLIST;
where句を使用したい場合は「information_schema.PROCESSLIST」テーブルから同様の情報が取得できます。
SELECT * FROM information_schema.PROCESSLIST;
テーブル操作コマンド
選択中データベースのテーブル一覧確認
SHOW TABLES;
ユーザ操作コマンド
ユーザー作成
CREATE USER 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード';
ユーザー削除
DROP USER 'ユーザー名'@'ホスト名';
ログイン中ユーザーのパスワード変更
SET PASSWORD = PASSWORD('パスワード');
指定ユーザーのパスワード変更
SET PASSWORD FOR 'ユーザー名'@'ホスト名'=PASSWORD('パスワード');
ユーザー一覧表示
SELECT user,host FROM mysql.user;
ログイン中ユーザー確認
SELECT USER();
ユーザー権限確認
SHOW GRANTS; SHOW GRANTS FOR 'ユーザー名'@'ホスト名';
ユーザー権限付与
GRANT ALL ON データベース名.* TO 'ユーザー名'@'ホスト名'; GRANT ALL ON データベース名.* TO 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード'; GRANT ALL ON *.* TO 'ユーザー名'@'ホスト名'; GRANT ALL ON *.* TO 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード';
ユーザー権限削除
REVOKE ALL ON データベース名.* FROM 'ユーザー名'@'ホスト名'; REVOKE ALL ON データベース名.* FROM 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード'; REVOKE ALL ON *.* FROM 'ユーザー名'@'ホスト名'; REVOKE ALL ON *.* FROM 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード';
パターンマッチング検索
LIKE
SELECT * FROM テーブル名 WHERE カラム名 LIKE '%検索文字列%';
型名に付随しているカッコ内の数値について
以下のような表示はバイト数の制限等ではなく、0埋めする際の桁数
tinyint(4) int(11)
型について
公式ドキュメント
5.7 / en - https://dev.mysql.com/doc/refman/5.7/en/data-types.html
5.6 / ja - https://dev.mysql.com/doc/refman/5.6/ja/data-types.html
数値型
公式ドキュメント
5.7 / en - https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
5.6 / ja - https://dev.mysql.com/doc/refman/5.6/ja/numeric-types.html
TINYINT SMALLINT MEDIUMINT INT BIGINT
エラー
#1449
#1449 - The user specified as a definer ('データベース名'@'%') does not exist
コメントの構文
https://dev.mysql.com/doc/refman/5.6/ja/comments.html
「/*」と「*/」で囲う形式のコメントにおいて、「!」を付けると「MySQL Server」は構文解析を行う。
さらに「!」の後にバージョン番号を表す数値を付けると指定バージョン以上の場合のみ処理を実行する。
/*!50013 DEFINER=`データベース名`@`%` SQL SECURITY DEFINER */