【MySQL】データの追加・更新・削除

MySQLのデータの追加・更新・削除に関する備忘録。

データの追加

基本

INSERT INTO `table_name` (`col_name1`, `col_name2`, ...) VALUES (value1, value2, ...);

複数のデータ追加

INSERT INTO `table_name` (`col_name1`, `col_name2`, ...) VALUES (valueA1, valueA2, ...), (valueB1, valueB2, ...), ...;

エラー時に追加させない

INSERT IGNORE INTO `table_name` (`col_name1`, `col_name2`, ...) VALUES (value1, value2, ...);

データの更新

基本

UPDATE `table_name` SET `col_name1`=value1 [, `col_name2`=value2 ...] [WHERE where_condition];

複数行同時に更新

UPDATE `table_name` SET 
`col_name` =
  CASE `primary_key`
    WHEN 1 THEN 値1
    WHEN 2 THEN 値2
    WHEN 3 THEN 値3
  END
WHERE `primary_key` IN (1,2,3);

以下と同様の効果

UPDATE `table_name` SET `col_name`=値1 WHERE `primary_key`=1;
UPDATE `table_name` SET `col_name`=値2 WHERE `primary_key`=2;
UPDATE `table_name` SET `col_name`=値3 WHERE `primary_key`=3;

データがなれけば追加、あれば更新

INSERT INTO `table_name` (`primary_key`, `col_name1`, `col_name2`, ...) VALUES (id, value1, value2, ...) ON DUPLICATE KEY UPDATE `col_name1`=値1, `col_name2`=値2, ...;

データがあれば以下と同様の効果

UPDATE `table_name` SET `col_name1`=値1, `col_name2`=値2, ... WHERE `primary_key`=id;

データの削除

DELETE FROM `table_name` [WHERE where_condition];