Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)テクノロジーでビジネスを加速するための実践Webメディア

テーマ別に探す

MySQLにおけるデータベース作成&テーブル作成&サンプルデータ登録

2011/06/23 07:00

MySQLでは、テーブルやインデックスのまとまりをデータベースと呼んでいます。またスキーマという用語も、MySQLではデータベースと同じです。MySQL以外の多くのデータベースにはスキーマ所有者という概念がありますが、MySQLには所有者の概念はありません。

MySQLにおけるデータベースとは

MySQLでは、テーブルやインデックスのまとまりをデータベースと呼んでいます。またスキーマという用語も、MySQLではデータベースと同じです。MySQL以外の多くのデータベースにはスキーマ所有者という概念がありますが、MySQLには所有者の概念はありません。

MySQLにおけるデータベース

データベース作成

データベースを作成するSQL文は以下の通りです。

 CREATE DATABASE データベース名
 [CHARACTER SET = 文字コード名, COLLATION = COLLATION名];

 ※ []内は必須ではないオプションです

データベース作成時に利用できるオプションは文字コードCHARACTER SETおよび文字の照合順序COLLATION です。サーバ全体で文字コードを指定している場合には個別のデータベースで再度指定する必要は通常はありません。なんらかの理由で特定のデータベースの文字コードを変更したい場合のみに変更します。

文字の照合順序とは、例えばひらがなとカタカナ、または全角と半角のある文字、またはを別の文字を同一の文字と見なすかなどを挙動を設定します。どのような文字か同一と見なされるかは、MySQLユーザ会会長とみたまさひろさんのブログにまとめられていますので参照してください。

テーブル作成

データベースを作成するSQL文は以下の通りです。主なオプションのみ記載します。

CREATE TABLE テーブル名
  (列の定義) [テーブルオプション]

列の定義は、列の名称とデータ型、列のオプションの組み合わせになります。列のオプションでは、その列をインデックスに指定する場合は種類などが設定できます。他にも列ごとに文字コードを定義することや、初期値および制約の設定もオプションとして設定可能です。具体的な構文の例は後ほど改めて紹介します。

インデックスの種類
種類 定義オプション名 詳細
主キー PRIMARY  行を識別するための列。重複する値は格納できず、NULLも格納できない。
ユニークキー UNIQUE 主キーに似て、重複する値は格納できないが、NULLは格納できる。
ノンユニークキー KEY 重複する値は格納できる。
空間インデックス SPATIAL 座標などの空間情報を格納するための特殊なインデックス ※MyISAMのみ
全文検索インデックス FULLTEXT 全文検索のための特殊なインデックス ※日本語非対応

 

※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコ...

バックナンバー

連載:MySQL事始

もっと読む

この記事もオススメ

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5