Go to the first, previous, next, last section, table of contents.


1 MySQL についての一般情報

これは MySQL のリファレンスマニュアルです; これは MySQL バージョン 3.23.38 について記述しています。

MySQL は発展中なので、マニュアルは頻繁に更新されます。そのため、 オンラインで参照しない限り、このバージョンが期限切れである可能性があります。 このマニュアルの最新バージョンは http://www.mysql.com/documentation/ に多 様な形式で置いてあります。マニュアル内の情報を見つけるつらい時間を持つなら、 検索可能 PHP バージョン http://www.mysql.com/documentation/manual.php を試す ことが可能です。

MySQL はとても高速で、マルチスレッド、マルチユーザ、頑丈な SQL (Structured Query Language)データベースサーバです。

MySQL はフリーソフトウェアです。GNU GENERAL PUBLIC LICENSE http://www.gnu.org/ でライセンスされています。 「3 MySQL ライセンスとサポート」節参照.

MySQL ホームページMySQL についての最新情報を提供しています。

次のリストはマニュアルのいくつかの有用なセクションを説明しています:

重要:

エラー(バグ)レポート、質問、コメントは メーリングリスト mysql@lists.mysql.com に送ってください。 「2.3 バグや問題を報告する方法」節参照。 バグレポートを生成するためには mysqlbug スクリプトを使用すべきです。 ソースディストリビューションでは、mysqlbug スクリプトは `scripts' ディレクトリ に見つけることができます。バイナリディストリビューションでは、mysqlbug`bin' ディレクトリに見つけることができます。 MySQL のセキュリティバグを発見した場合は、 security@mysql.com に email を送ってください。

このマニュアルへの追加または修正に関連する提案がある場合は、それらを MySQL マニュアルチーム docs@mysql.com に 送ってください。

これはリファレンスマニュアルです。一般的な SQL やリレーショナルデータベー ス概念の説明書ではありません。SQL についての一般的な情報を得たければ、 「1.9 一般的な SQL 情報とチュートリアル」節 を見てください。特に MySQL に焦点をあてた本につ いては、 「1.5 Books About MySQL」節 を見てください。

1.1 MySQL とは何か

MySQLは、もっとも有名なオープンソースSQLデータベースで、 MySQL AB によって供給されています。MySQL ABMySQL データベースのまわりのサービスを提供するビジネスを構築する 営利会社です。 「1.2 What Is MySQL AB」節参照.

MySQL はデータベース管理システムです。
データベースはデータの集まりで構成されています。絵画のギャラリーの単純な ショッピングリストや共通ネットワーク内での膨大な量の情報からもなり得ます。 コンピュータデータベースに格納されたデータの追加、アクセス、処理のために は、MySQL のようなデータベース管理システムが必要です。コンピュー タは大量のデータの処理にとても向いているので、データベース管理システムは スタンドアロンユーティリティや他のアプリケーションの一部として、コンピュー タの中で中心的な役割を演じています。
MySQL は関係データベース管理システムです。
関係データベースはデータを大きな格納場所に全てのデータを置くのではなく、 別々のテーブル内に格納します。これは速度と柔軟性を追加します。要求された いくつかのテーブルからデータを結合することを可能とする関係を定義すること により、テーブルがリンクされます。MySQL の SQL 部分は "構造化ク エリ言語 (Structured Query Language)" を表しています。これは、データベー スのアクセスに使用される最も有名な標準言語です。
MySQL はオープンソースソフトウェアです。
オープンソースの意味は誰でも使用し変更することができるということです。誰 でも MySQL をインターネットからダウンロードし、何も支払わずに使 用することができます。その気があれば誰でも必要に応じてソースコードを調べ、 変更することができます。MySQL は GPL (GNU General Public License) http://www.gnu.org を使用します。これは、様々な状況でそ のソフトウェアで行なえることと行なえないことを定義しています。もし GPL を嫌だと感じていたり、MySQL を商用アプリケーションに組み込む必 要があるなら、商用ライセンス版を我々から購入することができます。
何故 MySQL を使用するのか?
MySQL はとても速く、信頼でき、簡単に使用できます。それがあなた が探しているものなら、試してみるべきです。MySQL は、我々のユー ザと協力して開発されたとても実用的な機能のセットを持っています。我々のベ ンチマークページ上で、MySQL と他のいくつかのデータベース管理シ ステムの性能比較を見つけることができます。 「13.7 Using Your Own Benchmarks」節参照。 MySQL は、既存のソリューションよりも速くとても大きなデータベー スを処理するために、そして、高い需要がある製品環境で何年間かの使用に耐え るために、独創的に開発されました。一定の開発下で、MySQL は今日、 豊富でとても有用な機能セットを提供します。MySQL は、結合性、速 度、セキュリティでインターネット上でのデータベースアクセスに高く適合しま す。
MySQL の技術機能。
詳しい技術情報については、 「7 MySQL 言語リファレンス」節。MySQL は、様々なバッ クエンドをサポートするマルチスレッド SQL サーバ、いくつかのクライアント プログラム、ライブラリ、管理ツール、プログラミングインタフェースから成る クライアント/サーバシステムです。
MySQL は多くの貢献ソフトを持っています。
おそらく、すでに MySQL をサポートする、あなたの好きなアプリケー ション/言語を見つけることができるでしょう。

MySQL の公式な発音は ``My Ess Que Ell'' です(MY-SEQUEL ではあり ません)。 しかし MY-SEQUEL と発音する人を正すことは避けています。

1.2 What Is MySQL AB

MySQL AB は、MySQL の創始者と主な開発者によって所有され、 運営されているスウェーデンの会社です。我々は、MySQL の開発と我々 のデータベースを新しいユーザに広げることに専念しています。MySQL ABMySQL サーバソースコードの著作権と MySQL 商標を所 有します。我々のサービスからの重要な収益の総量は MySQL の開発に向 けられます。 「1.1 MySQL とは何か」節参照.

MySQL AB has been profitable providing MySQL from the start. We don't get any outside funding, but have earned all our money ourselves.

We are searching after partners that would like to support our development of MySQL so that we could accelerate the development pace. If you are interested in doing this, you can email partner@mysql.com about this!

MySQL AB has currently 20+ people on its payroll and is growing rapidly. http://www.mysql.com/development/team.html.

Our main sources of income are:

The MySQL core values show our dedication to MySQL and Open Source.

MySQL core values

我々は MySQL を次のようにしたいです。

MySQL ABMySQL AB の人々は次を行ないます。

1.3 このマニュアルについて

このマニュアルは以下の方々により訳されました (ハンドル名だけ書きます。敬称略。翻訳サーバーに登録した順 :) ):

このマニュアルは現在 Texinfo, プレーンテキスト, Info, HTML, PostScript, PDF バージョンがあります。 プライマリドキュメントは Texinfo ファイルです。HTML バージョンは texi2html の変更されたバージョンで自動的に提供されます。プレーン テキストと Info バージョンは makeinfo で提供されます。PostScript バージョンは texi2dvidivps を使用して提供されます。PDF バージョンは pdftex で提供されます。

このマニュアルは David Axmark, Michael (Monty) Widenius, Jeremy Cole, Paul DuBois, によって作成され、維持されています。他の貢献者については 「E Credits」節 を参照してください。

1.3.1 このマニュアル中で使用されている表記

このマニュアルは特定の印刷上の表記を使用しています:

constant
固定幅フォントは次のものに使用されます。コマンド名, オプション; SQL ステー トメント; データベース名, テーブル名, フィールド名; C と Perl コード; 環境変数。 例: ``mysqladmin がどのように動作するかを見るためには、 --help オプションをつけて起動してください。''
`filename'
引用符で括られた固定幅フォントはファイル名とパス名に使用されます。例: `` ディストリビューションは `/usr/local' ディレクトリ配下にインストールされます。''
`c'
引用符で括られた固定幅フォントは文字シーケンスを示すためにも使用されます。 例: ``ワイルドカードを指定するためには、`%' 文字を使用してください。''
italic
イタリックフォントは強調のために使用されます, このように
boldface
ボールドフォントはアクセス権名(例えば、``process 権を容易に 与えないでください'')と、特に強い強調を伝えるために使用されます。

コマンドが特定のプログラムによって実行されることを意味することを表す時、 コマンドと共に表示されるプロンプトによって、そのプログラムを表します。例えば、 shell> は、あなたのログインシェルから実行するコマンドを表し、 mysql>mysql クライアントプログラムから実行するコマンドを表します:

shell> type a shell command here
mysql> type a mysql command here

シェルコマンドは Bourne シェル構文で示されます。csh 形式のシェ ルを使用している場合は、わずかに変更してコマンドを発行する必要があるでしょ う。例えば、環境変数を設定してコマンドを実行するシーケンスは、Bourne シェ ル構文では次のようになります:

shell> VARNAME=value some_command

csh では、次のようなシーケンスを実行してください:

shell> setenv VARNAME value
shell> some_command

データベース名, テーブル名, フィールド名はコマンドの中で置換しなければいけない ことがよくあります。このような置換が必要なことを示すために、このマニュア ルは db_name, tbl_name, col_name を使用します。 例えば、次のようなステートメントを見た場合:

mysql> SELECT col_name FROM db_name.tbl_name;

これは、同様のステートメントを入力するためには、おそらく次のように、あな た自身のデータベース名, テーブル名, フィールド名を供給することを意味します:

mysql> SELECT author_name FROM biblio_db.author_list;

SQL ステートメントは大文字でも小文字でも記述できます。このマニュアルが SQL ステートメントを示すときは、特別なキーワードを説明している時には(そ れを強調するために)そのキーワードに大文字が使用され、残りのステートメン トに小文字が使用されます。 例えば、SELECT ステートメントの説明中 には次が見られるでしょう:

mysql> SELECT count(*) FROM tbl_name;

一方、COUNT() 関数の説明中では、ステートメントは次のように書かれ ます:

mysql> select COUNT(*) from tbl_name;

特別な強調が意図されない場合、全てのキーワードは大文字で書かれます。

構文の説明中では、角括弧(`['`]')はオプションの単語や節であ ることを示すために使用されます:

DROP TABLE [IF EXISTS] tbl_name

構文要素がいくつかのものからなる場合、垂直バー(`|')で区切られます。 選択セットから一つのメンバを選ぶことができるときは、角括弧中にリストされ ます。 (`[' and `]'):

TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)

選択セットから一つのメンバを選ぶ必要があるときは、波括弧(`{'`}')中にリストされます:

{DESCRIBE | DESC} tbl_name {col_name | wild}

1.4 MySQL の歴史

我々自身の速くて低レベルな (ISAM) ルーチンを使用する、我々のテーブルへ 接続するために、 我々は一度 mSQL を使用するつもりでした。しかし、いくつかのテストの後、我々は mSQL は我々が必要とするほど高速ではなく、柔軟度を持っていないとの 結論に至りました。この結果、mSQL とほとんど同じ API インタフェー スを持つ、我々のデータベースへの新しい SQL インタフェースに帰結しました。 この API はサードパーティコードの移植を簡単にするために選択されました。

MySQL の名前の由来は完全には明らかではありません。我々のベース ディレクトリと多くのライブラリとツールは接頭辞 ``my'' を 10 年以上も使っ ています。しかし、Monty の娘(何年か若い)も My という名前です。そのため、 この2つのどちらが MySQL に名前を与えたかは、我々にとっても未だ 謎です。

1.5 Books About MySQL

While this manual is still the right place for up to date technical information, its primary goal is to contain everything there is to know about MySQL. It is sometimes nice to have a bound book to read in bed or while you travel. Here is a list of books about MySQL and related subjects (in English).

By purchasing a book through these hyperlinks provided herein, you are contributing to the development of MySQL.

MySQL
Available Barnes and Noble
Publisher New Riders
Author Paul DuBois
Pub Date 1st Edition December 1999
ISBN 0735709211
Pages 800
Price $49.99 US
Downloadable examples samp_db.tar.gz
Errata are available here

Foreword by Michael ``Monty'' Widenius, MySQL Moderator.

In MySQL, Paul DuBois provides you with a comprehensive guide to one of the most popular relational database systems. Paul has contributed to the online documentation for MySQL and is an active member of the MySQL community. The principal MySQL developer, Monty Widenius, and a network of his fellow developers reviewed the manuscript, and provided Paul with the kind of insight no one else could supply.

Instead of merely giving you a general overview of MySQL, Paul teaches you how to make the most of its capabilities. Through two sample database applications that run throughout the book, he gives you solutions to problems you're sure to face. He helps you integrate MySQL efficiently with third-party tools, such as PHP and Perl, enabling you to generate dynamic Web pages through database queries. He teaches you to write programs that access MySQL databases, and also provides a comprehensive set of references to column types, operators, functions, SQL syntax, MySQL programming, C API, Perl DBI, and PHP API. MySQL simply gives you the kind of information you won't find anywhere else.

If you use MySQL, this book provides you with:


MySQL & mSQL
Available Barnes and Noble
Publisher O'Reilly
Authors Randy Jay Yarger, George Reese & Tim King
Pub Date 1st Edition July 1999
ISBN 1-56592-434-7, Order Number: 4347
Pages 506
Price $34.95

This book teaches you how to use MySQL and mSQL, two popular and robust database products that support key subsets of SQL on both Linux and Unix systems. Anyone who knows basic C, Java, Perl, or Python can write a program to interact with a database, either as a stand-alone application or through a Web page. This book takes you through the whole process, from installation and configuration to programming interfaces and basic administration. Includes plenty of tutorial material.

Sams' Teach Yourself MySQL in 21 Days
Available Barnes and Noble
Publisher Sams
Authors Mark Maslakowski and Tony Butcher
Pub Date June 2000
ISBN 0672319144
Pages 650
Price $39.99

Sams' Teach Yourself MySQL in 21 Days is for intermediate Linux users who want to move into databases. A large share of the audience is Web developers who need a database to store large amounts of information that can be retrieved via the Web.

Sams' Teach Yourself MySQL in 21 Days is a practical, step-by-step tutorial. The reader will learn to design and employ this open source database technology into his or her Web site using practical, hands-on examples to follow.

E-Commerce Solutions with MySQL
Available Barnes and Noble
Publisher Prima Communications, Inc.
Authors N/A
Pub Date January 2000
ISBN 0761524452
Pages 500
Price $39.99

No description available.

MySQL and PHP from Scratch
Available Barnes and Noble
Publisher Que
Authors N/A
Pub Date September 2000
ISBN 0789724405
Pages 550
Price $34.99

This book puts together information on installing, setting up, and troubleshooting Apache, MySQL, PHP3, and IMP into one complete volume. You also learn how each piece is part of a whole by learning, step-by-step, how to create a web-based e-mail system. Learn to run the equivalent of Active Server Pages (ASP) using PHP3, set up an e-commerce site using a database and the Apache web server, and create a data entry system (such as sales, product quality tracking, customer preferences, etc) that no installation in the PC.

Professional MySQL Programming
Available Barnes and Noble
Publisher Wrox Press, Inc.
Authors N/A
Pub Date Late 2001
ISBN 1861005164
Pages 1000
Price $49.99

No description available.

Professional Linux Programming
Available Barnes and Noble
Publisher Wrox Press, Inc.
Authors N/A
Pub Date September 2000
ISBN 1861003013
Pages 1155
Price $47.99

In this follow-up to the best-selling Beginning Linux Programming, you will learn from the authors' real-world knowledge and experience of developing software for Linux; you'll be taken through the development of a sample 'DVD Store' application, with 'theme' chapters addressing different aspects of its implementation. Meanwhile, individual ``take-a-break'' chapters cover important topics that go beyond the bounds of the central theme. All focus on the practical aspects of programming, showing how crucial it is to choose the right tools for the job, use them as they should be used, and get things right first time.

PHP and MySQL Web Development
Available Barnes and Noble
Publisher Sams
Authors Luke Welling, Laura Thomson
Pub Date March 2001
ISBN 0672317842
Pages 700
Price $49.99

PHP and MySQL Web Development introduces you to the advantages of implementing both MySQL and PHP. These advantages are detailed through the provision of both statistics and several case studies. A practical web application is developed throughout the book, providing you with the tools necessary to implement a functional online database. Each function is developed separately, allowing you the choice to incorporate only those parts that you would like to implement. Programming concepts of the PHP language are highlighted, including functions which tie MySQL support into a PHP script and advanced topics regarding table manipulation.

Books recommended by the MySQL Developers

SQL-99 Complete, Really
Available Barnes and Noble
Publisher CMP Books
Authors Peter Gulutzan, Trudy Pelzer
Pub Date April 1999
ISBN 0879305681
Pages 1104
Price $55.96

This book contains complete descriptions of the new standards for syntax, data structures, and retrieval processes of SQL databases. As an example-based reference manual, it includes all of the CLI functions, information, schema tables, and status codes, as well as a working SQL database provided on the companion disk.

C, A reference manual
Available Barnes and Noble
Publisher Prentice Hall
Authors Samuel P. Harbison, Guy L. Steele
Pub Date September 1994
ISBN 0133262243
Pages 480
Price $35.99

A new and improved revision of the bestselling C language reference. This manual introduces the notion of "Clean C", writing C code that can be compiled as a C++ program, C programming style that emphasizes correctness, portability, maintainability, and incorporates the ISO C Amendment 1 (1994) which specifies new facilities for writing portable, international programs in C.

C++ for Real Programmers
Available Barnes and Noble
Publisher Academic Press, Incorporated
Authors Jeff Alger, Jim Keogh
Pub Date February 1998
ISBN 0120499428
Pages 388
Price $39.95

