MySQL คืออะไร
MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System) โดยใช้ภาษา SQL แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael "Monty" Widenius.
ปัจจุบันบริษัทซันไมโครซิสเต็มส์ (Sun Microsystems, Inc.) เข้าซื้อกิจการของ MySQL AB เรียบร้อยแล้ว ฉะนั้นผลิตภัณฑ์ภายใต้ MySQL AB ทั้งหมดจะตกเป็นของซัน
ประเภทการจัดเก็บข้อมูล (Database Storage Engine) ที่สนับสนุน
- MyISAM ค่าปกติ (default)
- InnoDB สนับสนุนการทำ ทรานแซคชั่น (transaction) แบบ ACID
- Memory การจัดเก็บในหน่วยความจำ ใช้เป็นตารางชั่วคราวเพื่อความรวดเร็ว เนื่องจากเก็บไว้ในหน่วยความจำ ทำให้มีความเร็วในการทำงานสูงมาก
- Merge เป็นการรวม Table หลาย ๆ ตัวให้แสดงผล หรือแก้ไข เสมือนเป็นข้อมูลจาก Table เดียว
- Archive เหมาะสำหรับการจัดเก็บข้อมูลพวก log file,ข้อมูลที่ไม่ต้องมีการ คิวรี่ (query) หรือใช้บ่อยๆ เช่น log file เพื่อประโยชน์ในการตรวจสอบย้อนหลัง (Security Audit Information)
- Federated สำหรับการจัดเก็บแบบปลายทาง (remote server) แทนที่จะเป็นการจัดเก็บแบบ local เหมือนการจัดเก็บ (Storage) แบบอื่นๆ
- NDB สำหรับการจัดเก็บแบบ คลัสเตอร์(cluster)
- CSV เก็บข้อมูลจาก Text ไฟล์โดยอาศัยเครื่องหมาย คอมมา (comma) เป็นตัวแบ่งฟิลด์
- Blackhole
- Example
ชนิดของข้อมูลที่สนับสนุน
ชนิดข้อมูลที่ MySQL สนับสนุนแบ่งเป็นสามประเภทหลักใหญ่ๆ
- ชนิดข้อมูลที่เป็นตัวเลข
- BIT (มีใช้ได้กับ MyISAM, InnoDB, Memory)
- TINYINT
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
- Float
- ชนิดข้อมูลที่เกี่ยวกับวันที่และเวลา
- DATETIME
- DATE
- TIMESTAMP
- TIME
- YEAR
- ชนิดข้อมูลที่เกี่ยวกับตัวอักษร
- CHAR
- VARCHAR
- BINARY
- VARBINARY
- BLOB
- TEXT
- ENUM
- SET
ส่วนเชื่อมต่อกับภาษาการพัฒนาอื่น (database connector)
มีส่วนติดต่อ (interface) เพื่อเชื่อมต่อกับภาษาในการพัฒนา อื่นๆ เพื่อให้เข้าถึงฟังก์ชันการทำงานกับฐานข้อมูล MySQL ได้เช่น ODBC (Open Database Connector) อันเป็นมาตรฐานกลางที่กำหนดมาเพื่อให้ใช้เป็นสะพานในการเชื่อมต่อกับโปรแกรม หรือระบบอื่นๆ เช่น MyODBC อันเป็นไดรเวอร์เพื่อใช้สำหรับการเชื่อมต่อในระบบปฏิบัติการวินโดว์, JDBC คลาสส่วนเชื่อมต่อสำหรับ Java เพื่อใช้ในการติดต่อกับ MySQL และมี API (Application Programming Interface) ต่างๆมีให้เลือกใช้มากมายในการที่เข้าถึง MySQL โดยไม่ขึ้นอยู่กับภาษาการพัฒนาใดภาษาหนึ่ง
นอกเหนือจาก ตัวเชื่อมต่อกับภาษาอื่น (Connector) ที่ได้กล่าวมาแล้ว ยังมี API ที่สนับสนุนในขณะนี้คือ
- DBI สำหรับการเชื่อมต่อกับ ภาษา perl
- Ruby สำหรับการเชื่อมต่อกับ ภาษา ruby
- Python สำหรับการเชื่อมต่อกับภาษา python
- .NET สำหรับการเชื่อมกับภาษา .NET framework
- MySQL++ สำหรับเชื่อมต่อกับภาษา C++
- Ch สำหรับการเชื่อมต่อกับ Ch (C/C++ interpreter)
- PHP สำหรับการเชื่อมต่อกับภาษาPHP
ยังมีโปรแกรมอีกตัว เป็นโปรแกรมบริหารพัฒนาโดยผู้อื่น ซึ่งใช้กันอย่างแพร่หลายและนิยมกันเขียนในภาษาพีเอชพี เป็นโปรแกรมเว็บแอปพลิเคชัน ชื่อ phpMyAdmin
ทั้ง MySQL server และ client libraries ถูกเผยแพร่ในลิขสิทธิ์ 2 แบบ ผู้ใช้สามารถเลือกได้ระหว่างลิขสิทธิ์ GNU General Public License [1] หรือลิขสิทธิ์ proprietary license
ผู้ใช้บางคนพัฒนาซอฟต์แวร์ต่อจากเวอร์ชันแรกๆของ client libraries ที่ใช้ลิขสิทธิ์ Lesser General Public License
Reference: https://th.wikipedia.org/wiki/%E0%B8%A1%E0%B8%B2%E0%B8%A2%E0%B9%80%E0%B8%AD%E0%B8%AA%E0%B8%84%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%AD%E0%B8%A5