LoginSignup
0
0

More than 3 years have passed since last update.

SQL(MySQL)入門! INSERT, UPDATE, DELETE, TRUNCATE 編

Last updated at Posted at 2020-09-21

環境

 Windows 10
 MySQL : version(5.7.28)
使用アプリ
 コマンドプロンプト(Windowsマーク押して「cmd」って打ったら出てくるやつ)


INSERT

指定したカラムのデータを登録する

INSERT
INTO
    TABLE1  -- テーブル名
(
    COLUMN1 -- カラム1
,   COLUMN2 -- カラム2
,   COLUMN3 -- カラム3
) VALUES (
    VALUE1  -- カラム1に挿入する値
,   VALUE2  -- カラム2に挿入する値
,   VALUE3  -- カラム3に挿入する値
)

カラム名を省略して書けるが、カラムの並び順通りにすべての値を力しないとエラーとなる

INSERT
INTO
    TABLE1 -- テーブル名
VALUES(
    VALUE1 -- カラム1に挿入する値
,   VALUE2 -- カラム2に挿入する値
,   VALUE3 -- カラム3に挿入する値
)

UNIQUE KEYが存在するテーブルへのデータINSERT処理

IGNORE

重複データのINSERTを無視する

INSERT
IGNORE
INTO
    TABLE1 -- テーブル名
VALUES(
    VALUE1 -- カラム1に挿入する値
,   VALUE2 -- カラム2に挿入する値
,   VALUE3 -- カラム3に挿入する値
)

INSERTINTOの間にIGNOREを入れる

REPLACE

既存のデータをDELETEして新しいデータをINSERTする

REPLACE
INTO
    TABLE1  -- テーブル名
(
    COLUMN1 -- カラム1
,   COLUMN2 -- カラム2
,   COLUMN3 -- カラム3
) VALUES (
    VALUE1  -- カラム1に挿入する値
,   VALUE2  -- カラム2に挿入する値
,   VALUE3  -- カラム3に挿入する値
)

INSERTの部分をREPLACEに置き換える

間違ってデータを消してしまったテーブルに対してINSERT文を使って再度データを挿入しようとしたらこのエラーが出ました。

Error Code: 1062. Duplicate entry '010006' for key 'PRIMARY'

REPLACEを使って、無事にデータを挿入することができました。

UPDATE

レコードを更新する(,で繋ぐことで複数入力も可能)

UPDATE 
    TABLE1    -- テーブル名
SET
    COLUMN2   =   VALUE -- カラム2に新たに値を挿入
WHERE
    COLUMN1   =   VALUE 更新したいデータを特定するため、主キーやユニークキーなどが設定されたカラム名と値を指定

DELETE

レコードの削除

DELETE
FROM
    TABLE1  -- テーブル名
WHERE
    COLUMN  =    VALUE -- 削除したいデータを特定するため、主キーやユニークキーなどが設定されたカラム名と値を指定

TRUNCATE

テーブル内の全データ削除(強制的にデータが消えるので使用する際には注意が必要です)

TRUNCATE テーブル名

一旦テーブルを削除して、またテーブルを作成

TRUNCATE TABLE テーブル名

終わりに

フューチャー株式会社が作成するSQLコーディング規約(Oracle)に則った形で書いています。

0
0
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
0