MySQL (มายเอสคิวแอล) สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael “Monty” Widenius. เป็นระบบจัดจัดการฐานข้อมูลเชิงสัมพันธ์ หรือที่เรียกว่า (Relational Database Management System) โดยใช้ภาษา SQL แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่จะมีความแตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
ประเภทการจัดเก็บข้อมูล (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