SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

MySQL事始

MySQL事始 データ型

第7回


2038年問題と2069年問題と2156年問題

DATE型とDATETIMEは最大9999年まで格納できるので、長期の未来日時を格納する場合はこのデータ型を使います。TIMESTAMP型とYEARには格納できる日付の範囲に制限があるため注意が必要です。

  • 2038年問題:MySQLのTIMESTAMP型では、1970年1月1日0時 (Unix epoch)からの経過時間を31ビットで表現しているため、2038年1月19日3時14分7秒以降の値を格納できない。
    参照: http://ja.wikipedia.org/wiki/2038年問題
  • 2069年問題:MySQLの関数などではYEARのデータを2桁または4桁で表現できるが、2桁で表現した場合、00-69の範囲の年の値は2000-2069に、70-99の範囲の年の値は1970-1999に変換される。
  • 2156年問題:4桁で年を表現しても、YEARで格納できる範囲は1901-2155のため、2156年以降の値を格納できない。

文字列型

文字列型の特徴は文字コードCHARACTER SETおよび文字の照合順序COLLATIONを利用できることにあります。MySQLで利用できる日本語関連の文字コードは第2回を、文字の照合順序は第3回を参照してください。

格納するデータ型には、固定長と可変長があります。ただし、実際どのように格納されるかはストレージエンジンに依存します。MyISAMの場合には格納するデータに応じて固定長と可変長を選択することで各テーブルの行フォーマットが固定長か可変長かが決まりますが、InnoDBの場合にはすべて可変長として、MEMORYの場合にはすべて固定長となります(MEMORYは各TEXT型利用不可)。

CHAR型とVARCHARの場合には最大の文字数を明示的に指定できます。また各データ型には格納可能なサイズにそれぞれ上限があります。ここでのサイズはバイト単位となっており、文字コードによって格納できる文字数に違いが出ます。最大65,536バイト格納可能なTEXTの場合、1文字あたり1バイトのasciiでは65,536文字、1文字あたり2バイトのcp932では32,767文字、1文字あたり4バイトのutf8mb4では16,384文字となります(ここで書いている1文字あたりのバイト数は最大のサイズのため、1バイト文字が含まれる場合などはより多い文字が格納可能となります)。CHAR型とTINYTEXT型は最大サイズが765バイトですが、格納可能な文字数はどの文字コードの場合でも255バイトです。

データ型 最大サイズ
CHAR 1,020Byte
VARCHAR 65,533Byte
TINYTEXT 1,020Byte
TEXT 64KB
MEDIUMTEXT 16MB
LONGTEXT 4GB

次のページ
バイナリ型

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
MySQL事始連載記事一覧

もっと読む

この記事の著者

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

日本オラクル MySQL Global Business Unit Asia Pacific & Japan担当 MySQLソリューション・エンジニアリング・ディレクターオラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なM...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3457 2012/02/10 17:56

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング