Copyright © 2008, 2010, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark of Oracle Corporation and/or its affiliates, and shall not be used without Oracle's express written authorization. Other names may be trademarks of their respective owners.
This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this material is subject to the terms and conditions of your Oracle Software License and Service Agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle or as specifically provided below. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.
This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms:
You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights to this documentation not expressly granted above.
For more information on the terms of this license, for details on how the MySQL documentation is built and produced, or if you are interested in doing a translation, please visit http://www.mysql.com/company/contact/.
For additional licensing information, including licenses for libraries used by MySQL, see Preface, Notes, Licenses.
If you want help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you can discuss your issues with other MySQL users.
For additional documentation on MySQL products, including translations of the documentation into other languages, and downloadable versions in variety of formats, including HTML and PDF formats, see the MySQL Documentation Library.
Abstract
This is the MySQL™ Reference Manual. It documents MySQL 5.0 through 5.0.91.
This manual is for MySQL Enterprise Server, our commercial offering, and for MySQL Community Server. Sections that do not apply for MySQL Enterprise Server users are marked:
This section does not apply to MySQL Enterprise Server users.
Sections that do not apply to MySQL Community Server users are marked:
This section does not apply to MySQL Community Server users.
MySQL 5.0 Features — This manual describes features that are not included in every edition of MySQL 5.0 and such features may not be included in the edition of MySQL 5.0 licensed to you. If you have any questions about the features included in your edition of MySQL 5.0, refer to your MySQL 5.0 license agreement or contact your Sun Microsystems sales representative."
Document generated on: 2010-04-12 (revision: 19978)
End of Product Lifecycle. Active development and support for MySQL Database Server version 5.0 has ended. However, there is still extended support available. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. According to the MySQL Lifecycle Policy (see http://www.mysql.com/about/legal/lifecycle/#policy), only Security and Severity Level 1 issues will still be fixed for MySQL 5.0. Please consider upgrading to a recent version.
Table of Contents [+/-]
GnuPG
[+/-]tar.gz
Packages on Other
Unix-Like SystemsAUTO_INCREMENT
SELECT
and Other Statements [+/-]EXPLAIN
SELECT
QueriesWHERE
Clause OptimizationIS NULL
OptimizationLEFT JOIN
and RIGHT JOIN
OptimizationORDER BY
OptimizationGROUP BY
OptimizationDISTINCT
OptimizationIN
/=ANY
SubqueriesLIMIT
OptimizationINSERT
StatementsUPDATE
StatementsDELETE
StatementsMyISAM
Key CacheInnoDB
Buffer PoolMyISAM
Index Statistics CollectionGROUP BY
Clauses [+/-]ALTER DATABASE
SyntaxALTER FUNCTION
SyntaxALTER PROCEDURE
SyntaxALTER TABLE
SyntaxALTER VIEW
SyntaxCREATE DATABASE
SyntaxCREATE FUNCTION
SyntaxCREATE INDEX
SyntaxCREATE PROCEDURE
and
CREATE FUNCTION
SyntaxCREATE TABLE
SyntaxCREATE TRIGGER
SyntaxCREATE VIEW
SyntaxDROP DATABASE
SyntaxDROP FUNCTION
SyntaxDROP INDEX
SyntaxDROP PROCEDURE
and
DROP FUNCTION
SyntaxDROP TABLE
SyntaxDROP TRIGGER
SyntaxDROP VIEW
SyntaxRENAME TABLE
SyntaxSTART TRANSACTION
,
COMMIT
, and
ROLLBACK
SyntaxSAVEPOINT
and
ROLLBACK TO
SAVEPOINT
SyntaxLOCK TABLES
and
UNLOCK
TABLES
SyntaxSET TRANSACTION
SyntaxMyISAM
Storage Engine [+/-]InnoDB
Storage Engine [+/-]InnoDB
Contact InformationInnoDB
ConfigurationInnoDB
Startup Options and System VariablesInnoDB
TablesInnoDB
Data and Log
FilesInnoDB
DatabaseInnoDB
Database to Another MachineInnoDB
Transaction Model and LockingInnoDB
Multi-VersioningInnoDB
Table and Index StructuresInnoDB
Disk I/O and File Space ManagementInnoDB
Error HandlingInnoDB
Performance Tuning and TroubleshootingInnoDB
TablesMERGE
Storage Engine [+/-]MEMORY
(HEAP
) Storage EngineBDB
(BerkeleyDB
) Storage
Engine [+/-]EXAMPLE
Storage EngineFEDERATED
Storage Engine [+/-]ARCHIVE
Storage EngineCSV
Storage EngineBLACKHOLE
Storage EngineINFORMATION_SCHEMA
Tables [+/-]INFORMATION_SCHEMA SCHEMATA
TableINFORMATION_SCHEMA TABLES
TableINFORMATION_SCHEMA COLUMNS
TableINFORMATION_SCHEMA STATISTICS
TableINFORMATION_SCHEMA USER_PRIVILEGES
TableINFORMATION_SCHEMA SCHEMA_PRIVILEGES
TableINFORMATION_SCHEMA TABLE_PRIVILEGES
TableINFORMATION_SCHEMA COLUMN_PRIVILEGES
TableINFORMATION_SCHEMA CHARACTER_SETS
TableINFORMATION_SCHEMA COLLATIONS
TableINFORMATION_SCHEMA
COLLATION_CHARACTER_SET_APPLICABILITY
TableINFORMATION_SCHEMA TABLE_CONSTRAINTS
TableINFORMATION_SCHEMA KEY_COLUMN_USAGE
TableINFORMATION_SCHEMA ROUTINES
TableINFORMATION_SCHEMA VIEWS
TableINFORMATION_SCHEMA TRIGGERS
TableINFORMATION_SCHEMA PROFILING
TableINFORMATION_SCHEMA
TablesSHOW
StatementsCALL
StatementsINFORMATION_SCHEMA
INFORMATION_SCHEMA
IndexJOIN
Types IndexList of Figures [+/-]
List of Tables [+/-]
configure
)
options
mysqld_safe
Options
mysql
Options
mysqladmin
Options
mysqlcheck
Options
mysqldump
Options
mysqlimport
Options
mysqlshow
Options
myisamchk
Options
mysqlaccess
Options
mysqlbinlog
Options
mysqldumpslow
Options
mysqlhotcopy
Options
mysql_tableinfo
Options
GROUP BY
)
Functions
ndb_size.pl
Command Line
Options
List of Examples [+/-]
DriverManager
SELECT
query
Connection.prepareCall()
CallableStatement
input
parameters
AUTO_INCREMENT
column values
using Statement.getGeneratedKeys()
AUTO_INCREMENT
column values
using SELECT LAST_INSERT_ID()
AUTO_INCREMENT
column values
in Updatable ResultSets
mysql_affected_rows
example
mysql_affected_rows
example using transactions
mysql_client_encoding
example
mysql_close
example
mysql_connect
example
mysql_connect
example using hostname:port
syntax
mysql_connect
example using ":/path/to/socket" syntax
mysql_create_db
alternative example
mysql_data_seek
example
mysql_db_name
example
mysql_db_query
alternative example
mysql_drop_db
alternative example
mysql_errno
example
mysql_error
example
mysql_escape_string
example
mysql_fetch_array
with
MYSQL_NUM
mysql_fetch_array
with
MYSQL_ASSOC
mysql_fetch_array
with
MYSQL_BOTH
mysql_fetch_assoc
example
mysql_fetch_field
example
mysql_fetch_lengths
example
mysql_fetch_object
example
mysql_fetch_object
example
mysql_fetch_row
mysql_field_flags
example
mysql_field_len
example
mysql_field_name
example
mysql_field_table
example
mysql_field_type
example
mysql_free_result
example
mysql_get_client_info
example
mysql_get_host_info
example
mysql_get_proto_info
example
mysql_get_server_info
example
mysql_insert_id
example
mysql_list_dbs
example
mysql_list_fields
mysql_list_processes
example
mysql_list_tables
alternative example
mysql_num_fields
example
mysql_num_rows
example
mysql_ping
example
mysql_real_escape_string
example
mysql_result
example
mysql_select_db
example
mysql_stat
example
mysql_stat
example
mysql_tablename
example
mysql_thread_id
example
mysqli_get_connection_stats
example
mysqli_poll
example
mysqli_get_cache_stats
example
mysqli_get_client_stats
example