ใน
ตอนก่อน พูดถึงการแสดงข้อมูล และค้นหาข้อมูลตามที่ต้องการ คราวนี้มาดูวิธีการสร้างฐานข้อมูล ตาราง และการเพิ่ม ลบ แก้ไขเปลี่ยนแปลงข้อมูลของตารางกันกันบ้าง
การสร้างฐานข้อมูลนั้นจะใช้คำสั่ง
CREATE
ซึ่งผู้ใช้จะสร้างฐานข้อมูลได้หรือไม่นั้น ขึ้นอยู่กับว่า บัญชีนั้นมีสิทธิ์ที่จะทำได้หรือไม่ด้วย ซึ่งในหลาย ๆ โฮสต์ จะอนุญาตให้สร้างฐานข้อมูลผ่านทาง back-end แทนที่จะสร้างโดยตรงผ่านทางคำสั่ง SQL
เราก็จะได้ฐานข้อมูลเปล่า ๆ มาอันนึง ซึ่งจำเป็นต้องสร้างตารางขึ้นมาเพื่อเก็บข้อมูลเพิ่มเติมโดยใช้คำสั่ง
CREATE
เช่นเดียวกัน โดยต้องระบุ ชื่อคอลัมภ์พร้อมคุณลักษณะต่าง ๆ อย่างเช่น ชนิดของข้อมูลในคอลัมภ์นั้น ๆ ด้วย
นอกจากนี้ ยังต้องคำนึงด้วยว่าระบบฐานข้อมูลที่ใช้อยู่เป็นตัวไหน เพราะคำสั่งนี้บางส่วนในบางระบบจะใช้ไม่เหมือนกัน (อย่างเช่นการกำหนด primary key และ การเพิ่มค่าอัตโนมัติในตัวอย่าง)
ตอนนี้ก็จะมีตาราง application เปล่า ๆ ขึ้นมาอันหนึ่ง
id | name | category | developer | year |
การเพิ่มข้อมูล (แถว) เข้าตารางจะใช้คำสั่ง
INSERT INTO
ในที่นี้คอลัมภ์ id จะเพิ่มโดยอัตโนมัติ (auto_increment) ถ้าส่งค่า
null
ไประบบฐานข้อมูลจะใส่ค่าถัดไปให้โดยอัตโนมัติ และถ้าต้องการเพิ่มข้อมูลที่ละหลาย ๆ แถวก็สามารถใส่ค่าของ
VALUES
ลงไปหลาย ๆ ชุดได้เช่นกัน
ผลที่ได้จะเป็น
id | name | category | developer | year |
1 | Windows | OS | Microsoft | 1985 |
2 | OS X | OS | Apple Inc. | 2001 |
3 | Microsoft Office | Office Suite | Microsoft | 1990 |
4 | Libre Office | Office Suite | The Document Foundation | 2011 |
5 | Adobe Photoshop | Graphic Editor | Adobe | 1990 |
6 | GIMP | Graphic Editor | The GIMP Development Team | 1996 |
7 | Firefox | Browser | Mozilla | 2004 |
ถ้าตารางนั้นมีข้อมูลเริ่มต้นอยู่ หรือไม่จำเป็นต้องใส่ค่าลงไปได้ สามารถที่จะระบุเฉพาะคอลัมภ์ที่ต้องการใส่ข้อมูลลงไปได้เช่นเดียวกัน
ผลที่ได้จะเป็น
id | name | category | developer | year |
1 | Windows | OS | Microsoft | 1985 |
2 | OS X | OS | Apple Inc. | 2001 |
3 | Microsoft Office | Office Suite | Microsoft | 1990 |
4 | Libre Office | Office Suite | The Document Foundation | 2011 |
5 | Adobe Photoshop | Graphic Editor | Adobe | 1990 |
6 | GIMP | Graphic Editor | The GIMP Development Team | 1996 |
7 | Firefox | Browser | Mozilla | 2004 |
8 | Chromium | | | 2008 |
ส่วนการแก้ไขข้อมูลนั้นจะใช้
UPDATE
ผลที่ได้จะเป็น
id | name | category | developer | year |
1 | Windows | OS | Microsoft | 1985 |
2 | OS X | OS | Apple Inc. | 2001 |
3 | Microsoft Office | Office Suite | Microsoft | 1990 |
4 | Libre Office | Office Suite | The Document Foundation | 2011 |
5 | Adobe Photoshop | Graphic Editor | Adobe | 1990 |
6 | GIMP | Graphic Editor | The GIMP Development Team | 1996 |
7 | Firefox | Browser | Mozilla | 2004 |
8 | Google Chrome | Browser | Google Inc. | 2008 |
สิ่งที่ควรจำให้ขึ้นใจคือ จะแก้ไขข้อมูลต้องมี
WHERE
เสมอ ไม่เช่นนั้นจะเป็นการแก้ไขข้อมูลทั้งตาราง! และควรจะใช้เงื่อนไขของ
WHERE
อย่างรอบคอบ เพื่อไม่ให้ข้อมูลที่ไม่เกี่ยวข้องได้รับผลกระทบ
ส่วนการลบข้อมูลก็จะใช้
DELETE
ซึ่งจำเป็นต้องมี
WHERE
เช่นกัน และที่สำคัญคือถ้าใช้
WHERE
ไม่รอบคอบ หรือไม่ใช้ ข้อมูลอาจจะหายไปทั้งตารางได้เช่นกัน
id | name | category | developer | year |
1 | Windows | OS | Microsoft | 1985 |
2 | OS X | OS | Apple Inc. | 2001 |
5 | Adobe Photoshop | Graphic Editor | Adobe | 1990 |
6 | GIMP | Graphic Editor | The GIMP Development Team | 1996 |
7 | Firefox | Browser | Mozilla | 2004 |
8 | Google Chrome | Browser | Google Inc. | 2008 |
แม้ว่าจะใช้
DELETE
ลบข้อมูลทั้งตารางทิ้งไป แต่โครงสร้างตาราง ค่า index (ที่ใช้ในการค้นหาข้อมูล) รวมถึงค่าคุณลักษณะ (attribute) ต่าง ๆ ของตารางยังคงอยู่ ไม่ได้ถูกลบไปด้วย
ตามด้วย
ผลจะเป็น
id | name | category | developer | year |
9 | Internet Explorer | OS | Microsoft | 1995 |
แต่หากต้องการจะลบข้อมูลในตารางทิ้งจริง ๆ แนะนำให้ใช้
TRUNCATE
เพราะมันรวดเร็วกว่า และใช้ทรัพยากรน้อยกว่า
หากจะลบตารางทั้งตารางทิ้งจะใช้คำสั่ง
DROP
ตาราง application ทั้งตารางรวมทั้งโครงสร้างจะหายไปจากฐานข้อมูล ถ้าจะใช้ตารางนี้อีก ต้องสร้างตารางขึ้นมาใหม่เสียก่อน
นอกจากลบตารางทิ้งแล้ว
DROP
ยังสามารถลบฐานข้อมูลทั้งฐานข้อมูลทิ้งได้เช่นกัน (ทั้งนี้ขึ้นอยู่กับสิทธิ์ในการเข้าถึงฐานข้อมูลของบัญชีผู้ใช้อันนั้น ๆ ด้วย ว่าสามารถทำได้ถึงขั้นไหน)
No comments:
Post a Comment