การจัดการฐานข้อมูลด้วย phpMyAdminง32243...

21
ฐานข้อมูลเป็นส่วนหนึ่งของระบบสารสนเทศที่จาเป็นต้องเก็บข้อมูลและสารสนเทศต่างๆ ไว้ เพื่อนามาประมวลผล หรือนามาแสดง คานวณงานต่างๆ ฐานข้อมูลที่ใช้กับโปรแกรมภาษาพีเอชพีทีนิยมใช้คือ ฐานข้อมูล MySQL เนื่องจากฐานข้อมูล MySQL ติดต่อกับผู้ใช้ผ่านคอมมานด์ไลน์ ซึ่งผู้ใช้ ต้องพิมพ์คาสั่งต่างๆ ลงไปเอง จึงทาให้ไม่สะดวกต่อการใช้งาน จากปัญหานี้จะมีผู้สร้างเครื่องมือขึ้นมา ช่วยให้สามารถจัดการกับฐานข้อมูล MySQL ให้ง่ายขึ้น โดยเครื่องมือนี้มีชื่อว่า phpMyAdmin ซึ่ง เป็นเว็บแอปพลิเคชั่น ที่เขียนด้วย PHP โดยติดต่อผู้ใช้งานในแบบกราฟฟิก ประหยัดเวลาพิมพ์คาสั่ง และช่วยลดข้อผิดพลาด ทาให้ผู้ให้บริการเช่าเว็บมักจะติดตั้ง phpMyAdmin ให้ผู้ใช้บริการได้ใช้งาน สาหรับผู้ที่ติดตั้ง AppAServ จะมี phpMyAdmin เป็นส่วนหนึ่งอยู่แล้ว การจัดการฐานข้อมูลด้วย phpMyAdmin ความสามารถของ phpMyAdmin มีดังนี1. สร้างและลบ Database 2. สร้างและจัดการ Table เช่น เพิ่ม record, ลบ record, แก้ไข record หรือลบ Table, เพิ่มหรือแก้ไข field ในตาราง 3. โหลดเท็กซ์ไฟล์ และ ไฟล์นามสกุล CSV เข้าไปเก็บเป็นข้อมูลใน Table ได้ 4. สามารถใช้คาสั่ง SQL ได้ การเริ่มใช้งาน phpMyAdmin การเข้าใช้งานโปรแกรม phpMyAdmin จะใช้งานผ่านโปรแกรม AppServ ดังนั้นคุณต้อง ติดตั้งโปรแกรม AppServ ก่อน แล้วเปิด Internet Explorer พิมพ์ทีURL ว่า 127.0.0.1 แล้ว enter เมื่อจอภาพแสดงโปรแกรม AppServ แล้วให้คลิกทีphpMyAdmin Database Manager ดังภาพ

Transcript of การจัดการฐานข้อมูลด้วย phpMyAdminง32243...

Page 1: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ฐานขอมลเปนสวนหนงของระบบสารสนเทศทจ าเปนตองเกบขอมลและสารสนเทศตางๆ ไวเพอน ามาประมวลผล หรอน ามาแสดง ค านวณงานตางๆ ฐานขอมลทใชกบโปรแกรมภาษาพเอชพทนยมใชคอ ฐานขอมล MySQL เนองจากฐานขอมล MySQL ตดตอกบผใชผานคอมมานดไลน ซงผใชตองพมพค าสงตางๆ ลงไปเอง จงท าใหไมสะดวกตอการใชงาน จากปญหานจะมผสรางเครองมอขนมาชวยใหสามารถจดการกบฐานขอมล MySQL ใหงายขน โดยเครองมอนมชอวา phpMyAdmin ซงเปนเวบแอปพลเคชน ทเขยนดวย PHP โดยตดตอผใชงานในแบบกราฟฟก ประหยดเวลาพมพค าสง และชวยลดขอผดพลาด ท าใหผใหบรการเชาเวบมกจะตดตง phpMyAdmin ใหผใชบรการไดใชงาน ส าหรบผทตดตง AppAServ จะม phpMyAdmin เปนสวนหนงอยแลว

การจดการฐานขอมลดวย phpMyAdmin

ความสามารถของ phpMyAdmin มดงน 1. สรางและลบ Database 2. สรางและจดการ Table เชน เพม record, ลบ record, แกไข record หรอลบ Table,

เพมหรอแกไข field ในตาราง 3. โหลดเทกซไฟล และ ไฟลนามสกล CSV เขาไปเกบเปนขอมลใน Table ได 4. สามารถใชคาสง SQL ได

