The following features are implemented in MySQL 5.0.
- BIT Data Type: Can be used to store numbers in binary notation.
- Cursors: Elementary support for server-side cursors.
- Data Dictionary (Information Schema): The introduction of the INFORMATION_SCHEMA database in MySQL 5.0 provided a standards-compliant means for accessing the MySQL Server’s metadata; that is, data about the databases (schemas) on the server and the objects which they contain.
- Instance Manager: Can be used to start and stop the MySQL Server, even from a remote host.
- Precision Math: MySQL 5.0 introduced stricter criteria for acceptance or rejection of data, and implemented a new library for fixed-point arithmetic. These contributed to a much higher degree of accuracy for mathematical operations and greater control over invalid values.
- Storage Engines: Storage engines added in MySQL 5.0 include ARCHIVE and FEDERATED.
- Stored Routines: Support for named stored procedures and stored functions was implemented in MySQL 5.0.
- Strict Mode and Standard Error Handling: MySQL 5.0 added a strict mode where by it follows standard SQL in a number of ways in which it did not previously. Support for standard SQLSTATE error messages was also implemented.
- Triggers: MySQL 5.0 added limited support for triggers.
- VARCHAR Data Type: The maximum effective length of a VARCHAR column was increased to 65,535 bytes, and stripping of trailing whitespace was eliminated. (The actual maximum length of a VARCHAR is determined by the maximum row size and the character set you use. The maximum effective column length is subject to a row size of 65,532 bytes.)
- Views: MySQL 5.0 added support for named, updatable views.
The most requested features and the versions in which they were implemented or are scheduled for implementation are summarized in the following table:
|Foreign keys||3.23 (for the InnoDB storage engine)|
|R-trees||4.1 (for the MyISAM storage engine)|
|Foreign keys||5.2 (implemented in 3.23 for InnoDB)|
|Triggers||5.0 and 5.1|