chapter 20:データの更新と削除
1211 ワード
UPDATE文とDELETE文.
データの更新
UPDATE文は3つの部分から構成されています.更新するテーブル; 列名と彼らの新しい値. は、ローを更新するフィルタ条件を決定する.
例:顧客10005は現在、電子メールアドレスを持っており、記録を更新しています.
UPDATE文はWHERE句で終わり、なければすべての行が更新されます.
複数行の更新: UPDATE文はサブクエリを使用できます. IGNOREキーワード:複数更新すると1つのエラー操作がすべてキャンセルされます.エラーが発生しても更新を続行するため:
カラムを削除する場合は、NULLに設定します.
データの削除
例:customersテーブルからローを削除します.
DELETEにはカラム名やワイルドカードは必要ありません.列全体ではなく行全体を削除します.
更新と削除のガイドライン各行をより細かく削除しようとしない限り、WHERE句を持たないUPDATE文とDELETE文は絶対に使用しないでください. 各テーブルにプライマリ・キーがあることを保証します. UPDATE文またはDELETE文に対してWHERE句を使用する前に、まずSELECTでテストを行い、それが正しい記録であることを保証しなければならない. は、参照整合性を強制的に実装するデータベース(chapter 15を参照)を使用し、MySQLは他のテーブルに関連付けられたデータを持つローの削除を許可しません.
データの更新
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 customers...
.カラムを削除する場合は、NULLに設定します.
UPDATE customers
SET cust_email = NULL
WHERE cust_id = 10005;
データの削除
例:customersテーブルからローを削除します.
DELETE FROM customers
WHERE cust_id = 10006;
DELETEにはカラム名やワイルドカードは必要ありません.列全体ではなく行全体を削除します.
更新と削除のガイドライン