MySQL よくある技術的なご質問

過去にお問い合わせいただいたご質問と回答をご紹介いたします。
  1. ORDER BY 句を指定しないで SELECT 文を実行した場合、結果はどういう順序で返ってくるか決まっているのですか?

    結果がどういう順序で返ってくるかは分かりません。

    [⇒個別ページで表示]
  2. auto_increment フィールドに 0 か NULL を挿入した場合、0 から採番されるのでしょうか?

    0 からの採番はできません。auto_increment フィールドは 1 以上の値になります。

    [⇒個別ページで表示]
  3. ストレージエンジンとは何ですか?

    MySQL はデータの保存形式を複数持っています。その保存形式により、機能や特徴、パフォーマンスが変わります。
    これをストレージエンジンと呼んでいます。

    [⇒個別ページで表示]
  4. 標準のストレージエンジンは何になりますか?

    ほとんどの場合、標準のストレージエンジンは MyISAM です。
    テーブル作成文で TYPE または ENGINE を指定しなければ、テーブルの型は MyISAM になります。
    ただし、Windows でインストーラを利用してインストールした場合、GUI 画面に従い MyISAM、InnoDB 両方を含むように設定を行えば、標準のストレージエンジンは InnoDB になります。

    [⇒個別ページで表示]
  5. 標準のストレージエンジンを変更するにはどうすればいいですか?

    例えば標準のストレージエンジンを InnoDB に変更したい場合には、起動時に
    mysqld_safe –default-storage-engine=InnoDB &
    というように、オプションを使用してください。
    あるいは、初期設定ファイルで[mysqld]下の行に
    default-storage-engine=INNODB
    と設定してください。

    [⇒個別ページで表示]
  6. mysql データベース(権限データベース)のテーブルのストレージエンジンは何ですか?また、このストレージエンジンは変更してもいいのですか?

    mysql データベース内のテーブルは権限テーブルと言い、そのストレージエンジンは MyISAM です。(ISAM 型でも使用できますが、MySQL 4.0 以降、一般に使用いたしません。またMySQL 5.0 では廃止されました。)
    ストレージエンジンを InnoDB などに変更してはいけません。

    [⇒個別ページで表示]
  7. データベース名、テーブル名は、大文字・小文字を区別するのですか?

    MySQL がインストールされている OS によります。
    デフォルトでは、Unix 系 OS では大文字・小文字を区別しますが、Windows では区別しません。

    [⇒個別ページで表示]
  8. フィールド名は、大文字・小文字を区別するのでしょうか?

    区別しません。

    [⇒個別ページで表示]
  9. InnoDB テーブルで、そのまま UPDATE、INSERT、DELETE を実行するとコミットされてしまいます。なぜですか?また、ロールバックできるようにするには、どうすればいいですか?

    デフォルトで「AUTOCOMMIT=1」になっているためです。
    トランザクション実行前に、「SET AUTOCOMMIT=0;」を実行して AUTOCOMMIT を無効にするか、または「BEGIN;」を実行します。

    [⇒個別ページで表示]
  10. MySQL に全文検索機能はあるのですか?

    MyISAM テーブルでは、FULLTEXT インデックスにより全文検索が可能です。
    ただし、現在のところ日本語には対応しておりません。
    有限会社未来検索ブラジルが開発した、オープンソースソフトウェアの Senna を MySQL に組み込めば全文検索が可能になります。

    [⇒個別ページで表示]
  11. MySQL 4.0 から MySQL 4.1 への主な変更点は何ですか?
    1. 文字の取扱い
      文字データ型のサイズ指定がバイトから文字数に変更
    2. キャラクタセットの取扱い
      日本語に関連する文字コード utf8, ucs2, cp932 の追加
    3. 文字コードの自動変換機能
    4. サブクエリ追加
    5. NDB クラスタ追加
    [⇒個別ページで表示]
  12. MySQL 4.1 から MySQL 5.0 への主な変更点は何ですか?
    1. ストアドプロシージャ追加
    2. トリガ追加
    3. ビュー追加
    4. 文字コード追加
      日本語に関連する文字コード eucjpms の追加
    5. FEDERATED エンジン
    [⇒個別ページで表示]