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 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 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.4 through 5.4.3.
MySQL 5.4 is based on MySQL 5.1 but includes small, high-impact changes to enhance scalability and performance in MySQL Server. For information about these changes, see Section 1.5, “What Is New in MySQL 5.4”.
MySQL Cluster is currently not supported in MySQL 5.4. For information about MySQL Cluster, please see MySQL Cluster NDB 6.X/7.X.
MySQL 5.4 features. This manual describes features that are not included in every edition of MySQL 5.4; such features may not be included in the edition of MySQL 5.4 licensed to you. If you have any questions about the features included in your edition of MySQL 5.4, refer to your MySQL 5.4 license agreement or contact your Oracle sales representative.
Document generated on: 2010-04-13 (revision: 19987)
Table of Contents [+/-]
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
Optimizationoptimizer_switch
to Control the
OptimizerINFORMATION_SCHEMA
OptimizationINSERT
StatementsUPDATE
StatementsDELETE
StatementsMyISAM
Key CacheInnoDB
Buffer PoolMyISAM
Index Statistics CollectionGROUP BY
Clauses [+/-]ALTER DATABASE
SyntaxALTER EVENT
SyntaxALTER FUNCTION
SyntaxALTER PROCEDURE
SyntaxALTER SERVER
SyntaxALTER TABLE
SyntaxALTER VIEW
SyntaxCREATE DATABASE
SyntaxCREATE EVENT
SyntaxCREATE FUNCTION
SyntaxCREATE 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
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
TablesIBMDB2I
Storage Engine [+/-]MERGE
Storage Engine [+/-]MEMORY
(HEAP
) Storage EngineEXAMPLE
Storage EngineFEDERATED
Storage Engine [+/-]ARCHIVE
Storage EngineCSV
Storage Engine [+/-]BLACKHOLE
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 PLUGINS
TableINFORMATION_SCHEMA ENGINES
TableINFORMATION_SCHEMA PARTITIONS
TableINFORMATION_SCHEMA EVENTS
TableINFORMATION_SCHEMA FILES
TableINFORMATION_SCHEMA PROCESSLIST
TableINFORMATION_SCHEMA REFERENTIAL_CONSTRAINTS
TableINFORMATION_SCHEMA GLOBAL_STATUS
and
SESSION_STATUS
TablesINFORMATION_SCHEMA GLOBAL_VARIABLES
and
SESSION_VARIABLES
TablesINFORMATION_SCHEMA PROFILING
TableINFORMATION_SCHEMA
TablesSHOW
StatementsCALL
StatementsINFORMATION_SCHEMA
INFORMATION_SCHEMA
IndexJOIN
Types IndexList of Figures [+/-]
FEDERATED
Table Structure
List of Tables [+/-]
configure
)
options
mysqld_safe
Options
mysql
Options
mysqladmin
Options
mysqlcheck
Options
mysqldump
Options
mysqlimport
Options
mysqlshow
Options
mysqlslap
Options
myisamchk
Options
mysqlaccess
Options
mysqlbinlog
Options
mysqldumpslow
Options
mysqlhotcopy
Options
GROUP BY
)
Functions
MyISAM
Storage Engine
Features
MyISAM
Option/Variable
Reference
InnoDB
Storage Engine
Features
InnoDB
Option/Variable
Reference
IBMDB2I
Options and
Variables
IBMDB2I
Isolation Levels
IBMDB2I
IBMDB2I
and MySQL
IBMDB2I
IBMDB2I
MEMORY
Storage Engine
Features
ARCHIVE
Storage Engine
Features
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