การเรมใชงาน phpMyAdmin

การเขาใชงานโปรแกรม phpMyAdmin จะใชงานผานโปรแกรม AppServ ดงนนคณตอง

ตดตงโปรแกรม AppServ กอน แลวเปด Internet Explorer พมพท URL วา 127.0.0.1 แลว enter เมอจอภาพแสดงโปรแกรม AppServ แลวใหคลกท phpMyAdmin Database Manager ดงภาพ

Page 2: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 69

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

หลงจากนนจะปรากฏหนาตางใหปอน username และ password โดยใหใส root ใน

ชอง username สวน password ใหใส password เดยวกนกบตอนทตดตง AppServ วาไดปอน password ของ MySQL ไวอยางไร แลวคลกทปม ok จะปรากฏหนาจอแรกของโปรแกรม phpMyAdmin

หนาจอแรกของโปรแกรม phpMyAdmin

Page 3: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 70

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

การสรางฐานขอมลใหม สมมตวาตองการสรางฐานขอมลชอ bcom และให encode เปน utf8_unicode_ci

แลวคลกปมสราง ดงภาพ

จะปรากฏฐานขอมล bcom ดงภาพ

การสรางตาราง (Table)

ภายหลงจากทสรางฐานขอมลเรยบรอยแลว phpMyAdmin จะแจงใหเราทราบวาไดท าการสรางฐานขอมล bcom เรยบรอยแลว ซงยงไมมเทเบลใดๆ อยเลย ในทนจะสรางตารางส าหรบเกบขอมลของบคคล โดยการออกแบบใหมเทเบล 4 เทเบล คอ division, employee, province, users ดงน

division (จะใชเกบขอมลหนวยงานของพนกงาน) province (จะใชเกบขอมลจงหวด)

Page 4: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 71

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

employee (จะใชเกบขอมลพนกงาน) users (จะใชเกบขอมล ผใชโปรแกรม)

ตวอยางการสรางเทเบล division

1. ใหคลกท bcom เพอเลอกฐานขอมลชอน 2. ทชองชอ ใหปอน division และ ปอน 2 ในชอง number of fileds เพราะเทเบล division

จะมฟลดอย 2 ฟลดทตองการสรางนนเอง แลวใหคลกปม ลงมอ 3. ปอนขอมลฟลด เหมอนดงภาพ

Page 5: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 72

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

ทางดานขวา ของฟลด id ใหเลอก เหมอนรปดานลาง ซงจะหมายถงใหฟลด id เปน primary key ของเทเบล division เสรจแลวใหคลกปมบนทก

ไอคอนมความหมายดงน

ส าหรบแกไข ชอฟลด ชนดของขอมลทเกบ ไพรมารคย หรอคาเรมตนอนๆ ส าหรบลบฟลดนนๆ ออกจากตาราง ส าหรบกาหนดใหฟลดนนๆ เปนไพรมารคย (Primary Key)

ส าหรบกาหนดใหฟลดนนๆ เปนเอกลกษณ (Unique)

ส าหรบกาหนดใหฟลดนนๆ เปนดชน (Index) 4. เสรจสนขนตอนการสรางเทเบล division จะเหนวา ท ดาตาเบส bcom มตวเลข 1 ซง

หมายถงมเทเบลอย 1 เทเบล แลว

5. ขนตอนตอมาเปนการเพมขอมลใหกบเทเบล division

Page 6: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 73

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

5.1 ใหคลกทเทเบล division 5.2 คลกแถบ แทรก 5.3 ใหปอนขอมลหนวยงาน 1 ผจดการ และ 2 บญช เหมอนภาพดานลาง

5.4 ใหคลกปม ลงมอ 5.5 โปรแกรมจะแสดงขอความวาแถวทถกแทรก 2 หมายถงเพมขอมล 2 เรคอรด ใน

เทเบล division เรยบรอยแลว

5.6 ถาตองการดวามขอมล 2 เรคอรด จรงหรอไม ใหคลกทแถบเปดด จะเหนขอมล 2 แถว

ซงหมายถง 2 เรคอรด ทเราใชโปรแกรม phpMyAdmin สราง

Page 7: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 74

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

6. ใหสรางขอมลเรคอรดเพม ส าหรบเทเบล division โดยคลกแถบ แทรก แลวปอนขอมล

ดงภาพดานลาง แลวคลกปม ลงมอ

