新機能
                  ツリー形式(階層状)の構造を検索する
                  Oracle のような CONNECT BY PRIOR
                  ...。
                
不足しているすべての SQL-92 および ODBC 3.0 型を追加する。
                  SUM(DISTINCT) を追加する。
                
                  テーブルの読み取りがロックされている場合、テーブルの最後で同時挿入を行う
                  INSERT SQL_CONCURRENT および
                  mysqld --concurrent-insert。
                
                  UPDATE TABLE foo SET @a=a+b,a=@a,
                  b=@a+c
                  のように、UPDATE
                  ステートメントでの変数の更新を有効にする。
                
                  ユーザ変数が更新される場合、SELECT
                  id, @a:=COUNT(*), SUM(sum_col)/@a FROM table_name
                  GROUP BY id のように GROUP
                  BY
                  とともに使用できるように変更する。
                
                  TIMESTAMP および
                  AUTO_INCREMENT
                  フィールドを更新しないように
                  LOAD DATA INFILE に
                  IMAGE
                  オプションを追加する。
                
                  次のように動作する LOAD DATA INFILE
                  ... UPDATE 構文を追加する。
                
主キーがあるテーブルについて、入力レコードに主キー値が含まれている場合、その主キー値と一致する既存のレコードはその他の入力カラムから更新される。ただし、入力レコードにないカラムに対応するカラムはそのままになる。
                      主キーがあるテーブルについて、入力レコードに主キー値が含まれていない場合やキーの一部がない場合、レコードは
                      LOAD DATA INFILE ... REPLACE
                      INTO として処理される。
                    
                  LOAD DATA INFILE
                  で次のような構文が認識されるようにする。
LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name
     TEXT_FIELDS (text_field1, text_field2, text_field3)
     SET table_field1=CONCAT(text_field1, text_field2),
         table_field3=23
     IGNORE text_field3
これを使用すると、テキストファイル内の余分なカラムをスキップしたり、読み取ったデータの式に基づいてカラムを更新したりすることができる。
                  SET
                  型のカラムを使用する新しい関数。
                
                      ADD_TO_SET(value,set)
                    
                      REMOVE_FROM_SET(value,set)
                    
                  クエリの途中で mysql
                  を停止する場合、別の接続を開き、実行中の元のクエリを終了する必要がある。または、サーバでこれが検出されるようにする必要がある。
                
                  システムテーブルとして使用できるように、テーブル情報のストレージエンジンインタフェースを追加する。これは、すべてのテーブルに関する情報を要求した場合には多少遅くなるが、非常に柔軟である。基本的なテーブル情報を対象とした
                  SHOW INFO FROM tbl_name
                  が実装される。
                
                  SELECT a FROM table_name1 LEFT JOIN
                  table_name2 USING (a)
                  を有効にする。この場合、a
                  は、table_name1
                  テーブルに由来すると想定される。
                
                  UPDATE ステートメントの
                  DELETE および
                  REPLACE
                  オプション(これによって、更新時に重複キーエラーが発生した場合、レコードが削除されるようになる)。
                
                  秒の小数部を格納するように
                  DATETIME
                  の書式を変更する。
                
現在のライブラリの代わりに、新しい GNU regexp ライブラリを使用できるようにする(新しいライブラリは、現在のライブラリよりはるかに高速である)。
標準への準拠、移植性、および移行
                  カラムに自動 DEFAULT
                  値が追加されないようにする。DEFAULT
                  がないカラムについては、INSERT
                  ステートメントに値がない場合、エラーを生成する。
                
                  ANY()、EVERY()、および
                  SOME()
                  グループ関数を追加する。標準の SQL
                  では、これらはブール型のカラムのみで動作するが、0
                  値を FALSE、0 以外の値を TRUE
                  として処理することで、あらゆるカラム/式で動作するように拡張することができる。
                
                  MAX(column)
                  の型をカラム型と同じになるように固定する。
mysql>CREATE TABLE t1 (a DATE);mysql>INSERT INTO t1 VALUES (NOW());mysql>CREATE TABLE t2 SELECT MAX(a) FROM t1;mysql>SHOW COLUMNS FROM t2;
速度の向上
                  定義された数を超えるスレッドで同時に
                  MyISAM
                  リカバリが実行されないようにする。
                
                  必要に応じて同時挿入を使用するように
                  INSERT ... SELECT
                  を変更する。
                
しばらく使用されていない場合、遅延キーが設定されているテーブルのキーページを定期的にフラッシュするオプションを追加する。
キー部分での結合を有効にする(最適化の問題)。
                  Windows での
                  pread()/pwrite()
                  のシミュレーションを追加して、同時挿入を有効にする。
                
最も頻繁にヒットするテーブル、複数テーブルの結合が実行される頻度などに関する情報を解析できるログファイルアナライザを追加する。これは、はるかに効率的なクエリを実行するように最適化することができる領域やテーブル設計を特定する上で便利である。
国際化
使いやすさの向上
                  SELECT MIN(column) ... GROUP BY
                  の実行時に、元のフィールド型を返す。
                
                  long_query_time
                  をマイクロ秒単位で詳細に指定できるようにする。
                
                  PACK または
                  COMPRESS
                  操作を実行できるように、myisampack
                  コードをサーバにリンクする。
                
                  インデックスファイルがいっぱいになった場合にリカバリできるように、INSERT/DELETE/UPDATE
                  時にテンポラリキーバッファキャッシュを追加する。
                
                  別のディスクにシンボリックリンクされているテーブルで
                  ALTER TABLE
                  を実行する場合、そのディスクにテンポラリテーブルを作成する。
                
                  タイムゾーンが異なる日付の処理を容易にするために、タイムゾーン情報を適切に処理する
                  DATE/DATETIME 型を実装する。
                
                  スレッドを使用せずにすべてのライブラリ(MyISAM
                  など)をコンパイルできるように、configure
                  を固定する。
                
                  LIMIT @a,@b のように、SQL
                  変数を LIMIT
                  の引数として使用できるようにする。
                
                  mysql から Web
                  ブラウザへの自動出力。
                
                  LOCK
                  DATABASES(およびさまざまなオプション)。
                
                  SHOW STATUS
                  によって表されるさまざまな数値。レコードの読み取りおよび更新。1
                  つのテーブルに対する SELECT
                  および結合を使用した SELECT。 SELECT
                  されたテーブルの平均数。ORDER
                  BY および GROUP BY
                  クエリの数。
                
                  mysqladmin copy database
                  new-database。このためには、COPY
                  操作を mysqld
                  に追加する必要がある。
                
プロセス一覧の出力にクエリ/スレッドの数が示されるようにする。
                  ホスト名キャッシュに関する情報を出力するための
                  SHOW HOSTS。
                
                  計算されたカラムについて、空白文字列から
                  NULL
                  にテーブル名を変更する。
                
                  SELECT COUNT(*)*(id+0) FROM table_name GROUP
                  BY id の場合、数字 -> 文字列
                  ->
                  数字という変換を避けるために、数値に対して
                  Item_copy_string
                  を使用しない。
                
                  INSERT DELAYED
                  を実行するクライアントが ALTER
                  TABLE
                  によって停止されないように変更する。
                
                  UPDATE
                  節でカラムが参照されている場合、更新が開始される前の古い値がカラムに含まれるように固定する。
                
新しいオペレーティングシステム
LynxOS への MySQL クライアントの移植。
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.

