Fonctionnalité ajoutée ou modifiée :
Added --compatible option to
mysqldump for producing output that is
compatible with other database systems or with older MySQL
servers.
The --opt option for
mysqldump now is enabled by default, as
are all the options implied by --opt.
New CHARSET() and
COLLATION() functions to return the
character set and collation of a string.
Allow index type to be specified explicitly for some storage
engines via USING type_name syntax in
index definition.
New function IS_USED_LOCK() for
determining the connection identifier of the client that
holds a given advisory lock.
New more secure client authentication based on 45-byte
passwords in the user table.
New CRC32() function to compute cyclic
redundancy check value.
On Windows, we are now using shared memory to communicate
between server and client when they are running on the same
machine and you are connecting to
localhost.
REPAIR TABLE of MyISAM
tables now uses less temporary disk space when sorting char
columns.
DATE/DATETIME checking
is now a bit stricter to support the ability to
automatically distinguish between date, datetime, and time
with microseconds. For example, dates of type
YYYYMMDD HHMMDD are no longer supported;
you must either have separators between each
DATE/TIME part or not
at all.
Server side help for all MySQL functions. One can now type
help week in the mysql
client and get help for the week()
function.
Added new mysql_get_server_version() C
API client function.
Fixed bug in libmysqlclient that fetched
column defaults.
Fixed bug in mysql command-line client
in interpreting quotes within comments. (Bug#539)
Added record_in_range() method to
MERGE tables to be able to choose the
right index when there are many to choose from.
Replication now works with RAND() and
user variables @var.
Allow one to change mode for ANSI_QUOTES
on the fly.
EXPLAIN SELECT now can be killed. See
Section 13.5.4.3, « Syntaxe de KILL ».
REPAIR TABLE now can be killed. See
Section 13.5.4.3, « Syntaxe de KILL ».
Allow empty index lists to be specified for USE
INDEX, IGNORE INDEX, and
FORCE INDEX.
DROP TEMPORARY TABLE now drops only
temporary tables and doesn't end transactions.
Added support for UNION in derived
tables.
Warning: Incompatible
change! TIMESTAMP is now
returned as a string of type 'YYYY-MM-DD
HH:MM:SS' and different timestamp lengths are not
supported.
This change was necessary for SQL standards compliance. In a future version, a further change will be made (backward compatible with this change), allowing the timestamp length to indicate the desired number of digits of fractions of a second.
New faster client/server protocol that supports prepared statements, bound parameters, and bound result columns, binary transfer of data, warnings.
Added database and real table name (in case of alias) to the
MYSQL_FIELD structure.
Multi-line queries: You can now issue several queries at once and then read the results in one go.
In CREATE TABLE foo (a INT not null primary
key) the PRIMARY word is now
optional.
In CREATE TABLE the attribute
SERIAL is now an alias for
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
UNIQUE.
SELECT ... FROM DUAL is an alias for
SELECT .... (To be compatible with some
other databases).
If one creates a too long
CHAR/VARCHAR it's now
automatically changed to TEXT or
BLOB; One will get a warning in this
case.
One can specify the different
BLOB/TEXT types with
the syntax BLOB(length) and
TEXT(length). MySQL will automatically
change it to one of the internal
BLOB/TEXT types.
CHAR BYTE is an alias for CHAR
BINARY.
VARCHARACTER is an alias for
VARCHAR.
New operators integer MOD integer and
integer DIV integer.
SERIAL DEFAULT VALUE added as an alias
for AUTO_INCREMENT.
TRUE and FALSE added
as alias for 1 and 0, respectively.
Aliases are now forced in derived tables, as per standard SQL.
Fixed SELECT .. LIMIT 0 to return proper
row count for SQL_CALC_FOUND_ROWS.
One can specify many temporary directories to be used in a
round-robin fashion with:
--tmpdir=dirname1:dirname2:dirname3.
Subqueries: SELECT * from t1 where t1.a=(SELECT
t2.b FROM t2).
Derived tables:
SELECT a.col1, b.col2
FROM (SELECT MAX(col1) AS col1 FROM root_table) a,
other_table b
WHERE a.col1=b.col1;
Character sets to be defined per column, table and database.
Unicode (UTF8) support.
New CONVERT(... USING ...) syntax for
converting string values between character sets.
BTREE index on MEMORY
(HEAP) tables.
Faster embedded server (new internal communication protocol).
One can add a comment per column in CREATE
TABLE.
SHOW FULL COLUMNS FROM tbl_name shows
column comments.
ALTER DATABASE.
Support for GIS (Geometrical data). See Chapitre 18, Données spatiales avec MySQL.
SHOW [COUNT(*)] WARNINGS shows warnings
from the last command.
One can specify a column type for a column in
CREATE TABLE ... SELECT by defining the
column in the CREATE part.
CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+1 AS a FROM bar;
expr SOUNDS LIKE expr same as
SOUNDEX(expr)=SOUNDEX(expr).
Added new VARIANCE(expr) function returns
the variance of expr
One can create a table from the existing table using
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table
(LIKE table). The table can be either normal or
temporary.
New options --reconnect and
--skip-reconnect for the
mysql client, to reconnect automatically
or not if the connection is lost.
START SLAVE (STOP
SLAVE) no longer returns an error if the slave is
already started (stopped); it returns a warning instead.
SLAVE START and SLAVE
STOP are no longer accepted by the query parser;
use START SLAVE and STOP
SLAVE instead.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
