เรียนรู้ MySQL -เริ่มสร้างฐานข้อมูล

เรียนรู้ MySQL -เริ่มสร้างฐานข้อมูล

ตอนนี้เราเข้าสู่ยุค MySQL 5กันไปแล้วนะครับ และช่วงนี้เริ่มเปลี่ยนเทคโนโลยี จาก 4 เป็น 5 ดังนั้นหากเอา MySQL 4 มาเล่าให้ฟังก็คงจะไม่เกิดประโยชน์อะไรอย่างแน่นอนเลย ก็เลยจะมาพูกถึง MySQL 5กันเลยนะครับ

แต่ว่า.... ในความเป็นจริงก็คือ MySQL 4 กับ 5 ก็แทบไม่ได้แตกต่างกันเลย ดังนั้น บทความนี้ หากศึกษาแล้ว ก็สามารถเขียนได้ทั้ง 4 และ 5 นั่นเอง แต่ผมจะพยายามให้เน้นทาง 5 เนื่องจาก ความรู้จะได้ไม่เก่าไปนักน่ะครับ แต่... เท่าที่สอบถามจากผู้รู้มา ความเปลี่ยนแปลงนั้นมันเปลี่ยนเชิงลึกมากครับ Developer ทั่วไปก็ยังไม่ได้รับผลกระทบจากการเปลี่ยนแปลงนี้เลยครับ

บทความนี้ เราจะติ๊ต่างว่า คนอ่านนั้นรู้จัก PHP แล้ว และพออ่านโค้ดเข้าใจนะครับ เพราะไม่เข้าใจแล้วมาอ่าน รับรอง ไม่งง ก็ต้องงงกันแล้วล่ะ และก็จะติ๊ต่างว่าเครื่องนั้นได้ลง WAMP ไว้แล้ว หรือ Appserv หรือ tool อื่นๆที่จำลองเครื่องแล้ว และมี MySQL เวอร์ชั่น 5.x.x นะครับ(เน้นเวอร์ชั่น MySQL)

และเราก็มาเริ่มด้วยการทำความเข้าใจก่อน ว่า MySQL นั้นคืออะไร
ความจริงก็พูดมาหลายครั้งอยู่นะครับ ในบทความในเว็บของเรา แต่พูดอีกสักที ก็ไม่น่าจะเป็นอะไร

คือเรื่องมันมีอยู่ว่า....... กาล ละครั้งหนึ่งเมื่อนานมาแล้ว...... ได้มีการก่อกำเนิดระบบฐานข้อมูลขึ้นมา.... ซึ่งมีการพัฒนาต่อยอดออกมาอีกหลายตัว และหนึ่งในนั้นก็คือพระเอกของเรา.... ซึ่งมีนามว่า MySQLนั่นเอง ซึ่งเป็นชื่อย่อที่ปวงชนชาวโลกต่างเรียกขานนามกัน โดยพระเอกของเรานั้นมีหน้าที่เป็นระบบข้อมูล ที่มีการจัดเก็บ เรียกค้น จัดการอย่างมีระบบ ระเบียบ ซึ่งมีภาษาที่ใช้ในการสนทนากับพระเอกของเรา ด้วยภาษา SQL ภาษานี้ มีการใช้งานในระบบฐานข้อมูลอีกหลายตัว ไม่ใช่แต่ MySQL ที่เป็นพระเอกของเราเท่านั้น
แต่อย่าเข้าใจผิด ว่า พระเอกของเรานั้น ทำงานได้ด้วยตัวเอง นะครับ เพราะว่าความเป็นจริงแล้ว MySQL นั้น มีหน้าที่แค่ เก็บ จัดการ ควบคุม โดยใช้ภาษา SQL เป็นตัวจัดการเท่านั้น เพราะว่า ในการแสดงผลออกมาจริงๆนั้น ก็ต้องผสมภาษา SQL เข้ากับภาษา PHP อีกอยู่ดี MySQL เพรียวๆ นำออกมาใช้งานได้ไม่เหมาะเท่าไรนัก

และก็ อีกหลายคน ก็มีความเข้าใจที่ผิดๆว่า phpMyAdmin คือ MySQL ??? ความจริงกำลังพูดกันคนละเรื่อง.... MySQL คือ ระบบ เน้น ตรงที่มันเป็นระบบนะ การเอาตัวหนังสือเข้าออกใส่ระบบ MySQL ก็ต้องมีตัวจัดการใช่มะ นั่นจึงเป็นที่มาของ phpMyAdmin นั่นเอง ตัวอย่างให้เห็นภาพมากขึ้นก็คือ การที่เราจะป้อนข้อมูลที่เรามี ลงไปในฐานข้อมูลแบบ MySQL นั้น เราต้องเขียนคำสั่งประมาณนี้ครับ
$query = "INSERT INTO userauth (commonname, email, username, pswd) VALUES (\'$_POST[name]\', \'$_POST[email]\'));
แต่ถ้าเราใช้ phpMyAdmin เราก็คลิกว่าเราจะแก้ไขข้อมูลแล้วเราก็กรอกลงไปในช่องที่เตรียมไว้ แล้วกด submit เป็นอันจบกระบวนการ.....

