MySQLのデータ型

  • 数値型
  • 日付型
  • 文字列型

数値型

主に使用するのは以下。[]は任意指定、指定しない場合はデフォルト値が適用されます。
    * M...桁数
    * D...小数点以下の桁数
    * p...精度

種類バイト長意味
INT[(M)] or INTEGER[(M)] *4バイト整数
DOUBLE[(M,D)]8バイト浮動小数点
* 数字を扱うならINTで殆ど大丈夫です。


その他数値型

種類バイト長意味
TINYINT[(M)]1バイト整数
SMALLINT[(M)]2バイト整数
MEDIUMINT[(M)]3バイト整数
BIGINT[(M)]8バイト整数
FLOAT[(M,D)]4バイト浮動小数点
FLOAT(p)4バイト or 8バイト浮動小数点、単精度では0〜24、倍精度では25〜53、ODBC互換用
DOUBLE PRECISION[(M,D)]8バイトDOUBLEと同じ
REAL[(M,D)]8バイトDOUBLEと同じ
DECIMAL[(M[,D])]-桁数が決められた数値、MySQL5.0.5以上でMは65(MySQL5.0.3以上でMは64)Dは30まで、5.0.3より前では文字列として格納
DEC[(M[,D])]-DECIMALと同じ
NUMERIC[(M[,D])]-DECIMALと同じ
FIXED[(M[,D])]-DECIMALと同じ、MySQL4.1.0から
BOOL-TINYINT(1)と同じ、0はfalse、0以外はtrue、MySQL4.1.0から
BOOLEAN-BOOLと同じ、MySQL4.1.0から
BIT[(M)]-ビット列、Mは1〜64、MySQL4.1.0から、MySQL5.0.3からMyISAMで、MySQL5.0.5からInnoDBとMemoryで利用可



日付型

種類意味
DATE年月日、YYYY-MM-DD
DATETIME年月日時刻、YYYY-MM-DD HH:MM:SS
TIME時刻、HH:MM:SS
TIMESTAMP[(M)]データ追加や更新時に時刻が自動的に格納、YYYY-MM-DD HH:MM:SS、Mは14,12,8,6を指定
YEARYEAR(4)またはYEARでYYYY、YEAR(2)でYY、YYYYでは1901から2155年まで、YYの場合は1970から2069まで




文字列型

Lは文字数(MySQL4.1未満はバイト数)、Mはバイト数。
種類意味
CHAR(L)[BINARY or ASCII or UNICODE]固定長文字列、CHARのみ指定はCHAR(1)、BINARY指定でアルファベットの大文字/小文字を区別、Lは0〜255、MySQL4.1.0からASCII指定でlatin1文字コードセット、UNICODEでucs2文字コードセット
VARCHAR(L)[BINARY]可変長文字列、Lは0〜65,535バイト
TEXT[(M)]最大長65,535バイトの文字列、アルファベットの大文字、小文字の区別なし
MEDIUMTEXT最大長16,777,215バイトの文字列、アルファベットの大文字、小文字の区別なし
LONGTEXT最大長4,294,967,295バイトあるいは4Gバイトの文字列、アルファベットの大文字、小文字の区別なし
BLOB[(M))]最大長65,535バイトのバイナリ
MEDIUMBLOB最大長16,777,215バイトのバイナリ
LONGBLOB]最大長4,294,967,295バイトあるいは4Gバイトのバイナリ




その他の文字列型

種類意味
NATIONAL CHAR(L)CHAR(L)と同じ
NCHAR(L)CHAR(L)と同じ
CHARACTER(L)CHAR(L)と同じ
BINARY(M)バイナリ、MySQL4.1.2から
VARBINARY(M)可変長バイナリ、MySQL4.1.2から
TINYTEXT最大長255バイトの文字列
TINYBLOB最大長255バイトのバイナリ
ENUM(値1,値2,値3,...)フィールドに入力可能な値のリスト、値は最大65,535個まで、ORDER BYの並び順はインデックス順
SET(値1,値2,値3,...)フィールドに入力可能な値のリスト、値は最大64個まで、フィールドにはリストのデータから複数個入力できる






プロフィール



  • Name :: 山上オサム ♂(37)
  • Hobby :: 武術
  • Work :: Web Designer