เมอตองการดขอมล ใหคลกแถบเปดด จะเหนขอมลในเทเบล division ม 4 เรคอรด ซงเราสรางเสรจสมบรณแลว

ขนตอนตอมาใหเพมขอมลลกษณะเดยวกบ โดยเพมขอมลของเทเบล employee, province, users โดยสรางขอมล ตามตารางดานลางน

ขอมลของเทเบล employee

ขอมลของเทเบล users

Page 8: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 75

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

ขอมลของเทเบล province

การใชค าสง SQL ในโปรแกรม PhpMyAdmin

1. การคนหา การคนหาภายในแถบคนหา ท าใหงายตอผใชทตองการความสะดวก และ งายตอการใช

งาน ส าหรบหนาจอของเมนการคนหา แสดงดงภาพ

1.1 เลอกเทเบล division แลวคลกแถบ คนหา 1.2 ชอง คา จะใหปอนขอความทตองการคนหา เชน ปอนเลข 2 1.3 คลกปม ลงมอ

Page 9: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 76

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

ผลลพธทเหนคอ หนวยงานบญช เพราะเราคนหาดวยรหส id ทเทากบเลข 2 2. การแกไขขอมล

สมมตวาตองการแกไข ขอมลของเทเบล division 2.1 คลกทเทเบล division แลวคลกแถบ เปดด 2.2 ทสวนหนาของแตละเรคอรด จะมรปดนสอ ซงหมายถงการแกไข เรคอรด นนๆ

เชน ตองการแกไขขอมลของหนวยงาน ผจดการ ใหคลกทรปดนสอ แถวท id เทากบ 1 แลวจะเหนจอภาพ ใหแกไขขอมลได ตามภาพดานลางน

เมอตองการ save ใหคลกปม ลงมอ

Page 10: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 77

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

3. การลบขอมล สมมตวาตองการลบ ขอมลของเทเบล division 3.1 คลกทเทเบล division แลวคลกแถบ เปดด 3.2 ทสวนหนาของแตละเรคอรด จะมรปกากบาทสแดงซงหมายถงการลบเรคอรดนนๆ

3.3 สมมตวา ตองการลบขอมลของเรคอรด ผจดการ ใหคลกเครองหมาย กากบาทแถว

ท id เทากบ 1 จะปรากฏจอภาพ ดงภาพดานลาง เพอยนยนการลบ ถาตองการลบ ใหคลกปม ตกลง และถาไมตองการลบ ใหคลกปมยกเลก

Page 11: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 78

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

4. การลบเทเบล

การลบเทเบลออกจากฐานขอมลใหคลกท bcom จะเหนเครองหมายกากบาท ในแตละ

แถวของตาราง(เทเบล) ซงหมายถงตองการลบเทเบลใด กคลกทเครองหมายกากบาท ทแถวนน

เราสามารถลบเฉพาะขอมลในเทเบล หรอ ลบขอมลและลบเทเบลนนได การเลอกดานหนาของเทเบล คอการเลอกเทเบลนน ท ากบทเลอก มความหมายหลายอยาง เชน ลบขอมล หมายถง ลบขอมลอยางเดยว แตโครงสรางเทเบลยงอย โยนทง หมายถง ลบขอมล และ ลบโครงสรางเทเบลนนดวย

เมอเราปอนเทเบล division,employee,province,users เขาไปในฐานขอมล bcom แลว จะเหนหนาจอเปนดงน

Page 12: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 79

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

5. การส ารองขอมล

คลกท bcom แลวคลกแถบ สงออก 5.1 คลกเลอก ฐานขอมลชอ bcom 5.2 คลกแทบ สงออก 5.3 ตรวจสอบเทเบล วาเลอกทงหมด ทกเทเบล หรอไม 5.4 คลกเลอกโครงสราง 5.5 คลกเลอกขอมล 5.6 คลกเลอก sql 5.7 คลกปม ลงมอ

เราจะไดไฟลชอ bcom.sql โดยไฟลน จะมทงโครงสรางของเทเบล และมขอมล อยดวย

6. การน าไฟลส ารองมาใช

6.1 สรางฐานขอมล ชอ bcom

Page 13: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 80

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

6.2 คลกแทบ Import 6.3 คลกปม Browse… 6.4 เลอกไฟล bcom.sql ทเราเกบไว 6.5 คลกปมลงมอ จะปรากฏดงภาพดานลาง ใหคลกปม Browse… เพอเลอกไฟล

bcom3209.sql แลวคลกปม ลงมอ