C++ For Real Programmers bridges the gap between C++ as described in beginner and intermediate-level books and C++ as it is practiced by experts. Numerous valuable techniques are described, organized into three simple themes: indirection, class hierarchies, and memory management. It also provides in-depth coverage of template creation, exception handling, pointers and optimization techniques. The focus of the book is on ANSI C++ and, as such, is compiler independent.

C++ For Real Programmers is a revision of Secrets of the C++ Masters and includes a new appendix comparing C++ with Java. The book comes with a 3.5" disk for Windows with source code.

Algorithms in C
Available Barnes and Noble
Publisher Addison Wesley Longman, Inc.
Authors Robert Sedgewick
Pub Date April 1990
ISBN 0201514257
Pages 648
Price $45.75

Algorithms in C describes a variety of algorithms in a number of areas of interest, including: sorting, searching, string-processing, and geometric, graph and mathematical algorithms. The book emphasizes fundamental techniques, providing readers with the tools to confidently implement, run, and debug useful algorithms.

Multithreaded Programming with Pthreads
Available Barnes and Noble
Publisher Prentice Hall
Authors Bil Lewis, Daniel J. Berg
Pub Date October 1997
ISBN 0136807291
Pages 432
Price $34.95

Based on the best-selling Threads Primer, Multithreaded Programming with Pthreads gives you a solid understanding of Posix threads: what they are, how they work, when to use them, and how to optimize them. It retains the clarity and humor of Threads Primer, but includes expanded comparisons to Win32 and OS/2 implementations. Code examples tested on all of the major UNIX platforms are featured along with detailed explanations of how and why they use threads.

Programming the PERL DBI: Database Programming with PERL
Available Barnes and Noble
Publisher O'Reilly & Associates, Incorporated
Authors Alligator Descartes, Tim Bunce
Pub Date February 2000
ISBN 1565926994
Pages 400
Price $27.96

Programming the Perl DBI is coauthored by Alligator Descartes, one of the most active members of the DBI community, and by Tim Bunce, the inventor of DBI. For the uninitiated, the book explains the architecture of DBI and shows you how to write DBI-based programs. For the experienced DBI dabbler, this book explains DBI's nuances and the peculiarities of each individual DBD.

The book includes:


1.6 MySQLの主な機能

MySQL の重要な特徴のいくつかを以下の項目にあげます:

1.7 MySQL はどれくらい安定か?

この節では、``MySQL はどれくらい安定か?'' と ``私はこのプロジェ クトの MySQL に依存できるか?'' という質問について回答します。

我々はここで、いくつかの問題を明らかにし、多くの人に関係すると思われるさ らに重要な質問のいくつかを回答することを試みます。この節は、メーリングリ スト(そこではとても活発にバグが報告されています)から取り込まれた情報が一 緒に置かれています。

TcX では、MySQL は 1996 中頃から我々のプロジェクトで何の問題も なく動いていました。広く公にリリースされた時、我々は、MySQL 内 に ``テストされていないコード'' の部分があることに注意しました。これは、 我々とは異なる方法でクエリを作成する新しいユーザによってすぐに見つけられました。 新しい各リリースは、(多くの新しい機能を持っているのに)前のものよりも問題 は少なくなります。そして次のリリースの一つを ``安定'' と呼ぶことができるよ うに我々は望んでいます。

MySQL の各リリースは実用的で、ユーザが ``グレイゾーン'' からの コードの使用を開始する時にだけ問題があります。当然、外部のユーザは、何が グレイゾーンかを知ることができません; この節で現在知られているこれらを示 してみます。 説明は MySQL の 3.23.x バージョンで扱われます。知られていて報告 されているバグは全て最新のバージョンで修正されています。bugs 節に 書かれているバグは除きます。それらは ``設計'' 関連のものです。 「G MySQL での既知のエラーと欠けているデザイン」節参照.

MySQL は複数の階層と様々な独立モジュールで書かれています。これ らのモジュールは、それぞれがどのようにテストされているかとともに次にリス トされています:

ISAM テーブル処理 -- 安定
これは MySQL バージョン 3.22 とそれ以前のバージョンにおいて、 全てのデータの保存と検索を管理します。全ての MySQL リリースでは、 このコード内には(報告された)バグは一つもありません。不正なテーブルを得る 唯一の方法は、更新の途中にあるサーバを殺すことだけです。そして各クエリ間 で全てのデータはディスクにフラッシュされるため、いかなるデータも 修復外の破壊が起こるということはまずないでしょう。 MySQL 内のバグのためにデータが 失われたというバグレポートは一つもありません。
MyISAM テーブルハンドラー -- 安定
これは MySQL バージョン 3.23 での新機能です. これは ISAM テーブルのコードを元に拡張されていますが、 多くの便利な機能を持っています。
パーサと単語解析 -- 安定
このシステム内には長い間バグは一つも報告されていません。
C クライアントコード -- 安定
知られている問題はありません。バージョン 3.20 リリースの初期には、送信/受信バッファ サイズにいくつかの制限がありました。バージョン 3.21.x 以降、バッファはデフォルトの 16M まで動的に大きくなります。
標準クライアントプログラム -- 安定
これらは mysql, mysqladmin, mysqlshow, mysqldump, mysqlimport を含みます.
基本的な SQL -- 安定
基本的な SQL 機能システムと文字列節と動的メモリ処理。このシステムには報 告されたバグは一つもありません。
クエリオプティマイザ -- 安定
範囲オプティマイザ -- 安定
結合オプティマイザ -- 安定
ロック -- ガンマ
これはとてもシステムに依存しています。いくつかのシステムでは、これは、標 準 OS ロック (fcntl) を使用するため大きな問題があります。これらの場合で は、MySQL デーモンを --skip-locking フラグつきで動かすべ きです。知られている問題は、いくつかの Linux システムと NFS マウントされ たファイルシステム使用時の SunOS です。
Linux スレッド -- 安定
fcntl() コールでだけ問題が見つかっています。これは mysqld への --skip-locking オプションの使用で修正できます。何人かは バージョン 0.5 リリースで lockup 問題を報告しました。1000以上の同時接続を使用する予 定であれば、LinuxThreads を再コンパイルする必要があります。しかし、デフォ ルトの LinuxThread でも多くの接続を実行することは可能です(しかし 1021 以 上にならないようにしてください)。デフォルトの 2MB のスタック空間は、アプ リケーションを不安定にします。そして 1021 個のアイドル接続の生成後に coredump を引き起こします。詳しくは Linux Notes をご覧ください。
Solaris 2.5+ pthread -- 安定
我々は、我々の全ての製品でこれを使用しています。
MIT スレッド (他のシステム) -- 安定
バージョン 3.20.15 から報告されたバグはありません。バージョン 3.20.16 から知られたバグはありま せん。いくつかのシステムでは、いくつかの操作が遅くなるという ``misfeature'' があります(1/20 秒の sleep が各クエリ間で行なわれます)。 もちろん、MIT スレッドはすべてを少し遅くします。しかしインデックスベース の SELECT では、ステートメントは通常一度のフレームで行われるため、 mutex locking/thread juggling はありません。
他のスレッド実装 -- ベータ - ガンマ
他のシステムへの移行はまだとても新しく、多分 MySQL に、しかし一 番多いのはスレッド実装自身に、多くのバグを持っています。
LOAD DATA..., INSERT ... SELECT -- 安定
何人かはこれにバグを見つけたと考えましたが、それは結局誤解でした。問題の 報告の前にマニュアルを良くチェックしてください!
ALTER TABLE -- 安定
バージョン 3.22.12 で少し変更しました。
DBD -- 安定
現在、Jochen Wiedmann wiedmann@neckar-alb.de によってメンテされています。感謝!
mysqlaccess -- 安定
Yves.Carlier@rug.ac.be によって書かれメンテされてます。感謝!
GRANT -- 安定
MySQL 3.22.12 で大きな変更が行なわれました。
MyODBC (uses ODBC SDK 2.5) -- ガンマ
いくつかのプログラムでちゃんと動作しているように見えます。
Replication -- ベータ / ガンマ
我々はまだレプリケーションについて作業中なので、まだ堅固に頑丈だとは期待し ないでください。一方、MySQL ユーザの何人かはすでにこれを使用して 良い結果を得ています。
BDB Tables -- ベータ
Berkeley DB コードはとても安定していますが、我々は MySQL と BDB テーブル間のインタフェースをさらに向上しています。他のテーブル型と同じよう にテストされるまではいくらかの時間が掛かるでしょう。
InnoDB Tables -- Alpha
This is a very recent addition to MySQL and is not very tested yet.
MyISAM テーブルの自動修復 -- ベータ
テーブルが適切にクローズされたかどうかをオープン時にチェックし、行われてい ない場合にテーブルの自動チェック/修復を実行するという新しいコードだけに影 響します。
MERGE テーブル -- ベータ / ガンマ
MERGE テーブル上でのキーの使用は、まだテストされていません。 MERGE コードのほかの部分は完全にテストされています。
FULLTEXT -- ベータ
テキストの検索は動作しているように見えますが、まだ広く使用されていません。

MySQL AB は代金を支払った顧客のために email サポートを提供しています。しかし MySQL メーリングリストは通常、全ての一般的な質問に回答を提供し ています。バグは通常すぐにパッチで修正され、深刻なバグには、ほとんどいつ も新しいリリースがあります。

1.8 2000 年対応

MySQL 自身は 2000 年問題(Y2K)に対して何の問題も持っていません:

2000年安全でない方法で MySQL を使用するアプリケーションでは問題 になります。例えば、多くの古いアプリケーションは4桁値ではなく2桁値(これ は曖昧です)を使用して年を格納し操作します。この問題は、00 または 99 のような値を ``欠けている'' 値の表われとして使用するアプリケー ションによって作られます。

あいにく、これらの問題を修正するのは困難です。様々なアプリケーションが様々 なプログラムによって書かれていて、その各々が慣習と日付操作関数の様々な組 み合わせを使用するからです。

これは、MySQL が 2030 年までの日付に何の問題もないことを示す簡単なテスト です:

mysql> DROP TABLE IF EXISTS y2k;
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE TABLE y2k (date date, date_time datetime, time_stamp timestamp);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO y2k VALUES 
    -> ("1998-12-31","1998-12-31 23:59:59",19981231235959),
    -> ("1999-01-01","1999-01-01 00:00:00",19990101000000),
    -> ("1999-09-09","1999-09-09 23:59:59",19990909235959),
    -> ("2000-01-01","2000-01-01 00:00:00",20000101000000),
    -> ("2000-02-28","2000-02-28 00:00:00",20000228000000),
    -> ("2000-02-29","2000-02-29 00:00:00",20000229000000),
    -> ("2000-03-01","2000-03-01 00:00:00",20000301000000),
    -> ("2000-12-31","2000-12-31 23:59:59",20001231235959),
    -> ("2001-01-01","2001-01-01 00:00:00",20010101000000),
    -> ("2004-12-31","2004-12-31 23:59:59",20041231235959),
    -> ("2005-01-01","2005-01-01 00:00:00",20050101000000),
    -> ("2030-01-01","2030-01-01 00:00:00",20300101000000),
    -> ("2050-01-01","2050-01-01 00:00:00",20500101000000);
Query OK, 13 rows affected (0.01 sec)
Records: 13  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM y2k;
+------------+---------------------+----------------+
| date       | date_time           | time_stamp     |
+------------+---------------------+----------------+
| 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
| 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
| 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
| 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
| 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
| 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
| 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
| 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
| 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
| 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
| 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
| 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
| 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
+------------+---------------------+----------------+
13 rows in set (0.00 sec)

