Monday, September 10, 2007


บทความนี้มีชื่อเป็นภาษาอังกฤษ เนื่องจากว่ายังไม่มีชื่อภาษาไทยที่กระชับ เหมาะสม หรือไม่รู้วิธีอ่านในภาษาไทย
MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลโดยใช้ภาษา SQL. แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael "Monty" Widenius.

รุ่นของผลิตภัณฑ์
ในเวอร์ชัน 5.0 มีความสามารถหลายอย่างที่สำคัญสำหรับระบบฐานข้อมูลขนาดใหญ่หรือระดับองค์กร ( EnterPrise Feature ) เช่น Store Procedure , database trigger,database view, database schema ซึ่งได้มีการปรับเพิ่มประสิทธิภาพในส่วนของตารางและการทำ Index ขึ้นมาอีก ปัจจุบันเวอร์ชัน community อยู่ที่เวอร์ชันเสถียร ( stable ) 5.0 และเวอร์ชันทดสอบคือ 5.1 beta release และ 5.2 Alpha
ตั้แต่เวอร์ชัน 5.1 เริ่มสนับสนุนการทำ Parttion Database , ตารางเวลาสำหรับเหตุการณ์ต่างๆ (Event schedule)

ความสามารถที่เพิ่มขึ้น
รอแก้ไขและเพิ่มเติมเนื้อหา

MyISAM ค่าปกติ ( default )
InnoDB สนับสนุนการทำ ทรานแซคชั่น ( transaction ) แบบ ACID
Memory การจัดเก็บในหน่วยความจำ ใช้เป็นตารางชั่วคราวเพื่อความรวดเร็ว เนื่องจากเก็บไว้ในหน่วยความจำ ( memory ) ทำให้มีความเร็วในการทำงานสูงมาก
Merge
Archive เหมาะสำหรับการจัดเก็บข้อมูลพวก log file,ข้อมูลที่ไม่ต้องมีการ คิวรี่(query)หรือใช้บ่อยๆ เช่น log file เพื่อประโยชน์ในการตรวจสอบย้อนหลัง ( Security Audit Information )
Federated สำหรับการจัดเก็บแบบปลายทาง ( remote server ) แทนที่จะเป็นการจัดเก็บแบบ local เหมือนการจัดเก็บ ( Storage ) แบบอื่นๆ
NDB สำหรับการจัดเก็บแบบ คลัสเตอร์(cluster)
CSV เก็บข้อมูลจาก Text ไฟล์โดยอาศัยเครื่องหมาย คอมมา(comma) เป็นตัวแบ่งฟิลด์
Blackhole
Example ประเภทการจัดเก็บข้อมูล ( Database Storage Engine ) ที่สนับสนุน
รอแก้ไขและเพิ่มเติมเนื้อหา
ชนิดข้อมูลที่ MySQL สนับสนุนแบ่งเป็นสามประเภทหลักใหญ๋ๆ หากต้องการเพิ่มเติมสามารถไปอ่านเพิ่มเติมในคู่มือการใช้งาน หัวข้อเกี่ยวกับเรือง MySQL Data Types ได้