ทีนี้พอจะเข้าใจ MySQL และ phpMyAdmin กันมากขึ้นแล้วใช่มะล่ะ

หลังจากที่พร่ำกันมายาวทีเดียว เราก็มาเข้าเรื่องกันต่อ

เราจะมาเริ่มตั้งแต่ขั้นพื้นฐานกันก่อนดังนั้น บทความเรื่องนี้อาจจะยาวหน่อย แต่อยากให้ใจเย็นๆอ่านไปเรื่อยๆ เพราะว่าถ้าไม่มีพื้นฐานก็ต่อยอดขึ้นไปไม่ได้

ตอนนี้ เราก็มีระบบ MySQL แล้ว พร้อมด้วยตัวจัดการแบบ phpMyAdmin โดยจากบทความการติดตั้ง wamp นั่นเอง อย่าลืมนะครับ ถ้าใช้ตัวอื่น ขอเวอร์ชั่น MySQL 5.x.xนะครับ

ก็จะขอพูดถึงโครงสร้างของระบบฐานข้อมูลกันก่อนเลย

จุดกำเนิดแรกสุดของฐานข้อมูล นั่นก็คือ ฐานข้อมูล(มันพูดอะไรของมัน....) ไม่ได้พูดให้งง แต่มันเป็นอย่างนั้นจริงๆ เพราะลองนึกง่ายๆ เราจะเก็บข้อมูลลงฐานข้อมูล แต่เราไม่มีฐานข้อมูล เราจะเก็บที่ไหน???

นั่นล่ะครับ จึงต้องเป็นที่มาของฐานข้อมูลนั่นเอง แต่ว่า ตัวฐานข้อมูลเองนั้น ก็จะมีโครงสร้างย่อยลงมาอีกหลายระดับเลย
ชั้นแรกก็คือ ตาราง ฐานข้อมูล 1 ฐานข้อมูลจะประกอบด้วย อย่างน้อย 1 ตาราง หรือมากกว่าจึงจะใช้งานได้
เช่น เรามีฐานข้อมูลที่ชื่อว่า human นะครับ ในฐานข้อมูลเราอาจจะมีตาราง ที่ชื่อว่า profile, friend, tool อยู่ รวม มี 3 ตารางนะครับ
ชั้นต่อมาที่ต่อลงมาจาก ตารางนั่นก็คือ field หรือส่วนเก็บข้อมูลนั่นเอง ในตัวอย่างที่เรายกมานั้น เราอาจจะยกตัวอย่างได้ว่า ในตาราง profile นั้น จะมี field ที่ชื่อ name surname address อยู่ และในตาราง friend อาจจะมี field ที่ชื่อ name address อยู่ และในตาราง tool อาจจะมี field ที่ชื่อ name cost อยู่

จึงจะเห็นได้ว่ามันเป็นโครงสร้างที่ลดหลั่นกันลงมาเป็นลำดับชั้น ชั้นบนสุดคือ ฐานข้อมูล ที่จะเก็บทุกตาราง และในแต่ละตารางก็จะเก็บ field ของตัวเอง ตามแต่ว่า เราจะให้ตารางนั้นเก็บข้อมูลส่วนไหนอย่างไร
ความจริงเรื่อง ระบบ ฐานข้อมูลมันเป็น ศาสตร์นึงเลย แต่เราคงไม่พูดถึง เราเอามาใช้ให้เป็นก่อน จะดีกว่า

ทีนี้เราก็จะมาดูของจริงกับ phpMyAdmin ในเครื่องของเราที่มีอยู่ ก็เริ่มต้นจากการเข้าไปที่ phpMyAdmin ของเราก่อนเลย จะได้คล้ายๆแบบนี้
ขอเป็น MySQL เวอร์ชั่น 5.x.xนะครับ จากตัวอย่าง คือ 5.0.27

หน้าแรก phpMyAdmin

phpMyAdmin คืออะไร ? ผมเจอบ่อยมากครับ หลายคนไม่เข้าใจ ว่า phpMyAdmin มันคืออะไร รู้แต่ว่าถ้าฉันจะสร้างฐานข้อมูลฉันต้องมาสร้างในนี้ ซึ่งเวลาที่ท่านเหล่านี้ไปใช้งาน server จริงๆ จะพบว่า phpMyAdmin บน server จริงๆเค้าไม่อนุญาตให้เราสร้างฐานข้อมูลซะแล้ว แล้วก็งง ไปต่อไม่ถูก หาว่า server ไม่ดีอย่างนี้อย่างนั้น....