หนาจอจะแสดงเทเบล 4 เทเบล แสดงวาน าขอมลเขาฐานขอมลเรยบรอยแลว

ค าอธบายของชนดขอมล

VARCHAR : ส าหรบเกบขอมลประเภทตวอกษร ทกครงทเลอกชนดของฟลดเปนประเภท

น จะตองมการก าหนดความยาวของขอมลลงไปดวย ซงสามารถกาหนดคาไดตงแต 1 - 255 ฟลดชนดน เหมาะส าหรบการเกบขอมลสนๆ เชน ชอ นามสกล หรอหวขอตางๆ เปนตน... ในสวนฟลดประเภทน จะสามารถเลอก "แอตทรบวต" เปน BINARY ได โดยปกตแลวการจดเรยงขอมลเวลาสบคน (query) ส าหรบ VARCHAR จะเปนแบบ case-sensitive (ตวอกษรใหญ และเลกมความหมายแตกตางกน) แตหากระบ "แอตทรบวต" เปน BINARY การสบคนจะไมคานงตวอกษรวาจะเปนตวใหญ หรอตวเลก

Page 14: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 81

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

CHAR : ส าหรบเกบขอมลประเภทตวอกษร แบบทถกจ ากดความกวางเอาไวคอ 255 ตวอกษร ไมสามารถปรบเปลยนไดเหมอนกบ VARCHAR หากท าการสบคนโดยเรยงตามล าดบ กจะเรยงขอมลแบบ case-sensitive เวนแตจะก าหนดแอตทรบวตเปน BINARY ทจะท าใหการเรยงขอมลเปนแบบ non case-sensitive เชนเดยวกบ VARCHAR

TINYTEXT : ในกรณทขอความยาวๆ หรอตองการทจะคนหาขอความ โดยอาศยฟเจอร FULL TEXT SEARCH ของ MySQL เราอาจจะเลอกทจะไมเกบขอมลลงในฟลดประเภท VARCHAR ทมขอจ ากดแค 256 ตวอกษร แตเราจะเกบลงฟลดประเภท TEXT แทน โดย TINYTEXT น จะสามารถเกบขอมลได 256 ตวอกษร ซงมองเผนๆ กไมตางกบเกบลงฟลดประเภท CHAR หรอ VARCHAR (255) เลย แตจรงๆ มนตางกนตรงท มนท า FULL TEXT SEARCH ได

TEXT : ส าหรบเกบขอมลประเภทตวอกษร เชนเดยวกบ TINYTEXT แตสามารถเกบไดมากขน โดยสงสดคอ 65,535 ตวอกษร หรอ 64KB เหมาะส าหรบเกบขอมลพวกเนอหาตางๆ ทยาวๆ

MEDIUMTEXT : เกบขอมลประเภทตวอกษร เชนเดยวกบ TINYTEXT แตเกบขอมลได 16,777,215 ตวอกษร

LONGTEXT : เกบขอมลประเภทตวอกษร เชนเดยวกบ TINYTEXT แตเกบขอมลได 4,294,967,295 ตวอกษร

TINYINT : ส าหรบเกบขอมลชนดตวเลขทมขนาด 8 บต ขอมลประเภทนเราสามารถก าหนดเพมเตมในสวนของ "แอตทรบวต" ไดวาจะเลอกเปน UNSIGNED หรอ UNSIGNED ZEROFILL

