chapter 20:データの更新と削除

1211 ワード

UPDATE文とDELETE文.
データの更新
UPDATE文は3つの部分から構成されています.
  • 更新するテーブル;
  • 列名と彼らの新しい値.
  • は、ローを更新するフィルタ条件を決定する.

  • 例:顧客10005は現在、電子メールアドレスを持っており、記録を更新しています.
    UPDATE customers
    SET cust_email = '[email protected]'
    WHERE cust_id = 10005;
    

    UPDATE文はWHERE句で終わり、なければすべての行が更新されます.
    複数行の更新:
    UPDATE customers
    SET cust_name = 'The Fudds',
        cust_email = '[email protected]'
    WHERE cust_id = 10005;
    
  • UPDATE文はサブクエリを使用できます.
  • IGNOREキーワード:複数更新すると1つのエラー操作がすべてキャンセルされます.エラーが発生しても更新を続行するため:UPDATE IGNORE customers....

  • カラムを削除する場合は、NULLに設定します.
    UPDATE customers
    SET cust_email = NULL
    WHERE cust_id = 10005;
    

    データの削除
    例:customersテーブルからローを削除します.
    DELETE FROM customers
    WHERE cust_id = 10006;
    

    DELETEにはカラム名やワイルドカードは必要ありません.列全体ではなく行全体を削除します.
    更新と削除のガイドライン
  • 各行をより細かく削除しようとしない限り、WHERE句を持たないUPDATE文とDELETE文は絶対に使用しないでください.
  • 各テーブルにプライマリ・キーがあることを保証します.
  • UPDATE文またはDELETE文に対してWHERE句を使用する前に、まずSELECTでテストを行い、それが正しい記録であることを保証しなければならない.
  • は、参照整合性を強制的に実装するデータベース(chapter 15を参照)を使用し、MySQLは他のテーブルに関連付けられたデータを持つローの削除を許可しません.