ชนิดข้อมูลที่เป็นตัวเลข ( Numeric data type )

  • BIT มีใชได้กับ Storge Engine MyISAM,InnoDB,Memory
    TINYINT
    SMALLINT
    MEDIUMINT
    INT
    BIGINT
    ชนิดข้อมูลที่เกี่ยวกับวันที่และเวลา ( Date/Time data type )

    • DATETIME
      DATE
      TIMESTAMP
      TIME
      YEAR
      ชนิดข้อมูลที่เกี่ยวกับ ตัวอักษร ( String data type )

      • CHAR
        VARCHAR
        BINARY
        VARBINARY
        BLOB
        TEXT
        ENUM
        SET ชนิดของข้อมูลที่สนับสนุน ( Data type )
        MySQL เป็นที่นิยมใช้กันมากสำหรับฐานข้อมูลสำหรับเว็บไซต์ เช่น มีเดียวิกิ และ phpBB และนิยมใช้งานร่วมกับภาษาโปรแกรม PHP ซึ่งมักจะได้ชื่อว่าเป็นคู่ จะเห็นได้จากคู่มือคอมพิวเตอร์ต่างๆ ที่จะสอนการใช้งาน MySQL และ PHP ควบคู่กันไป นอกจากนี้ หลายภาษาโปรแกรมที่สามารถทำงานร่วมกับฐานข้อมูล MySQL ซึ่งรวมถึง ภาษาซี ซีพลัสพลัส ปาสคาล ซีชาร์ป ภาษาจาวา ภาษาเพิร์ล พีเอชพี ไพทอน รูบี และภาษาอื่น ใช้งานผ่าน API สำหรับโปรแกรมที่ติดต่อผ่าน ODBC หรือ ส่วนเชื่อมต่อกับภาษาอื่น (database connector) เช่น เอเอสพี สามารถเรียกใช้ MySQL ผ่านทาง MyODBC,ADO,ADO.NET เป็นต้น

        MySQL การใช้งาน
        ในการจัดการฐานข้อมูล MySQL คุณสามารถใช้โปรแกรมแบบ command-line เพื่อจัดการฐานข้อมูล (โดยใช้คำสั่ง: mysql และ mysqladmin เป็นต้น ). หรือจะดาวน์โหลดโปรแกรมจัดการฐานข้อมูลแบบ GUI จากเว็บไซต์ของ MySQL ซึ่งคือโปรแกรม: MySQL Administrator และ MySQL Query Browser. เป็นต้น

        โปรแกรมช่วยในการจัดการฐานข้อมูล และ ทำงานกับฐานข้อมูล
        มีส่วนติดต่อ ( interface ) เพื่อเชื่อมต่อกับภาษาในการพัฒนา อื่นๆ เพื่อให้เข้าถึงฟังก์ชันการทำงานกับฐานข้อมูล MySQL ได้เช่น ODBC (Open Database Connector) อันเป็นมาตรฐานกลางที่กำหนดมาเพื่อให้ใช้เป็นสะพานในการเชื่อมต่อกับโปรแกรมหรือระบบอื่นๆ เช่น MyODBC อันเป็นไดรเวอร์เพื่อใช้สำหรับการเชื่อมต่อในระบบปฏิบัติการวินโดว์, JDBC คลาสส่วนเชื่อมต่อสำหรับ Java เพื่อใช้ในการติดต่อกับ MySQL และมี API ( Application Programming Interface ) ต่างๆมีให้เลือกใช้มากมายในการที่เข้าถึง MySQL โดยไม่ขึ้นอยู่กับภาษาการพัฒนาใดภาษาหนึ่ง
        นอกเหนือจาก ตัวเชื่อมต่อกับภาษาอื่น ( Connector ) ที่ได้กล่าวมาแล้ว ยังมี API ที่สนับสนุนในขณะนี้คือ
        ยังมีโปรแกรมอีกตัว เป็นโปรแกรมบริหารพัฒนาโดยผู้อื่น ซึ่งใช้กันอย่างแพร่หลายและนิยมกันเขียนในภาษาพีเอชพี เป็นโปรแกรมเว็บแอปพลิเคชัน ชื่อ phpMyAdmin

        DBI สำหรับการเชื่อมต่อกับ ภาษา perl
        Ruby สำหรับการเชื่อมต่อกับ ภาษา ruby
        Python สำหรับการเชื่อมต่อกับภาษา python
        .NET สำหรับการเชื่อมกับภาษา .NET framework
        MySQL++ สำหรับเชื่อมต่อกับภาษา C++
        Ch สำหรับการเชื่อมต่อกับ Ch ( C/C++ interpreter ) MySQL การออกเสียง

        ^  การออกเสียงคำว่า MySQL จาก mysql.com