Copyright © 1997, 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 documentation is in prerelease status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.
The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your beta trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.
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 MySQL Contact & Questions.
For additional licensing information, including licenses for libraries used by MySQL products, see Preface and Notes.
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.5 through 5.5.9.
MySQL Cluster is currently not supported in MySQL 5.5. For information about MySQL Cluster, please see MySQL Cluster NDB 6.X/7.X.
MySQL 5.5 features. This manual describes features that are not included in every edition of MySQL 5.5; such features may not be included in the edition of MySQL 5.5 licensed to you. If you have any questions about the features included in your edition of MySQL 5.5, refer to your MySQL 5.5 license agreement or contact your Oracle sales representative.
Document generated on: 2010-12-15 (revision: 24467)
Table of Contents
AUTO_INCREMENT
InnoDB
TablesInnoDB
TablesInnoDB
Transaction ManagementInnoDB
LoggingInnoDB
TablesInnoDB
QueriesInnoDB
DDL OperationsInnoDB
Disk I/OInnoDB
Configuration VariablesInnoDB
for Systems with Many TablesMyISAM
TablesMEMORY
TablesIS NULL
OptimizationLEFT JOIN
and RIGHT JOIN
OptimizationORDER BY
OptimizationGROUP BY
OptimizationDISTINCT
OptimizationIN
/=ANY
SubqueriesGROUP BY
ClausesALTER DATABASE
SyntaxALTER EVENT
SyntaxALTER FUNCTION
SyntaxALTER PROCEDURE
SyntaxALTER SERVER
SyntaxALTER TABLE
SyntaxALTER VIEW
SyntaxCREATE DATABASE
SyntaxCREATE EVENT
SyntaxCREATE FUNCTION
StatementCREATE INDEX
SyntaxCREATE PROCEDURE
and
CREATE FUNCTION
SyntaxCREATE SERVER
SyntaxCREATE TABLE
SyntaxCREATE TRIGGER
SyntaxCREATE VIEW
SyntaxDROP DATABASE
SyntaxDROP EVENT
SyntaxDROP FUNCTION
SyntaxDROP INDEX
SyntaxDROP PROCEDURE
and
DROP FUNCTION
SyntaxDROP SERVER
SyntaxDROP TABLE
SyntaxDROP TRIGGER
SyntaxDROP VIEW
SyntaxRENAME TABLE
SyntaxTRUNCATE TABLE
SyntaxMyISAM
Storage EngineInnoDB
Storage EngineInnoDB
InnoDB
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
TablesINFORMATION_SCHEMA
tablesMERGE
Storage EngineMEMORY
Storage EngineEXAMPLE
Storage EngineFEDERATED
Storage EngineARCHIVE
Storage EngineCSV
Storage EngineBLACKHOLE
Storage EngineINFORMATION_SCHEMA
TablesINFORMATION_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 PLUGINS
TableINFORMATION_SCHEMA ENGINES
TableINFORMATION_SCHEMA PARTITIONS
TableINFORMATION_SCHEMA EVENTS
TableINFORMATION_SCHEMA FILES
TableINFORMATION_SCHEMA TABLESPACES
TableINFORMATION_SCHEMA PROCESSLIST
TableINFORMATION_SCHEMA REFERENTIAL_CONSTRAINTS
TableINFORMATION_SCHEMA GLOBAL_STATUS
and
SESSION_STATUS
TablesINFORMATION_SCHEMA GLOBAL_VARIABLES
and
SESSION_VARIABLES
TablesINFORMATION_SCHEMA PARAMETERS
TableINFORMATION_SCHEMA PROFILING
TableINFORMATION_SCHEMA
Tables for
InnoDB
INFORMATION_SCHEMA
TablesSHOW
StatementsCALL
Statementslibcurl
) Licensedtoa.c
Licenselibedit
) LicenseFindGTest.cmake
Licensegetarg
Licenselib_sql.cc
Licenselibevent
LicenseLPeg
Library LicenseLuaFileSystem
Library Licensezlib
LicenseINFORMATION_SCHEMA
INFORMATION_SCHEMA
IndexJOIN
Types IndexList of Figures
FEDERATED
Table StructurePreferences
Dialog BoxMySQL Model
pagesakila
EER DiagramList of Tables
mysqld_safe
Optionsmysql
Optionsmysqladmin
Optionsmysqlcheck
Optionsmysqldump
Optionsmysqlimport
Optionsmysqlshow
Optionsmysqlslap
Optionsmyisamchk
Optionsmysqlaccess
Optionsmysqlbinlog
Optionsmysqldumpslow
Optionsmysqlhotcopy
OptionsGRANT
and
REVOKE
user
and db
Table Columnstables_priv
and columns_priv
Table
Columnsprocs_priv
Table ColumnsGROUP BY
)
FunctionsGRANT
and
REVOKE
MyISAM
Storage Engine
FeaturesMyISAM
Option/Variable
ReferenceInnoDB
Storage Engine
FeaturesInnoDB
Option/Variable
ReferenceCREATE TABLE
and
ALTER TABLE
optionsCREATE/ALTER TABLE
Warnings and Errors when InnoDB
Strict Mode is OFFinnodb_thread_concurrency
MEMORY
Storage Engine
FeaturesARCHIVE
Storage Engine
FeaturesINNODB_CMP
and
INNODB_CMP_RESET
INNODB_TRX
ColumnsINNODB_LOCKS
ColumnsINNODB_LOCK_WAITS
ColumnsList of Examples
DriverManager
SELECT
queryConnection.prepareCall()
CallableStatement
input
parametersAUTO_INCREMENT
column values
using Statement.getGeneratedKeys()
AUTO_INCREMENT
column values
using SELECT LAST_INSERT_ID()
AUTO_INCREMENT
column values
in Updatable ResultSets
insertdata.jsp
response.jsp
mysql_affected_rows
examplemysql_affected_rows
example using transactionsmysql_client_encoding
examplemysql_close
examplemysql_connect
examplemysql_connect
example using hostname:port
syntaxmysql_connect
example using ":/path/to/socket" syntaxmysql_create_db
alternative examplemysql_data_seek
examplemysql_db_name
examplemysql_db_query
alternative examplemysql_drop_db
alternative examplemysql_errno
examplemysql_error
examplemysql_escape_string
examplemysql_fetch_array
with
MYSQL_NUM
mysql_fetch_array
with
MYSQL_ASSOC
mysql_fetch_array
with
MYSQL_BOTH
mysql_fetch_assoc
examplemysql_fetch_field
examplemysql_fetch_lengths
examplemysql_fetch_object
examplemysql_fetch_object
examplemysql_fetch_row
mysql_field_flags
examplemysql_field_len
examplemysql_field_name
examplemysql_field_table
examplemysql_field_type
examplemysql_free_result
examplemysql_get_client_info
examplemysql_get_host_info
examplemysql_get_proto_info
examplemysql_get_server_info
examplemysql_insert_id
examplemysql_list_dbs
examplemysql_list_fields
mysql_list_processes
examplemysql_list_tables
alternative examplemysql_num_fields
examplemysql_num_rows
examplemysql_ping
examplemysql_real_escape_string
examplemysql_result
examplemysql_select_db
examplemysql_stat
examplemysql_stat
examplemysql_tablename
examplemysql_thread_id
examplemysqli->affected_rows
examplemysqli::autocommit
examplemysqli::change_user
examplemysqli::character_set_name
examplemysqli::commit
examplemysqli->connect_errno
examplemysqli->connect_error
examplemysqli::__construct
examplemysqli->errno
examplemysqli->error
examplemysqli->field_count
examplemysqli::get_charset
examplemysqli_get_client_stats
examplemysqli_get_connection_stats
examplemysqli->host_info
examplemysqli->protocol_version
examplemysqli->server_info
examplemysqli->server_version
examplemysqli->info
examplemysqli->insert_id
examplemysqli::kill
examplemysqli::multi_query
examplemysqli::ping
examplemysqli_poll
examplemysqli::prepare
examplemysqli::query
examplemysqli::real_connect
examplemysqli::real_escape_string
examplemysqli::rollback
examplemysqli::select_db
examplemysqli::set_charset
examplemysqli::set_local_infile_handler
examplemysqli->sqlstate
examplemysqli::stat
examplemysqli->thread_id
examplemysqli::use_result
examplemysqli->warning_count
examplemysqli_get_cache_stats
example