A new storage engine library (MyISAM
)
with a lot of new features. See
Secção 7.1, “Tabelas MyISAM
”.
You can create in-memory HEAP
tables
which are extremely fast for lookups.
Support for big files (63-bit) on OSs that support big files.
New function LOAD_FILE(filename)
to get
the contents of a file as a string value.
New operator <=>
which will act as
=
but will return TRUE if both arguments
are NULL
. This is useful for comparing
changes between tables.
Added the ODBC 3.0 EXTRACT(interval FROM
datetime)
function.
Columns defined as FLOAT(X)
are not
rounded on storage and may be in scientific notation (1.0
E+10) when retrieved.
REPLACE
is now faster than before.
Changed LIKE
character comparison to
behave as =
; This means that 'e'
LIKE 'é'
is now true. (If the line doesn't
display correctly, the latter 'e' is a French 'e' with a dot
above.)
SHOW TABLE STATUS
returns a lot of
information about the tables.
Added LIKE
to the SHOW
STATUS
command.
Added Privileges
column to SHOW
COLUMNS
.
Added Packed
and
Comment
columns to SHOW
INDEX
.
Added comments to tables (with CREATE TABLE ...
COMMENT "xxx"
).
Added UNIQUE
, as in CREATE TABLE
table_name (col INT not null UNIQUE)
New create syntax: CREATE TABLE table_name SELECT
...
New create syntax: CREATE TABLE IF NOT EXISTS
...
Allow creation of CHAR(0)
columns.
DATE_FORMAT()
now requires
‘%
’ before any format
character.
DELAYED
is now a reserved word (sorry
about that :( ).
An example procedure is added: analyse
,
file: sql_analyse.c
. This will describe
the data in your query. Try the following:
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])
This procedure is extremely useful when you want to check the data in your table!
BINARY
cast to force a string to be
compared in case-sensitive fashion.
Added --skip-show-database
option to
mysqld
.
Check whether a row has changed in an
UPDATE
now also works with
BLOB
/TEXT
columns.
Added the INNER
join syntax.
NOTE: This made
INNER
a reserved word!
Added support for netmasks to the hostname in the MySQL
grant tables. You can specify a netmask using the
IP/NETMASK
syntax.
If you compare a NOT NULL DATE/DATETIME
column with IS NULL
, this is changed to a
compare against 0
to satisfy some ODBC
applications. (By <shreeve@uci.edu>
.)
NULL IN (...)
now returns
NULL
instead of 0
.
This will ensure that null_column NOT IN
(...)
doesn't match NULL
values.
Fix storage of floating-point values in
TIME
columns.
Changed parsing of TIME
strings to be
more strict. Now the fractional second part is detected (and
currently skipped). The following formats are supported:
[[DAYS] [H]H:]MM:]SS[.fraction]
[[[[[H]H]H]H]MM]SS[.fraction]
Detect (and ignore) fractional second part from
DATETIME
.
Added the LOW_PRIORITY
attribute to
LOAD DATA INFILE
.
The default index name now uses the same case as the column name on which the index name is based.
Changed default number of connections to 100.
Use bigger buffers when using LOAD DATA
INFILE
.
DECIMAL(x,y)
now works according to
SQL-99.
Added aggregate UDF functions. Thanks to Andreas F. Bobak
(<bobak@relog.ch>
) for this!
LAST_INSERT_ID()
is now updated for
INSERT INTO ... SELECT
.
Some small changes to the join table optimiser to make some joins faster.
SELECT DISTINCT
is much faster; it uses
the new UNIQUE
functionality in
MyISAM
. One difference compared to MySQL
Version 3.22 is that the output of
DISTINCT
is no longer sorted.
All C client API macros are now functions to make shared
libraries more reliable. Because of this, you can no longer
call mysql_num_fields()
on a
MYSQL
object, you must use
mysql_field_count()
instead.
Added use of LIBWRAP
; patch by Henning P.
Schmiedehausen.
Don't allow AUTO_INCREMENT
for other than
numerical columns.
Using AUTO_INCREMENT
will now
automatically make the column NOT NULL
.
Show NULL
as the default value for
AUTO_INCREMENT
columns.
Added SQL_BIG_RESULT
;
SQL_SMALL_RESULT
is now default.
Added a shared library RPM. This enhancement was contributed
by David Fox (<dsfox@cogsci.ucsd.edu>
).
Added --enable-large-files
and
--disable-large-files
switches to
configure
. See
configure.in
for some systems where
this is automatically turned off because of broken
implementations.
Upgraded readline
to 4.0.
New CREATE TABLE
options:
PACK_KEYS
and
CHECKSUM
.
Added --default-table-type
option to
mysqld
.
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.