これは、DATEDATETIME 型は未来のいかなる日付において 問題のないことををしめします (これら日付は 9999 年まで扱えます)

TIMESTAMP 型は、時刻を保存しますが、2030-01-01 までです。 TIMESTAMP は 32-bit マシンでは 1970 から 2030 の範囲です。 64-bit マシンでは、 2106 年まで扱えれます。

MySQL は 2000年対応ですが、曖昧でない入力を提供するのはあなたの 責任です。曖昧な日付の入力データ(2桁の年の値)の扱いについての MySQL の規則については 「7.3.6.1 西暦2000年問題とデータ型」節 を参照してください。

1.9 一般的な SQL 情報とチュートリアル

この本は MySQL メーリングリストの数人によって推奨されています:

Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky
The Practical SQL Handbook: Using Structured Query Language
Second Edition
Addison-Wesley
ISBN 0-201-62623-3
http://www.awl.com

この本も MySQL ユーザーにいくつかの推薦を受けています:

Martin Gruber
Understanding SQL
ISBN 0-89588-644-8
Publisher Sybex 510 523 8233
Alameda, CA USA

SQL チュートリアルがネット上にあります http://w3.one.net/~jhoffman/sqltut.htm

1.10 便利な MySQL 関連リンク

次のリンク以外にも、多くの MySQL プログラム、ツール、API を Contrib directory から見つけてダウ ンロードすることができます。

MySQL

1.10.1 Tutorials and Manuals

MySQL Myths Debunked
MySQL used in the real world.
http://www.4t2.com/mysql
Information about the German MySQL mailing list.
http://www2.rent-a-database.de/mysql/
MySQL handbook in German.
http://www.bitmover.com:8888//home/bk/mysql
Web access to the MySQL BitKeeper repository.
http://www.analysisandsolutions.com/code/mybasic.htm
Beginners MySQL Tutorial on how to install and set up MySQL on a Windows machine.
http://www.devshed.com/Server_Side/MySQL/
A lot of MySQL tutorials.
http://mysql.hitstar.com/
MySQL manual in Chinese.
http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/
Setting Up a MySQL-based Web site.
http://www.hotwired.com/webmonkey/backend/tutorials/tutorial1.html
MySQL-Perl tutorial.
http://www.iserver.com/support/contrib/perl5/modules.html
Installing new Perl modules that require locally installed modules.
http://www.hotwired.com/webmonkey/databases/tutorials/tutorial4.html
PHP/MySQL Tutorial.
http://www.useractive.com/
Hands on tutorial for MySQL.

1.10.2 Porting MySQL/Using MySQL on Different Systems

http://xclave.macnn.com/MySQL/
The Mac OS Xclave. Running MySQL on Mac OS X.
http://www.prnet.de/RegEx/mysql.html
MySQL for Mac OS X Server.
http://www.latencyzero.com/macosx/mysql.html
Building MySQL for Mac OS X.
http://www.essencesw.com/Software/mysqllib.html
New Client libraries for the Mac OS Classic (Macintosh).
http://www.lilback.com/macsql/
Client libraries for Mac OS Classic (Macintosh).
http://sixk.maniasys.com/index_en.html
MySQL for Amiga

1.10.3 Perl-related Links

http://dbimysql.photoflux.com/
Perl DBI with MySQL FAQ.

1.10.4 MySQL Discussion Forums

http://www.weberdev.com/
Examples using MySQL; (check Top 20)
http://futurerealm.com/forum/futureforum.htm
FutureForum Web Discussion Software.

1.10.5 Commercial Applications that Support MySQL

http://www.supportwizard.com/
SupportWizard; Interactive helpdesk on the Web (This product includes a licensed copy of MySQL.)
http://www.sonork.com/
Sonork, Instant Messenger that is not only Internet oriented. It's focused on private networks and on small to medium companies. Client is free, server is free for up to 5 seats.
http://www.stweb.org/
StWeb - Stratos Web and Application server - An easy-to-use, cross platform, Internet/Intranet development and deployment system for development of web-enabled applications. The standard version of StWeb has a native interface to MySQL database.
http://www.rightnowtech.com/
Right Now Web; Web automation for customer service.
http://www.icaap.org/Bazaar/
Bazaar; Interactive Discussion Forums with Web interface.
http://www.phonesweep.com/
PhoneSweepT is the world's first commercial Telephone Scanner. Many break-ins in recent years have come not through the Internet, but through unauthorized dial-up modems. PhoneSweep lets you find these modems by repeatedly placing phone calls to every phone number that your organization controls. PhoneSweep has a built-in expert system that can recognize more than 250 different kinds of remote-access programs, including Carbon Copy(TM), pcANYWHERE(TM), and Windows NT RAS. All information is stored in the SQL database. It then generates a comprehensive report detailing which services were discovered on which dial-up numbers in your organization.

1.10.6 SQL クライアント と Report writers

urSQL
SQL Editor and Query Utility. Custom syntax highlighting, editable results grid, exportable result-sets, basic MySQL admin functions, Etc.. For windows.
MySQL Data Manager
MySQL Data Manager * is platform independent web client (written in perl) for MySQL server over TCP/IP.
http://ksql.sourceforge.net/
KDE MySQL client.
http://www.ecker-software.de
A Windows GUI client by David Ecker.
http://www.icaap.org/software/kiosk/
Kiosk; a MySQL client for database management. Written in Perl. Will be a part of Bazaar.
http://www.casestudio.com/
Db design tool that supports MySQL 3.23.
http://home.skif.net/~voland/zeos/eng/index.html
Zeos - A client that supports MySQL, Interbase and PostgreSQL.
http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html
A free report writer in Java
http://www.javaframework.de
MySQLExport - Export of MySQL create statements and data in a lot of different formats (SQL, HTML, CVS, text, ZIP, GZIP...)
http://dlabs.4t2.com
M2D, a MySQL Administration client for Windows. M2D supports administration of MySQL databases, creation of new databasess and tables, editing, and more.
http://www.scibit.com/Products/Software/Utils/Mascon.asp
Mascon is a powerful Win32 GUI for administering MySQL databases.
http://www.rtlabs.com/
MacSQL Monitor. GUI for MySQL, ODBC, and JDBC databases for the Mac OS.

