2009/04/04

UPDATE、DELETEコマンド 【データ編集・削除編】

■カラムのデータを修正する
UPDATE テーブル名 SET カラム名=修正する値;
・条件をつける
~ WHERE 条件
・並べ替え後の抽出
~ ORDER BY カラム名 LIMIT 限定数

例) ALTER TABLE tb ADD bikou VARCHAR(100);
   UPDATE tb SET bikou='no data';
     (一行で書くと、ALTER TABLE tb ADD bikou VARCHAR(100) DEFAULT 'no data';)
   UPDATE tb SET bikou='good!' ORDER BY uria DESC LIMIT 3;

■条件に一致したレコードをコピーする
CREATE TABLE 新規テーブル名 SELECT * FROM tb WHERE カラム名 LIKE '抽出する文字列';
すでに存在するテーブルにレコードを挿入する場合、
INSERT INTO 存在するテーブル名 SELECT * FROM tb WHERE bang LIKE 'A101';
・順番に並べ替え、抽出してコピー
CREATE TABLE 新規テーブル名 SELECT * FROM tb ORDER BY uria DESC LIMIT 4 OFFSET 1;

■条件に一致したレコードを削除する
DELETE FROM テーブル名;(テーブルのカラム構造自体は残る)
DELETE FROM テーブル名 WHERE 条件;
DELETE FROM テーブル名 ORDER BY カラム名 LIMIT 限定数;

2 件のコメント:

  1. 不慮のUPDATEやDELETEを防ぐには、
    MySQLモニタを起動する際に--safe-updatesオプションを付けるとWHEREの条件がないUPDATEやDELETEは実行できなくなる

    返信削除
  2. 今現在より5年前の日時を示す時は、
    NOW() - INTERVAL 5 YEAR
    と書く。

    返信削除