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; |
権限を反映させる |