MySQLでよく使うコマンドをまとめてみた

2021.08.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。イムチェジョンです。 前のブログでRDS MySQLAmazon Auroraを作成するブログを書きました。 久しぶりにデータベースを触るので全然慣れてない感じだったので今回によく使うMySQLコマンドをまとめてみようと思います。

アジェンダ

  1. Database関連コマンド
  2. Data関連コマンド
  3. まとめ

1. Database関連コマンド

新しいデータベースの作成

CREATE DATABASE [database];

データベースの一覧

SHOW DATABASE;

データベース選択

USE [database];

データベース削除

DROP DATABASE [database];

3. Data関連コマンド

[ テーブル ]

テーブルの作成

CREATE TABLE db (
    [column1] INT,
    [column2] CHAR(30),
    [column3] INT
) CHARSET=utf8;

- 追加設定
CREATE TABLE db (
    [column1] INT NOT NULL AUTO_INCREMENT,
    [column2] CHAR(30),
    [column3] INT,
    PRIMARY KEY (id)
) CHARSET=utf8;

テーブルの変更

- テーブル名の変更
RENAME TABLE [table] TO [Name];
ALTER TABLE [table] RENAME [Name];

- テーブルタイプの変更
ALTER TABLE [table] ENGINE = [type];
ALTER TABLE [table] TYPE = [type];

テーブルの一覧/構成

SHOW TABLES;
SHOW TABLE STATUS;

テーブルの構成

DESC [table];

テーブルの削除

DROP TABLE [table];

テーブルのデータ削除

DELETE FROM [table] WHERE [column]=[value];

TRUNCATE TABLE [table];

[ INSERT ]

INSERT INTO [table] VALUES (value1, value2, value3,...);

INSERT INTO [table] (column1,column2,...) VALUES ('value1','vlaue2',...);

[ SELECT ]

データの全て検索

SELECT * FROM [table];

データのカラム検索

- カラム検索
SELECT [column1],
       [column2]
  FROM [table] AS [別名];

- 条件検索
SELECT [column]
  FROM [table]
 WHERE [条件]
AND/OR [条件2];

SELECT [column]
  FROM [table]
 WHERE [column]
BETWEEN [value1] 
   AND [value2];

SELECT [column]
  FROM [table]
 WHERE [column]
    IN (value1,value2,value3,..);

SELECT [column]
  FROM [table]
 WHERE NOT [条件];

- 文字列で検索
SELECT [column1],
       [column2]
  FROM [table]
 WHERE [条件]
  LIKE '[条件]';

- 重複削除
SELECT DISTINCT [column] 
  FROM [table];

- 昇順/降順に整列
SELECT [column1],
       [column2]
  FROM [table]
 ORDER BY [column] DESC||(ASC);

- 上位から個数だけ出力
SELECT [column1],
       [column2]
  FROM [table]
 ORDER BY [column] DESC||(ASC)
 LIMIT [number];

サブクエリー

- Single Row Subquery
SELECT [column]
  FROM [table]
 WHERE [column]= ( SELECT [column]
                     FROM [table]
                    WHERE [column]  );

- Multiple Row Subquery
SELECT [column]
  FROM [table]
 WHERE [column] IN ( SELECT [column]
                       FROM [table]
                      WHERE [column]  );

- Multiple Column Subquery
SELECT [column]
  FROM [table]
 WHERE (column1,column2) IN ( SELECT [column1],
                                     [column2]
                                FROM [table]
                               WHERE [column]  );

JOIN

- Cross JOIN
SELECT [column1]
  FROM [table1],
       [table2];

- Inner JOIN
SELECT * 
  FROM [table1] 
 INNER JOIN [table2] 
    ON [table1].[same_column] = [table2].[same_column];

- External JOIN
SELECT * 
  FROM [table1] 
  LEFT JOIN [table2]  
    ON [table1].[same_column] = [table2].[same_column];

[ ALTER ]

カラムの変更

ALTER TABLE [table] MODIFY [column] [new_column_type];
ALTER TABLE [table] CHANGE [column] [new_Name];[column_type];

カラムの追加

ALTER TABLE [table] 
  ADD [new_column] [column_type];

ALTER TABLE [table] 
  ADD [new_column] [column_type] 
AFTER [column];

ALTER TABLE [table] 
  ADD [new_column] [column_type] FIRST;

カラムの削除

ALTER TABLE [table] 
 DROP COLUMN [column];

PRIMARY KEYの設定

ALTER TABLE [table] 
  ADD PRIMARY KEY([column]);

ALTER TABLE [table] 
 DROP PRIMARY KEY;

[ UPDATE ]

データの変更

UPDATE [table] 
   SET [column1]=[value1],
       [column2]=[value2]
[WHERE [column]=[value]]  
[ORDER BY [column]]  
[LIMIT [row_count]];

4. まとめ

今回にはよく使うMySQLコマンドをまとめてみました。これからはMySQLを使う時にはここで確認したら検索なくてもすぐ使えると思います!