SMALLINT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 16 บต จงสามารถเกบคาไดตงแต -32768 ถง 32767 (ในกรณแบบคดเครองหมาย) หรอ 0 ถง 65535 (ในกรณ UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT

MEDIUMINT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 24 บต นนกหมายความวาสามารถเกบขอมลตวเลขไดตงแต -8388608 ไปจนถง 8388607 (ในกรณแบบคดเครองหมาย) หรอ 0 ถง 16777215 (ในกรณทเปน UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT

INT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 32 บต หรอสามารถเกบขอมลไดตงแต -2147483648 ไปจนถง 2147483647 ครบ (ในกรณแบบคดเครองหมาย) หรอ 0 ถง 4294967295 (ในกรณทเปน UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT

Page 15: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 82

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

BIGINT : ส าหรบเกบขอมลประเภทตวเลขทมขนาด 64 บต สามารถเกบขอมลไดตงแต -9223372036854775808 ไปจนถง 9223372036854775807 เลยทเดยว (แบบคดเคร องหมาย) หรอ 0 ถง 18446744073709551615 (ในกรณทเปน UNSIGNED หรอไมคดเครองหมาย) ซงสามารถเลอก Attribute เปน UNSIGNED และ UNSIGNED ZEROFILL ไดเชนเดยวกบ TINYINT

FLOAT[(M,D)] : ทกลาวถงไปทงหมด ในตระกล INT นนจะเปนเลขจ านวนเตม หากเราบนทกขอมลทมเศษทศนยม มนจะถกปดทนท ดงนนหากตองการจะเกบคาทเปนเลขทศนยม ตองเลอกชนดขอฟลดเปน FLOAT โดยจะเกบขอมลแบบ 32 บต คอมคาตงแต -3.402823466E+38 ไปจนถง -1.175494351E-38, 0 และ 1.175494351E-38 ถง 3.402823466E+38

DOUBLE[(M,D)] : ส าหรบเกบขอมลประเภทตวเลขทศนยม เชนเดยวกบ FLOAT แตมข น าด เ ป น 6 4 บ ต ส าม า ร ถ เ ก บ ไ ด ต ง แ ต -1 . 7 9 7 6 9 3 1 3 4 8 6 2 3 1 5 7 E+3 0 8 ถ ง -2.2250738585072014E-308 , 0 และ 2.2250738585072014E-308 ถง 1.7976931348623157E+308

DECIMAL[(M,D)] : ส าหรบเกบขอมลประเภทตวเลขทศนยม เชนเดยวกบ FLOAT แตใชกบขอมลทตองการความละเอยดและถกตองของขอมลสง

DATE : ส าหรบเกบขอมลประเภทวนท โดยเกบไดจาก 1 มกราคม ค.ศ. 1000 ถง 31 ธนวาคม ค.ศ. 9999 โดยจะแสดงผลในรปแบบ YYYY-MM-DD

DATETIME : ส าหรบเกบขอมลประเภทวนท และเวลา โดยจะเกบไดตงแต 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถง 31 ธนวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรปแบบการแสดงผล เวลาททาการสบคน (query) ออกมา จะเปน YYYY-MM-DD HH:MM:SS

TIMESTAMP[(M)] : ส าหรบเกบขอมลประเภทวนท และเวลาเชนกน แตจะเกบในรปแบบของ YYYYMMDDHHMMSS หรอ YYMMDDHHMMSS หรอ YYYYMMDD หรอ YYMMDD แลวแตวาจะระบคา M เปน 14, 12, 8 หรอ 6 ตามล าดบ สามารถเกบไดตงแตวนท 1 มกราคม ค.ศ. 1000 ไปจนถงประมาณป ค.ศ. 2037

TIME : ส าหรบเกบขอมลประเภทเวลา มคาไดตงแต -838:59:59 ไปจนถง 838:59:59 โดยจะแสดงผลออกมาในรปแบบ HH:MM:SS

YEAR[(2/4)] : ส าหรบเกบขอมลประเภทป ในรปแบบ YYYY หรอ YY แลวแตวาจะเลอก 2 หรอ 4 (หากไมระบ จะถอวาเปน 4 หลก) โดยหากเลอกเปน 4 หลก จะเกบคาไดตงแต ค.ศ. 1901 ถง 2155 แตหากเปน 2 หลก จะเกบตงแต ค.ศ. 1970 ถง 2069

TINYBLOB : ส าหรบเกบขอมลประเภทไบนาร ไดแก ไฟลขอมลตางๆ, ไฟลรปภาพ, ไฟลมลตมเดย เปนตน คอไฟลอะไรกตามทอพโหลดผานฟอรมอพโหลดไฟลในภาษา HTML โดย TINYBLOB นนจะมเนอทใหเกบขอมลได 256 ไบต

Page 16: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 83

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

BLOB : ส าหรบเกบขอมลประเภทไบนาร เชนเดยวกบ TINYBLOB แตสามารถเกบขอมลได 64KB

MEDIUMBLOB : ส าหรบเกบขอมลประเภทไบนาร เชนเดยวกบ TINYBLOB แตเกบขอมลได 16 MB

LONGBLOB : ส าหรบเกบขอมลประเภทไบนาร เชนเดยวกบ TINYBLOB แตเกบขอมลได 4GB

SET : ส าหรบเกบขอมลทเปนกลมของขอมลทยอมใหเลอกได 1 คาหรอหลายๆ คา ซงสามารถกาหนดไดถง 64 คา

การเขยนโปรแกรมตดตอกบฐานขอมล

ในการเขยนโปรแกรมตดตอกบฐานขอมลนนมขนตอนดงตอไปน ขนตอนท 1 เชอมตอฐานขอมล ท าไดโดยใชฟงกชน mysql_connect โดยคาทตองสงจะม

สามคาคอ -string Host (IP ของ MySQL ในกรณทอยในเครองเดยวกนใหใส localhost) -string MySQL username -string MySQL password

<?php mysql_connect("host", "mysql_username", "mysql_password"); ?>

ขนตอนท 2 ตดตอกบฐานขอมลทเราจะใชงาน โดยใชค าสง mysql_select_db โดยมคาท

ตองใสคอ -string ชอฐานขอมล -link identifier (จะใสหรอไมใสกได)

<?php mysql_select_db("database", [$link]); ?>

Page 17: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 84

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

ขนตอนท 3 ปดการเชอมตอ ในเมอมการเชอมตอแลวกตองท าการปดการเชอมตอดวย ถาหากรอ session ใน MySQL หมดแลวใหมนตดการเชอมตอเองเดยวหนวยความจ าของเซรฟเวอรจะหมดเกลยงเสยกอน ถาหากเราใชงานแคคนเดยวกไมเทาไหร แตเขามาสก 1000 คน 1000 connections 1000 processes ถาไมคนหนวยความจ าใหหลงจากใชงานเสรจ หนวยความจ าเทาไหรกไมพอ วธการคนหนวยความจ า ดงน

<?php mysql_close([$link]); ?>

ตวอยางท 6.1

ไฟล connect.php (เชอมตอฐานขอมล)

<?php $host = "localhost"; $user = "root"; $password = "1234"; $dbname = "bcom"; $c = mysql_connect($host,$user,$password); if(!$c) echo "ERROR!! NOT CONNECT!!"; else echo "CONNECTED";

?>

Page 18: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 85

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

ไฟล save.php (บนทกขอมลลงฐานขอมล) <?php

include "connect.php"; $id="1"; $name_emp = "สรยะ วรรณด"; $emp_picture="1.jpg"; $salary="10000"; $start_date="2001-10-29"; $division_id="2"; $province_id="14"; $sql = "insert into employee values('''$id','$name_emp','$emp_picture',

'$salary','$start_date', '$division_id', '$province_id'”); $result = mysql_db_query($dbname,$sql); if($result) echo "<br>DATA SAVED!!"; else echo "<br>SAVE ERROR!!"; mysql_close();

?>

Page 19: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 86

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

ไฟล show.php (แสดงขอมลในฐานขอมล)

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head> <body> <?php

include "connect.php"; $sql = "select * from employee order by id desc";

mysql_query("SET NAMES UTF8"); $result = mysql_db_query($dbname,$sql); while($record = mysql_fetch_array($result)) { $id = $record[id]; $name = $record[name_emp];

$picture=$record[emp_picture]; $salary=$record[salary]; $date=$record[start_date]; $division=$record[division_id]; $province=$record[province_id];

echo "<br>$id $name $picture $salary $date $division $province";

echo "<hr>"; }

?> </body> </html>

Page 20: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 87

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

กจกรรมท 1

ใหนกเรยนฝกปฏบตการสรางฐานขอมล db_เลขประจ าตว และสรางเทเบล 2 เทเบล ซงมโครงสรางขอมล ดงน tb_student

tb_subject แลวใหเพมขอมลของนกเรยนในหองตนเองลงในฐานขอมล 10 เรคคอรด และขอมล

รายวชา 5 เรคคอรด

Page 21: การจัดการฐานข้อมูลด้วย phpMyAdminง32243 การเขียนโปรแกรมบนเว็บ | 70 โรงเรียนกาญจนานุเคราะห์

ง 3 2 2 4 3 ก า ร เ ข ย น โ ป ร แ ก ร ม บ น เ ว บ | 88

โ ร ง เ ร ย น ก า ญ จ น า น เ ค ร า ะ ห | น า ง ส า ว น ส า ก ร ล อ ถ า ว ร

กจกรรมท 2

ใหนกเรยนเขยนโปรแกรมเพอแสดงขอมลของนกเรยนทเกบในฐานขอมล db_เลขประจ าตว เทเบล tb_student ทกฟลด ไดแก รหสนกเรยน ค าน าหนา ชอ สกล ชน เลขท อาย ทอย โทรศพทมอถอ และ email (ไฟลเชอมตอฐานขอมลใหบนทกชอ connect_เลขประจ าตว.php สวนไฟลแสดงขอมลบนทกชอไฟล lab019_เลขประจ าตว.php)