จริงๆแล้วความเข้าใจที่ถูกต้องของ phpMyAdmin ก็คือเครื่องมือที่มีขึ้นมาเพื่ออำนวยความสะดวกให้กับคนที่ใช้ฐานข้อมูลแบบ MySQL ซึ่งตัวมันเอง จะทำหน้าที่หลายอย่างที่เกี่ยวข้องกับฐานข้อมูล MySQL นั่นล่ะครับ ไม่ว่าจะเป็นการสร้าง แก้ไข ลบข้อมูล ฐานข้อมูลของ MySQL รวมไปถึงเชิงลึกอื่นๆ เช่นการซ่อม การปรับปรุง ฯลฯ โดยอาศัยเทคโนโลยี web base หรือพูดให้เข้าใจง่ายก็คือแบบผ่านหน้าเว็บนั่นล่ะครับ

ถ้าใช้ server จริงๆ ส่วนใหญ่เค้าจะไม่ให้เราสร้างฐานข้อมูลผ่าน phpMyAdmin แต่เค้าจะให้เราสร้าง-ลบฐานข้อมูลผ่าน control panel ที่ server นั้นมีบริการ แต่ phpMyAdmin ที่serverเค้าบริการเรา จะทำหน้าที่เพียงเพื่อการจัดการข้อมูลที่อยู่ภายในฐานข้อมูลเท่านั้น ดังนั้นไม่ต้องตกใจ เพราะว่านี้เป็นเรื่องปกติครับ ดังนั้นคราวต่อไปไม่ต้องตกใจ ถ้า phpMyAdmin ของ server จริงๆมันสร้าง หรือลบฐานข้อมูลไม่ได้

กลับมาเข้าเรื่องเราก็จะเริ่มจากการสร้างฐานข้อมูลกันก่อนเลย
ตามกรอบด้านล่างนี้ให้เราใส่ชื่อที่ต้องการลงไปเลย แต่ เน้นเรื่องการใส่ชื่อนิดนึง ขอเป็นภาษาอังกฤษหรือตัวเลขเท่านั้น แล้วอย่าให้มีอักขระพิเศษใดๆ

ใส่ชื่อเพื่อสร้างฐานข้อมูล

เอาล่ะครับ เมื่อมีฐานข้อมูลแล้ว เราก็พร้อมแล้วที่จะสร้างตารางใส่ฐานข้อมูลต่อไป ให้เราเลือกฐานข้อมูลนะครับ เป็นที่เราสร้างขึ้นมาใหม่ ก็เลือกที่ด้านซ้ายมือนั่นเอง เราก็เลือกเป็น human

เลือกฐานข้อมูลที่สร้างขึ้นมาใหม่

เราจะมาสร้างตารางใส่โดยให้สังเกตที่ด้านล่าง ใส่ตามนี้ครับ เราจะทำการสร้างตารางชื่อ profile และมี field 3 field

สร้าง field ใส่ table ใน phpMyAdmin

จากนั้น เราก็จะสร้าง ทั้ง 3 field ลงไปตามนี้ครับ เราจะเก็บเป็นตัวอักษร จำนวน 50 ตัวอักษร มี charset ที่ใช้ใน field คือ tis620_thai_ci นั่นเอง

สร้าง field ใหม่และกำหนดคุณสมบัติ

ที่ด้านล่างให้กด engine เป็น MyISAMแล้วเลือก Collation เป็น tis620_thai_ci เลื่อนลงมากด save ที่ด้านล่าง เท่านี้ เราจะได้ตารางของ profile มาโดยสมบูรณ์แล้ว ก็ขอให้สร้างตารางอีก 2 ตาราง ตามตัวอย่างที่เราเขียนไว้นะครับ คือ
ในตาราง friend มี field ที่ชื่อ name address ในตาราง tool มี field ที่ชื่อ name cost อยู่ อันนี้ไม่มีเฉลยให้ลองทำเองครับ

และตอนนี้เราก็เตรียมความพร้อมฐานข้อมูลของเราเป็นที่เรียบร้อยแล้ว

ก็จะจบกระบวนการเตรียมฐานข้อมูล แต่เพียงเท่านี้ สำหรับการเริ่มต้นใช้งานนั้น เราจะมานำเสนอกันในบทความต่อไปครับ ยังไงก็ลองสร้างๆ ลบๆ เล่นๆดูได้ครับ มันก็เครื่องเราเอง มั่วให้กระจาย เครื่องเราก็ไม่พังครับ แต่ถ้ามั่วที่ server แล้ว server พังอันนี้ก็ตัวใครตัวมันครับ

Create: Modify : 2007-05-10 07:00:00 Read : 31282 URL :