Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

อัปเดตคอลัมน์เดียวใน MySQL โดยไม่กระทบคอลัมน์อื่น

ตัวอย่างการอัปเดตคอลัมน์เดียวใน MySQL

สร้างตาราง DemoTable1605

mysql> create table DemoTable1605 ( 
    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    -> StudentName varchar(20), 
    -> StudentCountryName varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.48 sec)

เพิ่มข้อมูลตัวอย่าง

mysql> insert into DemoTable1605(StudentName,StudentCountryName) values('Adam','AUS'); 
Query OK, 1 row affected (0.21 sec) 
mysql> insert into DemoTable1605(StudentName,StudentCountryName) values('John','US'); 
Query OK, 1 row affected (0.08 sec) 
mysql> insert into DemoTable1605(StudentName,StudentCountryName) values('Bob','UK'); 
Query OK, 1 row affected (0.11 sec)

ข้อมูลก่อนอัปเดต

mysql> select * from DemoTable1605;
+-----------+-------------+--------------------+ 
| StudentId | StudentName | StudentCountryName | 
+-----------+-------------+--------------------+ 
|         1 | Adam        | AUS                | 
|         2 | John        | US                 | 
|         3 | Bob         | UK                 | 
+-----------+-------------+--------------------+ 
3 rows in set (0.00 sec)

คิวรี่อัปเดตเฉพาะคอลัมน์ StudentName ที่ประเทศเป็น UK

mysql> update DemoTable1605 set StudentName='Chris' where StudentCountryName='UK'; 
Query OK, 1 row affected (0.09 sec) 
Rows matched: 1  Changed: 1  Warnings: 0

ข้อมูลหลังอัปเดต

mysql> select * from DemoTable1605;
+-----------+-------------+--------------------+ 
| StudentId | StudentName | StudentCountryName | 
+-----------+-------------+--------------------+ 
|         1 | Adam        | AUS                | 
|         2 | John        | US                 | 
|         3 | Chris       | UK                 | 
+-----------+-------------+--------------------+ 
3 rows in set (0.00 sec)

คำสั่ง UPDATE ระบุคอลัมน์ที่ต้องการเปลี่ยนใน SET และเงื่อนไขใน WHERE จะอัปเดตเฉพาะแถวที่ตรงเงื่อนไขเท่านั้น