1.10.7 Distributions that Include MySQL

http://www.suse.com/
SuSE Linux (6.1 and above)
http://www.redhat.com/
RedHat Linux (7.0 and above)
http://distro.conectiva.com.br
Conectiva Linux (4.0 and above)

1.10.8 Web Development Tools that Support MySQL

http://www.php.net/
PHP: A server-side HTML-embedded scripting language.
http://www.midgard-project.org
The Midgard Application Server; a powerful Web development environment based on MySQL and PHP.
http://www.smartworker.org
SmartWorker is a platform for Web application development.
http://xsp.lentus.se/
XSP: e(X)tendible (S)erver (P)ages and is a HTML embedded tag language written in Java (previously known as XTAGS.)
http://www.dbServ.de/
dbServ is an extension to a web server to integrate database output into your HTML code. You may use any HTML function in your output. Only the client will stop you. It works as standalone server or as Java servlet.
http://www.chilisoft.com/
Platform independent ASP from Chili!Soft
http://www.voicenet.com/~zellert/tjFM
A JDBC driver for MySQL.
http://www.wernhart.priv.at/php/
MySQL + PHP demos.
http://www.dbwww.com/
ForwardSQL: HTML interface to manipulate MySQL databases.
http://www.daa.com.au/~james/www-sql/
WWW-SQL: Display database information.
http://www.minivend.com/minivend/
Minivend: A Web shopping cart.
http://www.heitml.com/
HeiTML: A server-side extension of HTML and a 4GL language at the same time.
http://www.metahtml.com/
Metahtml: A Dynamic Programming Language for WWW Applications.
http://www.binevolve.com/
VelocityGen for Perl and Tcl.
http://hawkeye.net/
Hawkeye Internet Server Suite.
http://www.fastflow.com/
Network Database Connection For Linux
http://www.wdbi.net/
WDBI: Web browser as a universal front end to databases which supports MySQL well.
http://www.webgroove.com/
WebGroove Script: HTML compiler and server-side scripting language.
http://www.ihtml.com/
A server-side Web site scripting language.
ftp://ftp.igc.apc.org/pub/myodbc/README
How to use MySQL with ColdFusion on Solaris.
http://calistra.com/MySQL/
Calistra's ODBC MySQL Administrator.
http://www.webmerger.com
Webmerger - This CGI tool interprets files and generates dynamic output based on a set of simple tags. Ready-to-run drivers for MySQL and PostgreSQL through ODBC.
http://phpclub.net/
PHPclub - Tips and tricks for PHP.
http://www.penguinservices.com/scripts
MySQL and Perl Scripts.
http://www.widgetchuck.com
The Widgetchuck; Web Site Tools and Gadgets
http://www.adcycle.com/
AdCycle - advertising management software.
http://sourceforge.net/projects/pwpage/
pwPage - provides an extremely fast and simple approach to the creation of database forms. That is, if a database table exists and an HTML page has been constructed using a few simple guidelines, pwPage can be immediately used for table data selections, insertions, updates, deletions and selectable table content reviewing.
http://www.omnis-software.com/products/studio/studio.html
OMNIS Studio is a rapid application development (RAD) tool.
http://www.webplus.com
talentsoft Web+ 4.6 - a powerful and comprehensive development language for use in creating web-based client/server applications without writing complicated, low-level, and time-consuming CGI programs.

1.10.9 Database Design Tools with MySQL Support

http://www.mysql.com/documentation/dezign/
"DeZign for databases" is a database development tool that uses an entity relationship diagram (ERD).

1.10.10 Web Servers with MySQL Tools

http://bourbon.netvision.net.il/mysql/mod_auth_mysql/
An Apache authentication module.
http://www.roxen.com/
The Roxen Challenger Web server.

1.10.11 Extensions for Other Programs

http://www.seawood.org/msql_bind/
MySQL support for BIND (The Internet Domain Name Server).
http://www.inet-interactive.com/sendmail/
MySQL support for Sendmail and Procmail.

1.10.12 Using MySQL with Other Programs

http://www.iserver.com/support/addonhelp/database/mysql/msaccess.html
Using MySQL with Access.
http://www.iserver.com/support/contrib/perl5/modules.html
Installing new Perl modules that require locally installed modules.

1.10.13 ODBC 関連リンク

http://www.iodbc.org/
Popular iODBC Driver Manager (libiodbc) now available as Open Source.
http://users.ids.net/~bjepson/freeODBC/
The FreeODBC Pages.
http://genix.net/unixODBC/
The unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on the Linux platform. This is to include GUI support for KDE.
http://www.sw-soft.com/products/BtrieveODBC/
A MySQL-based ODBC driver for Btrieve.

1.10.14 API 関連リンク

http://www.jppp.com/
Partially implemented TDataset-compatible components for MySQL.
http://www.riverstyx.net/qpopmysql/
qpopmysql - A patch to allow POP3 authentication from a MySQL database. There's also a link to Paul Khavkine's patch for Procmail to allow any MTA to deliver to users in a MySQL database.
http://www.pbc.ottawa.on.ca
Visual Basic class generator for Active X.
http://www.essencesw.com/Software/mysqllib.html
New Client libraries for the Mac OS Classic (Macintosh).
http://www.lilback.com/macsql/
Client libraries for the Macintosh.
http://www.essencesw.com/Plugins/mysqlplug.html
Plugin for REALbasic (for Macintosh)
http://www.iis.ee.ethz.ch/~neeri/macintosh/gusi-qa.html
A library that emulates BSD sockets and pthreads on Macintosh. This can be used if you want to compile the MySQL client library on Mac. It could probably even be sued to port MySQL to Macintosh, but we don't know of anyone that has tried that.
http://www.dedecker.net/jessie/scmdb/
SCMDB - an add-on for SCM that ports the mysql C library to scheme (SCM). With this library scheme developers can make connections to a mySQL database and use embedded SQL in their programs.

