This is the MySQL reference manual. This version documents the version of MySQL.
MySQL is a basically free SQL database server. See section Licensing or When do I have/want to pay for MySQL?.
The latest information about MySQL is found at the MySQL Home page
To see what it can do. See section The main features of MySQL.
For installation instructions See section Compiling and installing MySQL. For tips on how to port MySQL to new machines/operating systems See section Comments on porting to other systems..
If you have any suggestions concerning additions or corrections to this manual, please send them to the MySQL mailing list Here]}. See section Subscribing to/un-subscribing from the MySQL mailing list..
See section Upgrading to 3.21 from a 3.20 version, for information about upgrading from a 3.20 release.
For examples of SQL and benchmarking information see the `bench' directory.
For future plans See section List of things we want to add to MySQL in the future..
A history of new features/bug fixes See section MySQL change history.
For the currently known bugs/misfeatures (known errors) See section Known errors and design deficiencies in MySQL.
For A list of all the contributors to this product See section Who has helped to make MySQL..
Send bug (error) reports, questions and comments to the mailing list at
Please use the
mysqlbug script when posting bug reports or
questions about MySQL.
mysqlbug will gather some
information about your system and start your editor with a form in which
you can describe your problem. Bug reports might be silently ignored by
the MySQL maintainers if there is not a good reason included in
the report as to why mysqlbug has not been used. A report that says
'MySQL does not work for me. Why?' is not consider a valid bug report.
The mysqlbug script can be found in the `scripts' directory in the distribution, that is `there-you-installed-mysql/scripts'.
MySQL is a SQL (Structured Query Language) database server.
SQL is the most popular database language in the world. MySQL
is a client server implementation that consists of a server daemon
mysqld and many different client programs/libraries.
The main goals of MySQL are speed and robustness.
The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is actively developed, it already offers a rich and highly useful function set.
The official way to pronounce MySQL is 'My Ess Que Ell' (Not MY-SEQUEL).
This manual is currently available in TeXInfo, Raw text, Info and HTML versions. A PostScript version as available do download separately because of its size.
The primary document is the TeXInfo file. The HTML version is
automatically produced with a modified
texi2html. The ASCII and
info version are produced with
makeinfo. The Postscript version
is produced using
This manual was written and is maintained by David Axmark, Michael (Monty) Widenius and Kim Aldale. For other contributors See section Contributed programs.
We once started off with the intention to use
mSQL to connect to
our own fast low level (ISAM) tables. However, after some testing we
came to the conclusion that
mSQL was not fast or flexible enough
for our needs. This resulted in a new SQL interface to our database but
with almost the same API interface as
mSQL. This API was chosen
to ease porting of third-party code.
It is not perfectly clear where the name MySQL derives from. Our base directory and a large amount of our libraries and tools have had the prefix 'my' for well over 10 years. However, Monty's daughter (some years younger) is also named My. So which of the two gave its name to MySQL is still a mystery, even for us.
ENUMtypes. See section Column types.
select column1 + column2 from table where column1/column2 > 0
ORDER BY. Support for group functions (
LEFT OUTER JOINwith ANSI SQL and ODBC syntax.
UPDATEreturns how many rows were affected.
show index from tableand
show columns from table
There is one SQL tutor on the net.
This book has been recommended by a lot of people on the MySQL mailing list.
Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky "The Practical SQL Handbook: Using Structured Query Language" Second Edition Addison Wesley ISBN 0-201-62623-3 http://www.awl.com/
And another book also recommended by people on the MySQL mailing list.
Understanding SQL ISBN 0-89588-644-8 Publisher Sybex 510 523 8233 Alameda CA USA
There are also many web pages that use MySQL. See section Some users of MySQL.. Send any additions to this list to
A stored procedure is some code that is stored and run in the server. After this, the client doesn't have to issue the whole query but can refer to the stored procedure. This gives more speed because the query only has to be parsed once and less data has to be sent between the server and the client. You can also raise the conceptual level by having libraries of functions in the server.
A trigger is a stored procedure that is invoked when something happens. For example, one can install a stored procedure that checks every delete to a transaction table and does an automatic delete on the corresponding customer when all their transactions are deleted.
To see when MySQL might get these functions See section List of things we want to add to MySQL in the future..
Go to the first, previous, next, last section, table of contents.