MySQL Standards Compliance
19
problems. We believe in making everything as backward-compatible as possible, and you should
be able to switch MySQL versions without difficulty. See
Section 2.4.3, “Choosing Which MySQL
Distribution to Install”
.
1.8. MySQL Standards Compliance
This section describes how MySQL relates to the ANSI/ISO SQL standards. MySQL Server has many
extensions to the SQL standard, and here you can find out what they are and how to use them. You
can also find information about functionality missing from MySQL Server, and how to work around
some of the differences.
The SQL standard has been evolving since 1986 and several versions exist. In this manual, “SQL-92”
refers to the standard released in 1992, “SQL:1999” refers to the standard released in 1999,
“SQL:2003” refers to the standard released in 2003, and “SQL:2008” refers to the most recent version
of the standard, released in 2008. We use the phrase “the SQL standard” or “standard SQL” to mean
the current version of the SQL Standard at any time.
One of our main goals with the product is to continue to work toward compliance with the SQL
standard, but without sacrificing speed or reliability. We are not afraid to add extensions to SQL
or support for non-SQL features if this greatly increases the usability of MySQL Server for a large
segment of our user base. The
HANDLER
interface is an example of this strategy. See
Section 13.2.4,
“
HANDLER
Syntax”
.
We continue to support transactional and nontransactional databases to satisfy both mission-critical
24/7 usage and heavy Web or logging usage.
MySQL Server was originally designed to work with medium-sized databases (10-100 million rows,
or about 100MB per table) on small computer systems. Today MySQL Server handles terabyte-
sized databases, but the code can also be compiled in a reduced version suitable for hand-held and
embedded devices. The compact design of the MySQL server makes development in both directions
possible without any conflicts in the source tree.
Currently, we are not targeting real-time support, although MySQL replication capabilities offer
significant functionality.
MySQL supports high-availability database clustering using the
NDBCLUSTER
storage engine. See
Chapter 17, MySQL Cluster
.
XML support is to be implemented in a future version of the database server.
1.8.1. What Standards MySQL Follows
Our aim is to support the full ANSI/ISO SQL standard, but without making concessions to speed and
quality of the code.
ODBC levels 0 to 3.51.
1.8.2. Selecting SQL Modes
The MySQL server can operate in different SQL modes, and can apply these modes differentially for
different clients. This capability enables each application to tailor the server's operating mode to its own
requirements.
SQL modes control aspects of server operation such as what SQL syntax MySQL should support and
what kind of data validation checks it should perform. This makes it easier to use MySQL in different
environments and to use MySQL together with other database servers.
You can set the default SQL mode by starting
mysqld
with the
--sql-mode="mode_value"
[422]
option. You can also change the mode at runtime by setting the
sql_mode
[495]
system variable with
a
SET [GLOBAL|SESSION] sql_mode='mode_value'
statement.
Summary of Contents for 5.0
Page 1: ...MySQL 5 0 Reference Manual ...
Page 18: ...xviii ...
Page 60: ...40 ...
Page 396: ...376 ...
Page 578: ...558 ...
Page 636: ...616 ...
Page 844: ...824 ...
Page 1234: ...1214 ...
Page 1427: ...MySQL Proxy Scripting 1407 ...
Page 1734: ...1714 ...
Page 1752: ...1732 ...
Page 1783: ...Configuring Connector ODBC 1763 ...
Page 1793: ...Connector ODBC Examples 1773 ...
Page 1839: ...Connector Net Installation 1819 2 You must choose the type of installation to perform ...
Page 2850: ...2830 ...
Page 2854: ...2834 ...
Page 2928: ...2908 ...
Page 3000: ...2980 ...
Page 3122: ...3102 ...
Page 3126: ...3106 ...
Page 3174: ...3154 ...
Page 3232: ...3212 ...