ในการดำเนินการจัดการข้อมูลจำเป็นจะต้องมีการแก้ไขข้อมูลให้ทันเหตุการณ์
(Up Date) อยู่เสมอ เช่น
บริษัทมีการปรับอัตราเงินเดือนของบุคลากร
เราในฐานะผู้ดูแลจัดการข้อมูล
ก็ต้องปรับข้อมูลให้ตรงกับความเป็นจริง
ณ.ขนาดนั้น
ว่ามีใครได้ปรับเงินเดือนไปบ้าง
การแก้ไขข้อมูลมีหลักการอยู่ว่า
จะต้องค้นหาข้อมูลเก่าให้พบก่อนจากนั้นก็นำข้อมูลใหม่เข้าไปแก้ไข
(Up Date) การแก้ไขข้อมูล Update
มีรูปแบบคำสั่งดังต่อไปนี้
รูปแบบคำสั่งการแก้ไขข้อมูล
รูปแบบคำสั่งการแก้ไขข้อมูล
UPDATE tablename SET
fieldname='datanew' WHERE
fieldname='dataold; คำอธิบาย
UPDATE tablename SET
fieldname='datanew' WHERE
fieldname='dataold';
UPDATE เป็นคำสั่งแก้ไขข้อมูล
tablename เป็นชื่อ table
ที่ต้องการแก้ไขข้อมูลภายใน table
fieldname='datanew' เป็นชื่อ
field
และข้อมูลใหม่ที่ต้องการแก้ไขข้อมูล
WHERE คำสั่งค้นหาข้อมูล
fieldname='dataold; เป็นชื่อ
field และข้อมูลเก่าที่ต้องถูกแก้ไข
ตัวอย่าง
mysql>UPDATE phonebook SET name='somjai' WHERE name='somsee';
|
วิธีการทำ
ให้แก้ไขข้อมูลในตาราง phonebook
คนชื่อ somjai แก้เป็น somsee
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> UPDATE phonebook SET name='somsee' WHERE name='somjai';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>
|
จากนั้นทดลองดูโดยใช้คำสั่ง SELECT
ว่าข้อมูลได้ถูกแก้ไขไปจริงหรือไม่
ผลลัพธ์ดังภาพ
mysql> SELECT * FROM phonebook;
+----------+----------------------+---------+--------+----+
| name | email | phone | salary | ID |
+----------+----------------------+---------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 | 10000 | 1 |
| parinya | parinya@thai.com | 612069 | 20000 | 2 |
| somchai | somchai@stjohn.com | 9387059 | 30000 | 3 |
| sangchai | sangchai@chaiyo.com | 7127000 | 50000 | 4 |
| sangtong | sangtong@mco.net | 975899 | 50000 | 6 |
+----------+----------------------+---------+--------+----+
5 rows in set (0.00 sec)
mysql>
|
จะเห็นว่าข้อมูลที่ชื่อ somjai
ได้หายไปแล้วและถูกแก้ไขเป็น somsee
แทน
เราสามารถทำการแก้ไขข้อมูลได้แล้ว
ทีนี้เรามาทำการลบข้อมูลกัน
การลบข้อมูลจำเป็นต้องใช้ความระวังอย่างสูง
เนื่องจาก MySQL
จะไม่ทวนคำถามก่อนว่าจะยืนยันการลบหรือไม่
ข้อมูลที่ลบไปแล้วไม่สามารถ Undo
กลับมาได้
ถ้าต้องการเรียกคืนจะต้องสร้างขึ้นใหม่
รูปแบบการลบดังต่อไปนี้
รูปแบบคำสั่งการลบข้อมูล
รูปแบบคำสั่งการลบข้อมูล
DELETE FROM tablename WHERE
(fieldname='datadel'); คำอธิบาย
DELETE FROM tablename WHERE
(fieldname='datadel');
DELETE FROM เป็นคำสั่งลบข้อมูล
tablename เป็นชื่อ table
ที่ต้องการลบข้อมูลภายใน table
WHERE คำสั่งค้นหาข้อมูล
fieldname='datadel' เป็นชื่อ
field และข้อมูลที่ต้องการลบ
ตัวอย่าง
mysql >DELETE FROM phonebook WHERE (name='somsee');
|
วิธีการทำ
ให้ลบข้อมูลคนชื่อ somsee ในตาราง phonebook
ผลลัพธ์ดังภาพ
mysql> DELETE FROM phonebook WHERE (name='somsee');
Query OK, 1 row affected (0.02 sec)
|
จากนั้นทดลองดูโดยใช้คำสั่ง SELECT
ว่าข้อมูลได้ถูกลบไปจริงหรือไม่
ผลลัพธ์ดังภาพ
mysql> SELECT * FROM phonebook;
+----------+----------------------+---------+--------+----+
| name | email | phone | salary | ID |
+----------+----------------------+---------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 | 10000 | 1 |
| parinya | parinya@thai.com | 612069 | 20000 | 2 |
| somchai | somchai@stjohn.com | 9387059 | 30000 | 3 |
| sangchai | sangchai@chaiyo.com | 7127000 | 50000 | 4 |
| sangtong | sangtong@mco.net | 975899 | 50000 | 6 |
+----------+----------------------+---------+--------+----+
5 rows in set (0.00 sec)
mysql>
|
จะเห็นว่าข้อมูลที่ชื่อ somsee
ได้หายไปแล้ว
Tip โปรดระวังในขณะที่แก้ไขหรือลบข้อมูล
MySQL
จะไม่ทวนคำถามเพื่อการยืนยันการทำงาน
ดังนั้นก่อนทำการแก้ไขและลบข้อมูลจะต้องแน่ใจก่อน
Copyright By Passkorn Roungrong 2000
|