1.10.15 Other MySQL 関連リンク

SAT
The Small Application Toolkit (SAT) is a collection of utilities intended to simplify the development of small, multi-user, GUI based applications in a (Microsoft -or- X) Windows Client / Unix Server environment.
http://www.wix.com/mysql-hosting/
Registry of Web providers who support MySQL.
http://www.softagency.co.jp/mysql/index.en.html
Links about using MySQL in Japan/Asia.
http://abattoir.cc.ndsu.nodak.edu/~nem/mysql/udf/
MySQL UDF Registry.
http://www.open.com.au/products.html
Commercial Web defect tracking system.
http://www.stonekeep.com/pts/
PTS: Project Tracking System.
http://tomato.nvgc.vt.edu/~hroberts/mot
Job and software tracking system.
http://www.cynergi.net/non-secure/exportsql/
ExportSQL: A script to export data from Access95+.
http://SAL.KachinaTech.COM/H/1/MYSQL.html
SAL (Scientific Applications on Linux) MySQL entry.
http://www.infotech-nj.com/itech/index.shtml
A consulting company which mentions MySQL in the right company.
http://www.pmpcs.com/
PMP Computer Solutions. Database developers using MySQL and mSQL.
http://www.aewa.org/
Airborne Early Warning Association.
http://www.dedserius.com/y2kmatrix/
Y2K tester.

1.10.16 SQL and Database Interfaces

http://java.sun.com/products/jdbc/
The JDBC database access API.
http://www.gagme.com/mysql
Patch for mSQL Tcl.
http://www.amsoft.ru/easysql/
EasySQL: An ODBC-like driver manager.
http://www.lightlink.com/hessling/rexxsql.html
A REXX interface to SQL databases.
http://www.mytcl.cx/
Tcl interface based on tcl-sql with many bugfixes.
http://www.binevolve.com/~tdarugar/tcl-sql/
Tcl interface.
http://www.contrib.andrew.cmu.edu/~shadow/sql.html
SQL Reference Page with a lot of interesting links.

1.10.17 MySQL 使用例

http://www.little6.com/about/linux/
Little6 Inc., An online contract and job finding site that is powered by MySQL, PHP3, and Linux.
http://www.delec.com/is/products/prep/examples/BookShelf/index.html
DELECis - A tool that makes it very easy to create an automatically generated table documentation. They have used MySQL as an example.
http://www.worldrecords.com
World Records - A search engine for information about music that uses MySQL and PHP.
http://www.webtechniques.com/archives/1998/01/note/
A Contact Database using MySQL and PHP.
http://modems.rosenet.net/mysql/
Web based interface and Community Calendar with PHP.
http://www.odbsoft.com/cook/sources.htm
Perl package to generate html from a SQL table structure and for generating SQL statements from an html form.
http://www.gusnet.cx/proj/telsql/
Basic telephone database using DBI/DBD.
http://tecfa.unige.ch/guides/java/staf2x/ex/jdbc/coffee-break
JDBC examples by Daniel K. Schneider.
http://www.spade.com/linux/howto/PostgreSQL-HOWTO-41.html
SQL BNF
http://www.ooc.com/
Object Oriented Concepts Inc; CORBA applications with examples in source.
http://www.pbc.ottawa.on.ca/
DBWiz; Includes an example of how to manage cursors in VB.
http://keilor.cs.umass.edu/pluribus/
Pluribus is a free search engine that learns to improve the quality of its results over time. Pluribus works by recording which pages a user prefers among those returned for a query. A user votes for a page by selecting it; Pluribus then uses that knowledge to improve the quality of the results when someone else submits the same (or similar) query. Uses PHP and MySQL.
http://www.stopbit.com/
Stopbit - A technology news site using MySQL and PHP.
http://www.linuxsupportline.com/~kalendar/
KDE based calendar manager - The calendar manager has both single user (file based) and multi-user (MySQL database) support.
http://tim.desert.net/~tim/imger/
Example of storing/retrieving images with MySQL and CGI.
http://www.penguinservices.com/scripts
Online shopping cart system.
http://www.city-gallery.com/album/
Old Photo Album - The album is a collaborative popular history of photography project that generates all pages from data stored in a MySQL database. Pages are dynamically generated through a php3 interface to the database content. Users contribute images and descriptions. Contributed images are stored on the web server to avoid storing them in the database as BLOBs. All other information is stored on the shared MySQL server.

1.10.18 General Database Links

http://www.pcslink.com/~ej/dbweb.html
Database Jump Site
http://black.hole-in-the.net/guy/webdb/
Homepage of the webdb-l (Web Databases) mailing list.
http://www.symbolstone.org/technology/perl/DBI/index.html
Perl DBI/DBD modules homepage.
http://www.student.uni-koeln.de/cygwin/
Cygwin tools. Unix on top of Windows.
http://dbasecentral.com/
dbasecentral.com; Development and distribution of powerful and easy-to-use database applications and systems.
http://www.tek-tips.com/
Tek-Tips Forums are 800+ independent peer-to-peer non-commercial support forums for Computer Professionals. Features include automatic e-mail notification of responses, a links library, and member confidentiality guaranteed.
http://www.public.asu.edu/~peterjn/btree/
B-Trees: Balanced Tree Data Structures.
http://www.fit.qut.edu.au/~maire/baobab/lecture/sld001.htm
A lecture about B-Trees.

MySQL を使用した多くの web ページもあります。 「B Some MySQL Users」節参照。この リストへ追加できるものを webmaster@mysql.com に送ってください。 あなたのサイトを追加してほしいとあなたが望む場合、我々は MySQL の ロゴをどこかに示すことを要求しています。(``使用ツール'' ページや似たような どこか上で構いません。)


Go to the first, previous, next, last section, table of contents.