mysql での update ステートメントの使用: [UPDATE table_name SET field1=new-value1 [WHERE Clause]]。 update ステートメントは、mysql 内のデータを変更または更新するために使用されます。
更新構文
(推奨チュートリアル: mysql ビデオ チュートリアル)
単一テーブル構文:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
複数テーブル構文:
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]
UPDATE 構文は、元のテーブル行の各列を新しい値で更新できます。 SET 句は、どの列を変更するか、どの値を与えるかを指定します。 WHERE 句は、どの行を更新するかを指定します。 WHERE 句がない場合は、すべての行が更新されます。 ORDER BY 句を指定すると、指定した順序で行が更新されます。 LIMIT 句は、更新できる行数に制限を与えるために使用されます。
式内の tbl_name を介して列にアクセスする場合、UPDATE は列の現在の値を使用します。たとえば、次のステートメントは、age 列を現在の値より 1 つ大きい値に設定します。
UPDATE persondata SET age=age+1;
UPDATE 割り当ては左から右に評価されます。たとえば、次のステートメントは age カラムを 2 倍にしてインクリメントします。
UPDATE persondata SET age=age*2, age=age+1;
カラムを現在含まれている値に設定すると、MySQL はこれを認識しますが、更新しません。
更新テーブルの一部のフィールドが null
update person set number=null,name=null;
NOT NULL として定義されている列を NULL に更新すると、その列は列の種類に対応するデフォルト値に設定されます。そして、警告の数は累積されます。数値型の場合、デフォルト値は 0 です。文字列型の場合、デフォルト値は空の文字列 ('') です。日付と時刻の型の場合、デフォルト値は「ゼロ」値です。
複数のテーブルに対する UPDATE 操作
UPDATE items,month SET items.price=month.price WHERE items.id=month.id;
上の例は、カンマ演算子を使用した内部ユニオンを示していますが、複数テーブルの UPDATE ステートメントでは、SELECT ステートメントのユニオンで許可されている任意の型を使用できます。 LEFT JOIN ですが、ORDER BY または LIMIT を複数テーブル UPDATE と同時に使用することはできません。
以上がmysqlでupdate文を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。