データベース
データベース |
説明 |
SHOW DATABASES |
データベースの一覧を確認する |
CREATE DATABASE <データベース名> |
データベースを作成する |
USE <データベース名> |
データベース名を指定する |
DROP <データベース名> |
データベースを削除する |
テーブル
テーブル |
説明 |
SHOW TABLES |
テーブルを表示する |
SHOW COLUMNS FROM <テーブル名> |
テーブル構造を確認する |
CREATE TABLE |
テーブルを作成する |
DROP TABLE <テーブル名> |
テーブルを削除する |
INSERT INTO <テーブル名>(<カラム名>)VALUE(値) |
レコードを追加する |
ALTER TABLE <テーブル名> ADD COLUMN <カラム名> |
カラムを追加する |
DESC <テーブル名> |
テーブルの構造を確認 |
UDATE <テーブル名> SET <カラム名> = 1 WHERE <カラム名> = 2 |
レコードを更新する |
DELETE FROM <テーブル名> WHERE <カラム名> = 1 |
レコードを削除する |
COMMIT |
現在のトランザクションをコミットして確定する |
ROLEBACK |
現在のトランザクションをロールバックして取り消す |
CREATE INDEX index_name on <テーブル名>(カラム名>) |
インデックスを作成する |
SELECT <カラム名> FROM <テーブル名> |
データを抽出する |
SHOW KEYS FROM <テーブル名> |
プライマリキーを確認する |
WHERE |
特定の条件に絞り込んで抽出する |
AS |
列に対して別名を設定する |
DISTINCT |
重複を排除する |
ORDER BY <カラム名> |
昇順にする |
ORDER BY <カラム名> DESC |
降順にする |
LIMIT <レコード数> |
取得するデータの数を指定する |
LIKE |
"%" 0文字以上の任意の文字列、 "_" 任意の1文字 で検索する |
NOT LIKE |
上記LIKEの逆を意味する |
GROUP BY |
条件を指定してグループ化する |
HAVING |
グループ化されたレコードから条件を指定して絞り込む |
テーブルの削除
コマンド |
説明 |
DROP |
テーブル内のオブジェクトを完全に削除する |
TRUNCATE |
テーブル内のレコードを完全に削除する。オートインクリメントの削除。 |
DELETE |
テーブル内のデータを全削除または条件に一致したデータを削除。オートインクリメントは削除されない。 |
データ型
下記は一例。
数値型 |
文字列型 |
日付型・時刻型 |
INT |
CHAR |
DATE |
FLOAT |
varchar |
TIME |
属性
属性 |
説明 |
NOT NULL |
null を禁止する |
AUTO_INCREMENT |
自動採番にする |
DEFAULT |
デフォルトの値として指定したいもの |
プライマリキーと外部キーとユニークキー
キー |
説明 |
PRIMARY KEY |
プライマリキー |
FOREIGN KEY (カラム名) REFERENCES <テーブル名>(<カラム名>) |
外部キー |
UNIQUE KEY |
ユニークキー |
外部キー
オプション |
説明 |
ON DELETE CASCADE |
親テーブル/親レコードを削除するときに子テーブルの参照しているデータも削除される |
ON DELETE RESTRICT |
親テーブル/親レコードを削除するときにエラーとなって、削除できないようにする |
ON DELETE SET NULL |
親テーブル/親レコードを削除するときに子テーブルの参照しているデータがNULLとなる。 |
ON UPDATE CASCADE |
親テーブル/親レコードを削除するときに子テーブルの参照しているデータも更新される。 |
ON UPDATE RESTRICT |
親テーブル/親レコードを削除するときにエラーとなって、更新できないようにする |
ON UPDATE SET NULL |
親テーブル/親レコードを更新するときに子テーブルの参照しているデータがNULLとなる。 |
文字コード
『デフォルトの文字コード』を『UTF-8』にして処理する
ENGINE=INNODB DEFAULT CHARSET=UTF8MB4;
演算子
比較演算
比較演算子 |
説明 |
< |
小なり |
> |
大なり |
<= |
以下 |
>= |
以上 |
= |
等しい |
<> もしくは != |
等しくない |
論理演算子
論理演算子 |
説明 |
AND |
と |
OR もしくは IN(<値A>,<値B>) |
もしくは |
BETWEEN <範囲A> AND <範囲B> |
AからBの範囲 |
四則演算子
四則演算子 |
説明 |
+ |
加算 |
- |
減算 |
* |
乗算 |
/ |
除算 |
DIV |
除算(整数値の返却) |
& |
剰余 |
MOD |
剰余 |
関数
関数(数値)
関数(数値) |
説明 |
ABS() |
絶対値を算出する |
ROUND() |
四捨五入をする |
CELING() |
数値よりも大きい整数のうち最小のもの |
FLOOR() |
指定した数値以下の最大の整数を取得する |
TRUNCATE() |
小数点以下を指定すて表示する |
COUNT() |
データ数を数える |
SUM() |
データの合計を算出する |
AVG() |
データの平均を算出する |
MAX() |
データの最大を算出する |
MIN() |
データの最小を算出する |
関数(文字列)
関数(文字列) |
説明 |
CONCAT() |
文字列を連結する |
LOWER() |
小文字にする |
UPPER() |
大文字にする |
REPLACE() |
特定の文字を変換する |
INSERT() |
文字列を指定し特定の文字に変換する |
LPAD() |
文字列が○文字になるように左側を埋める |
RPAD() |
文字列が○文字になるように右側を埋める |
REPEAT() |
指定した分だけ文字を返す |
関数(保持列)
関数(保持列) |
説明 |
LENGTH() |
バイト数を数える |
CHAR_LENGTH() |
文字数を数える |
関数(日付)
関数(日付) |
説明 |
CURRENT_DATE() |
現在の日付を表示する |
CURRENT_TIME() |
現在の時刻を表示する |
CURRENT_TIMESTAMP() |
現在の日付と時刻を表示する |
DATEDIFF() |
日付の差分を算出する |
TIMEDIFF() |
時刻の差分を算出する |
TIMESTAMPDIFF() |
日時の差分を算出する |
DAYNAME() |
曜日を抽出する |
MONTH() |
月をを抽出する |
YEAR() |
年を抽出する |
DAY() |
日を抽出する |
DAYOFMONTH() |
経過月を出力する |
DAYOFYEAR() |
経過年を出力する |
DAYOFWEEK() |
経過週を出力する |
DATE_FORMAT() |
指定のフォーマットで整形し文字列を取得する |
CONVERT_TZ() |
タイムゾーンを変更する |
関数(その他)
関数(その他) |
説明 |
DATABASE() |
現在利用しているデータベースを表示する |
CURRENT_USER() |
現在利用しているユーザー名を表示する |
VERSION() |
SQLバージョンを表示する |
CHARSET() |
文字セットを確認する |
DEFAULT() |
デフォルト値を確認する |
CAST() |
別のデータ型に変換する |
CONVERT() |
別のデータ型に変換する |
JOIN
JOIN |
説明 |
INNER JOIN |
内部結合 |
LEFT JOIN |
左外部結合 |
RIGHT JOIN |
右外部結合 |
FULL JOIN |
完全外部結合 |
CROSS JOIN |
クロス結合 |
SELF JOIN |
自己結合 |
UNION |
SELECTの結果を縦に結合する(重複排除有) |
UNION ALL |
SELECTの結果を縦に結合する(重複排除無) |
SELECT
*
FROM
<テーブル名1>
INNER JOIN
<テーブル名2> ON <テーブル名1>.<カラム> = <テーブル名2>.<カラム>
SELECT
*
FROM
<テーブル名>
UNION
SELECT
*
FROM
<テーブル名>
ビュー
複数のテーブルを使った複雑なSQLでも、ビューを一度作っておけば何度でも同じSQLが使える。
コマンド |
説明 |
CREATE VIEW |
ビューを作成する |
DROP VIEW |
ビューを削除する |
ビュー作成
CREATE VIEW <ビュー名> AS <実行したいSQL文>