การเขียนโปรแกรมนั้นมีหลากหลายกิจกรรม แต่หนึ่งในเทคนิคที่สำคัญมากสำหรับนักพัฒนาโปรแกรมคือการจัดการฐานข้อมูลด้วยคำสั่ง SQL วันนี้เราจะพูดถึงเรื่องของการใส่ข้อมูล (Insert Data) ลงในตาราง (Table) ของฐานข้อมูล MySQL เป็นภาษา Perl โดยใช้คอนเซปต์ที่เรียกว่า "Prepared Statement" ซึ่งมีข้อดีมากมาย เช่น ความปลอดภัยจาก SQL Injection และการทำงานที่มีประสิทธิภาพ
โดยปกติเมื่อเราต้องการทำการเพิ่มข้อมูลลงในตารางฐานข้อมูล MySQL จะใช้คำสั่ง SQL ที่เรียกว่า `INSERT INTO` แต่เมื่อปริมาณข้อมูลมากขึ้น การใช้ Prepared Statement จะช่วยให้การปฏิบัติงานมีความปลอดภัยขึ้น เนื่องจากมันจะเก็บแบบแผนของคำสั่ง SQL ไว้แล้วใส่ข้อมูลที่จะนำมาใช้งานทีหลัง
ในตัวอย่างนี้ เราเริ่มต้นด้วยการกำหนดค่าเชื่อมต่อและใช้โมดูล `DBI` จาก Perl เพื่อจัดการฐานข้อมูล MySQL จากนั้นเราตรียมคำสั่ง SQL โดยใช้วิธีการ "?" ที่เป็น placeholders สำหรับข้อมูลที่เราจะใส่เข้าไปจากนั้นก็เรียก `execute` ด้วยข้อมูลที่ต้องการ
ในตัวอย่างที่ 2 นี้ มีการสร้าง array `@products` ที่มีรายการสินค้าแต่ละรายการเป็น array reference และใช้ loop เพื่อ execute คำสั่ง 'INSERT' ในแต่ละรายการข้อมูล
ในตัวอย่างที่ 3 นี้ เราใช้ `eval` เพื่อทดสอบการ execute คำสั่ง SQL หากมีข้อผิดพลาดเกิดขึ้นเช่นหาก 'id' เป็นค่าที่ไม่สามารถเป็น `undef` ก็จะได้รับการแจ้งเตือนและ program ยังสามารถทำงานต่อไปได้โดยไม่สิ้นสุดทันที
การใช้ Prepared Statement ในภาษา Perl กับ MySQL เหมาะสมอย่างยิ่งสำหรับการพัฒนาเว็บแอปพลิเคชันที่ต้องการประมวลผลข้อมูลจำนวนมาก เช่น ระบบจัดการสินค้าในคลังสินค้า, ระบบจัดการลูกค้าในธุรกิจออนไลน์, หรือแม้แต่บริการฟู้ดเดลิเวอรี่ที่ลูกค้าต้องการสั่งอาหารออนไลน์
ที่ EPT (Expert-Programming-Tutor) เราเสนอหลักสูตรที่เรียนรู้โดยตรงกับมืออาชีพและเน้นหัวข้อที่มีความสำคัญกับอุตสาหกรรมจริง ตั้งแต่ MySQL พื้นฐานไปจนถึงการใช้ Perl ในการจัดการฐานข้อมูลขั้นสูง มาร่วมกันเรียนรู้และสานฝันให้เป็นมืออาชีพในด้านการเขียนโปรแกรมกับเราที่ EPT วันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM