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

อัปเดตข้อมูลคอลัมน์โดยไม่ต้องใช้ตารางชั่วคราวใน MySQL หรือไม่


สำหรับสิ่งนี้ ให้ใช้คำสั่ง CASE ซึ่งจะทำงานได้โดยไม่ต้องใช้ตารางชั่วคราว ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> ชื่อผู้ใช้ varchar(100), -> UserStatus varchar(100) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.74 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('John','Active');Query OK, 1 แถวได้รับผลกระทบ (0.29 วินาที)mysql> แทรกลงในค่า DemoTable ('Chris', 'Inactive'); Query OK, 1 แถว ได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable ('Bob', 'ไม่ใช้งาน'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.32 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert', 'Active'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------+-----------+| ชื่อผู้ใช้ | UserStatus |+----------+-----------+| จอห์น | ใช้งานอยู่ || คริส | ไม่ใช้งาน || บ๊อบ | ไม่ใช้งาน || โรเบิร์ต | Active |+----------+-----------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตข้อมูลคอลัมน์โดยใช้กรณี -

mysql> อัปเดต DemoTable -> ตั้งค่า UserStatus=CASE UserStatus เมื่อ 'ไม่ใช้งาน' แล้ว 'ใช้งานอยู่' อื่น 'ไม่ใช้งาน' END แบบสอบถามตกลง ได้รับผลกระทบ 4 แถว (0.28 วินาที) แถวที่ตรงกัน:4 เปลี่ยนแล้ว:4 คำเตือน:0 

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------+-----------+| ชื่อผู้ใช้ | UserStatus |+----------+-----------+| จอห์น | ไม่ใช้งาน || คริส | ใช้งานอยู่ || บ๊อบ | ใช้งานอยู่ || โรเบิร์ต | ไม่ใช้งาน |+----------+------------+4 แถวในชุด (0.00 วินาที)