การแก้ไขข้อมูล

       ในการดำเนินการจัดการข้อมูลจำเป็นจะต้องมีการแก้ไขข้อมูลให้ทันเหตุการณ์ (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