Last modified Size NameAbout This Manual
02-Jan-2007 20:44 DIR mysql_reference_manual_51/
This is the Reference Manual for the MySQL Database System,
version 5.1, through release 5.1.5-alpha. It is
not intended for use with older versions of the MySQL software due
to the many functional and other differences between MySQL
5.1 and previous versions.
If you are using an earlier release of the MySQL software, please
refer to the MySQL 5.0 Reference Manual, which
covers the 5.0 series of MySQL software releases, or
to MySQL 4.1 Reference Manual, which covers the
3.23, 4.0, and 4.1 series of MySQL software releases. Differences
between minor versions of MySQL 5.1 are noted in the
present text with reference to release numbers
(5.1.x
).
Because this manual serves as a reference, it does not provide general instruction on SQL or relational database concepts. It also does not teach you how to use your operating system or command-line interpreter.
The MySQL Database Software is under constant development, and the Reference Manual is updated frequently as well. The most recent version of the manual is available online in searchable form at http://dev.mysql.com/doc/. Other formats also are available there, including HTML, PDF, and Windows CHM versions.
The Reference Manual source files are written in DocBook XML format. The HTML version and other formats are produced automatically, primarily using the DocBook XSL stylesheets. For information about DocBook, see http://docbook.org/
If you have any suggestions concerning additions or corrections to
this manual, please send them to the documentation team at
<docs@mysql.com>
.
This manual was originally written by David Axmark and Michael ?Monty? Widenius. It is maintained by the MySQL Documentation Team, consisting of Paul DuBois, Stefan Hinz, Mike Hillyer, and Jon Stephens. For the many other contributors, see Appendix C, Credits.
The copyright to this manual is owned by the Swedish company MySQL AB. MySQL? and the MySQL logo are registered trademarks of MySQL AB. Other trademarks and registered trademarks referred to in this manual are the property of their respective owners, and are used for identification purposes only.
This manual uses certain typographical conventions:
Text in this style
is used for SQL
statements; database, table, and column names; program listings
and source code; and environment variables. Example: ?To
reload the grant tables, use the FLUSH
PRIVILEGES
statement.?
Text in this style
indicates input that
you type in examples.
Text in this style indicates the names of executable programs and scripts, examples being mysql (the MySQL command line client program) and mysqld (the MySQL server executable).
Text in this style
is used for
variable input for which you should substitute a value of your
own choosing.
Filenames and directory names are written like this: ?The
global my.cnf
file is located in the
/etc
directory.?
Character sequences are written like this: ?To specify a
wildcard, use the ?%
?
character.?
Text in this style is used for emphasis.
Text in this style is used in table headings and to convey especially strong emphasis.
When commands are shown that are meant to be executed from within a
particular program, the prompt shown preceding the command indicates
which command to use. For example, shell>
indicates a command that you execute from your login shell, and
mysql>
indicates a statement that you execute
from the mysql client program:
shell>type a shell command here
mysql>type a mysql statement here
The ?shell? is your command interpreter. On Unix, this is typically a program such as sh, csh, or bash. On Windows, the equivalent program is command.com or cmd.exe, typically run in a console window.
When you enter a command or statement shown in an example, do not type the prompt shown in the example.
Database, table, and column names must often be substituted into
statements. To indicate that such substitution is necessary, this
manual uses db_name
,
tbl_name
, and
col_name
. For example, you might see a
statement like this:
mysql> SELECT col_name
FROM db_name
.tbl_name
;
This means that if you were to enter a similar statement, you would supply your own database, table, and column names, perhaps like this:
mysql> SELECT author_name FROM biblio_db.author_list;
SQL keywords are not case sensitive and may be written in any lettercase. This manual uses uppercase.
In syntax descriptions, square brackets
(?[
? and
?]
?) indicate optional words or
clauses. For example, in the following statement, IF
EXISTS
is optional:
DROP TABLE [IF EXISTS] tbl_name
When a syntax element consists of a number of alternatives, the
alternatives are separated by vertical bars
(?|
?). When one member from a set of
choices may be chosen, the alternatives are
listed within square brackets (?[
?
and ?]
?):
TRIM([[BOTH | LEADING | TRAILING] [remstr
] FROM]str
)
When one member from a set of choices must be
chosen, the alternatives are listed within braces
(?{
? and
?}
?):
{DESCRIBE | DESC}tbl_name
[col_name
|wild
]
An ellipsis (?
) indicates the omission of
a section of a statement, typically to provide a shorter version of
more complex syntax. For example, INSERT ?
SELECT
is shorthand for the form of
INSERT
statement that is followed by a
SELECT
statement.
An ellipsis can also indicate that the preceding syntax element of a
statement may be repeated. In the following example, multiple
reset_option
values may be given, with
each of those after the first preceded by commas:
RESETreset_option
[,reset_option
] ...
Commands for setting shell variables are shown using Bourne shell
syntax. For example, the sequence to set the CC
environment variable and run the configure
command looks like this in Bourne shell syntax:
shell> CC=gcc ./configure
If you are using csh or tcsh, you must issue commands somewhat differently:
shell>setenv CC gcc
shell>./configure