This page was last modified on 25 June 2016, at 19:24.
MySQL AB (before 2008), Sun Microsystems (2008-2010),Oracle (since 2010)
|Initial release||May 23, 1995|
|Written in||C and C++|
MySQL — free relational database control system.
MySQL is a client-server system for controlling multithread SQL-server, that provides support of various computational database machines, various client-side applications and libraries, tools for administrations and wide range of API.
Characteristics and portability
- Written on C and C++. Tested on various compilers.
- API for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby and Tcl.
- Multithreading takes advantages of core threds, i.e. MySQL able to work with multiple processors.
- Very fast tables based on B-trees with index compression.
- Very fast memory allocation based on thread system.
- Very fast connection based on one-sweep multi-join
- Lightning fast SQL-methods.
- MySQL-code tested with Purify and Valgrind
- Large amount: integer signed and unsigned, 1/2/3/4/8 byte-length,
- Constant and variable length
- All columns have default values. INSERT provide ability to insert subset of columns.
Commands and functions
- Full support of methods and functions in
WHERE-parts of request. For example:
mysql> SELECT CONCAT(first_name, " ", last_name) -> FROM tbl_name -> WHERE income/dependents > 10000 AND age > 30;
- Full support of SQL GROUP BY and ORDER BY with SQL-expressions.
- LEFT OUTER JOIN and RIGHT OUTER JOIN support with ANSI SQL and ODBC syntax.
- Aliases with respect to SQL92
- DELETE, INSERT, REPLACE, and UPDATE returns number of strings, that were changed. You can set it to return number of matched strings.
- Function names and table names are not conflicting
- In one request you can call different databases (since ver. 3.22).
- System based on privileges and passwords. This provides flexibility and security with ability of remote verification. Passwords are encrypted.
Scalability and constraints
- Handle gigantic databases. (50 millions rows)
- Each table allowed to have 32 indexes. Each index contains from 1 to 16 columns. Maximum width of index: 500 bits.
VARCHARprefixes are allowed.
- TCP/IP, unix sockets, named channels.
- Open-DataBase-Connectivity support.
Cite error: Invalid
parameter "group" is allowed only.
<references />, or
<references group="..." />