MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで値が同一の場合、UPDATEは値を上書きしますか


いいえ、MySQL UPDATEは、値が同一である場合、値を上書きしません。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   StudentId int,
   StudentMathMarks int,
   StudentMySQLMarks int
);
Query OK, 0 rows affected (0.46 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(1,56,78);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values(2,88,99);
Query OK, 1 row affected (0.15 sec)
mysql> inse
rt into DemoTable values(3,34,98);
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-----------+------------------+-------------------+
| StudentId | StudentMathMarks | StudentMySQLMarks |
+-----------+------------------+-------------------+
|         1 |               56 |                78 |
|         2 |               88 |                99 |
|         3 |               34 |                98 |
+-----------+------------------+-------------------+
3 rows in set (0.00 sec)

以下は、値を更新するためのクエリです。設定された値は、その特定の列にすでに存在します。つまり、学生ID 2、数学マーク88、および学生ID2のSQLマーク99-

mysql> update DemoTable set StudentId=2,StudentMathMarks=88,StudentMySQLMarks=99 where StudentId=2;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

上記のUPDATEコマンド、出力、影響を受ける0行を見てください 値が同一の場合、UPDATEは値を上書きしないことを意味します。


  1. MySQLは空白値の列をNULLに更新します

    このために、UPDATEコマンドと一緒にIF()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1601    -> (    -> FirstName varchar(20) ,    -> LastName varchar(20)    -> ); Query OK, 0 rows affected (0.53 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert

  2. MySQLWHERE句の複数の値で更新

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int,    -> Name varchar(20),    -> Age int,    -> CountryName varchar(10)    -> ); Query OK, 0 rows affected (0.81 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します