LoginSignup
0
1

More than 1 year has passed since last update.

SQL コマンド 備忘録

Last updated at Posted at 2021-06-18

自分用にまとめ

SQLの種類

  • DDL
    • データ定義言語。
    • データを格納する入れ物であるDBやテーブルなどを製作したり削除したりする。
  • DML
    • データ操作言語。
    • テーブルの行を検索したり変更したりする。
  • DCL
    • データ制御言語。
    • データベースに対して行った変更を確定したり、取り消したりする。その他RDBMSのユーザがDBにあるものを操作する権限の設定も行う

記述ルール

  • SQL文はセミコロン(;)で終わる
  • キーワードの大文字小文字は区別させない
  • 文字列と日付の定数はシングルクォーテーションで囲む。数値の定数は囲まない
  • 単語の間を半角スペース、または改行で区切る

DDL

CREATE

テーブルの作成

CREATE TABLE テーブル名  列名 データ型, ...;

/* 作成したテーブルの確認 */
SHOW TABLES;

ALTER

テーブル変更

AlTER TABLE テーブル名 変更操作;

/* よく使う変更操作 */
ADD (列名 データ型)  --列を追加
ADD 制約 --制約を追加
MODIFY 列名 データ型 --データ型や制約を変更
DROP COLUM 列名 --列を削除
DROP 制約 --制約を削除

DROP

テーブルの削除

DROP TABLE テーブル名;

DML

SELECT

データの検索

SELECT 列名[表示用列名] FROM テーブル名; --テーブルから列を抜き出す。表示用の列名は省略可能
SELECT * FROM テーブル名; --テーブルから全て選んで表示する

/* 条件指定 */
SELECT 列名 FROM テーブル名 WHERE 条件式;

/* 重複を排除 */
SELECT DISTINCT 列名 FROM テーブル名;

/* ソート */
ORDER BY 列名 --昇順
ORDER BY 列名 DESC --降順

/* よく使う */
列名 IS NULL --空欄を選択
列名 IS NOT NULL --空欄以外を選択
列名 IS BETWEEN  AND  --2つの値の間に含む
列名 IS IN (, , ...) --列挙した中のどれかと一致する

UPDATE

データの更新

/* 条件と一致する列の値を更新 */
UPDATE テーブル名 SET 列名 =  WHERE 条件式;

INSERT

データの挿入

/* 行をテーブルの一番下に挿入する */
INSERT INTO テーブル名 VALUES (値, , ...;
/* 列名を指定して行を挿入 */
INSERT INTO テーブル名 (列名, 列名, ... VALUES (値, , ...;

DELETE

データの削除

/* 条件と一致する列の値を削除 */
DELETE FROM テーブル名 WHERE 条件式;

DCL

COMMIT

確定

COMMIT;

ROLLBACK

取り消し

ROLLBACK;

セーブポイント

/* 新しいセーブポイントの設定 */
SAVEPOINT 新規セーブポイント名
/* 指定したセーブポイントまで戻る */
ROLLBACK TO セーブポイント名
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1