Skip to content

MySQL 一般的なコマンド チートシート

MySQL は世界で最も人気のあるオープンソースのリレーショナル データベース管理システムです。このチートシートには、日常的なデータベースの開発や運用で最もよく使われる SQL コマンドをまとめています。

接続と管理

コマンド 説明
mysql -u root -p root ユーザーとしてデータベースに接続する mysql -u root -p
exit / quit MySQL コマンドラインを終了する exit
show databases; すべてのデータベースをリスト表示する show databases;
use <db_name>; 指定したデータベースに切り替える use my_app;
status; 現在の接続状態を表示する status;

データベースおよびテーブル操作 (DDL)

コマンド 説明
create database <name>; 新しいデータベースを作成する create database test_db;
drop database <name>; データベースを削除する drop database test_db;
show tables; 現在のデータベースの全テーブルを表示する show tables;
create table <table> (...); 新しいテーブルを作成する create table users (id int, name varchar(20));
describe <table>; テーブル構造を確認する describe users;
alter table <table> add <col>; 新しい列を追加する alter table users add email varchar(50);
drop table <table>; テーブルを削除する drop table users;

データ操作 (DML)

// データを挿入する

insert into users (name, age) values ('Alice', 25), ('Bob', 30);

// データを照会する

select * from users where age > 20 order by id desc limit 10;
select count(*) from users;

// データを更新する

update users set age = 26 where name = 'Alice';

// データを削除する

delete from users where id = 10;
truncate table users; -- テーブル内容を消去し、オートインクリメント ID をリセットする

結合クエリ (JOIN)

Type 説明
INNER JOIN 両方のテーブルに一致する値がある行を返す
LEFT JOIN 左テーブルの全行と、右テーブルの一致する行を返す
RIGHT JOIN 右テーブルの全行と、左テーブルの一致する行を返す
UNION 2 以上のクエリの結果を統合する(重複なし)

// テーブル結合クエリ

select u.name, o.id from users u 
inner join orders o on u.id = o.user_id;

インデックス管理

コマンド 説明
create index <idx_name> on <table>(<col>); インデックスを作成する
create unique index ... 一意インデックスを作成する
show index from <table>; テーブル内のインデックスを表示する
drop index <idx_name> on <table>; インデックスを削除する

ユーザーと権限 (DCL)

コマンド 説明
create user 'user'@'host' identified by 'pass'; 新しいユーザーを作成する
grant all privileges on db.* to 'user'@'host'; 権限を付与する
revoke all on db.* from 'user'@'host'; 権限を取り消す
drop user 'user'@'host'; ユーザーを削除する
flush privileges; 権限を反映させる