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

ใน MySQL จะแทนที่ค่า NULL ทั้งหมดในฟิลด์เฉพาะของตารางได้อย่างไร


ในการแทนที่ค่า NULL ทั้งหมดในเขตข้อมูลเฉพาะของตารางใดตารางหนึ่ง ให้ใช้คำสั่ง UPDATE ด้วยคุณสมบัติ IS NULL ไวยากรณ์มีดังนี้:

อัปเดต yourTableName ตั้งค่า yourColumnName=”yourValue’ โดยที่ yourColumnName IS NULL;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง Employee_Information_Table -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Name varchar(20), -> Salary int, -> PRIMARY KEY(Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ ( 0.59 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามที่จะแทรกบันทึกมีดังนี้:

mysql> แทรกลงใน Employee_Information_Table (ชื่อ, เงินเดือน) ค่า ('John', NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน Employee_Information_Table (ชื่อ, เงินเดือน) ค่า ('Carol', NULL);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงใน Employee_Information_Table (ชื่อเงินเดือน) ค่า ('Bob', NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงใน Employee_Information_Table (ชื่อ, เงินเดือน) ค่า ('David', NULL); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน Employee_Information_Table (ชื่อ เงินเดือน) ค่า ('Robert', NULL); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที) mysql> แทรกลงใน Employee_Information_Table(Name,Salary) values('Mike',NULL);Query OK, 1 แถวได้รับผลกระทบ (0.24 วินาที)mysql> แทรกลงใน Employee_Information_Table(Name,Salary) values('Sam',NULL);Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก Employee_Information_Table;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+-------+| รหัส | ชื่อ | เงินเดือน |+----+---------+-------+| 1 | จอห์น | NULL || 2 | แครอล | NULL || 3 | บ๊อบ | NULL || 4 | เดวิด | NULL || 5 | โรเบิร์ต | NULL || 6 | ไมค์ | NULL || 7 | แซม | NULL |+----+-------+-------+7 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อแทนที่ค่า NULL ทั้งหมดเป็นเขตข้อมูลเฉพาะของตารางใดตารางหนึ่ง แบบสอบถามมีดังนี้:

mysql> อัปเดต Employee_Information_Table -> ตั้งค่า Salary=45500 โดยที่เงินเดือนเป็น NULL แบบสอบถามตกลง ได้รับผลกระทบ 7 แถว (0.23 วินาที) แถวที่ตรงกัน:7 เปลี่ยนแปลง:7 คำเตือน:0

ตรวจสอบบันทึกตารางอีกครั้ง ค่า NULL ทั้งหมดได้รับการอัปเดตด้วยค่าบางอย่าง ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงรายการระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select:

mysql> เลือก *จาก Employee_Information_Table;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+-------+| รหัส | ชื่อ | เงินเดือน |+----+---------+-------+| 1 | จอห์น | 45500 || 2 | แครอล | 45500 || 3 | บ๊อบ | 45500 || 4 | เดวิด | 45500 || 5 | โรเบิร์ต | 45500 || 6 | ไมค์ | 45500 || 7 | แซม | 45500 |+----+---------+--------+7 แถวในชุด (0.00 วินาที)