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

อัปเดตคอลัมน์ข้อความโดยการต่อข้อความ (Concatenate) ใน MySQL

บทนำ

การต่อข้อความ (String Concatenation) ใน MySQL ใช้ฟังก์ชัน CONCAT() สามารถใช้ในคำสั่ง UPDATE เพื่อแก้ไขค่าในคอลัมน์ได้

ตัวอย่างการสร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (
    -> SequenceId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentId VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable(StudentId) VALUES('STU');
mysql> INSERT INTO DemoTable(StudentId) VALUES('STU1');

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

mysql> SELECT * FROM DemoTable;

ผลลัพธ์

+------------+-----------+
| SequenceId | StudentId |
+------------+-----------+
| 1          | STU       |
| 2          | STU1      |
+------------+-----------+
2 rows in set (0.00 sec)

คำสั่งอัปเดตต่อข้อความ '-101' ท้ายทุกแถว

mysql> UPDATE DemoTable
    -> SET StudentId = CONCAT(StudentId, '-', '101');

ผลลัพธ์หลังอัปเดต

mysql> SELECT * FROM DemoTable;
+------------+-----------+
| SequenceId | StudentId |
+------------+-----------+
| 1          | STU-101   |
| 2          | STU1-101  |
+------------+-----------+
2 rows in set (0.00 sec)

รูปแบบ CONCAT

CONCAT(str1, str2, str3, ...)
  • รวมสตริงหลายตัวเข้าด้วยกัน
  • หากมีค่า NULL อยู่ในพารามิเตอร์ ผลลัพธ์จะเป็น NULL (ใช้ IFNULL/COALESCE ป้องกันได้)

ตัวอย่างเพิ่มเติม

-- เพิ่ม Prefix
UPDATE DemoTable SET StudentId = CONCAT('PRE-', StudentId);

-- รวมคอลัมน์หลายตัว
UPDATE DemoTable SET FullName = CONCAT(FirstName, ' ', LastName);

-- ใช้กับ WHERE
UPDATE DemoTable SET Code = CONCAT(Code, '-V2') WHERE Id > 100;