mysqlフィールドタイプ説明


MySQLは大量の列タイプをサポートしています。数字タイプ、日付タイプ、および文字列(文字)タイプに分類できます。このセクションではまず、利用可能なタイプの概要を示し、各列のタイプの記憶需要をまとめ、各クラスのタイプの特性についてより詳細な説明を提供する。要約は意図的に簡略化され、より詳細な説明は、特定の列タイプに関する追加情報、例えば、値を指定できる許容フォーマットを考慮しなければならない。MySQLでサポートされている列の種類は以下の通りです。下記のコードのアルファベットは説明に用いられます。Mは最大の表示サイズを示します。最大の合法的な表示サイズは 255 。 Dは浮動小数点タイプに適しており、小数点以下の小数点に従う数を指摘する。最大可能な値は30ですが、M-2より大きくないはずです。四角い括弧('および'))は、任意の種類の修飾子の部分を示しています。なお、ZEROFILLを指定すると、MySQLはこの列にUNSIGNED属性を自動的に増加します。TINNY INT[(M)] [UNSIGNED] [ZEROFILLはとても小さい整数です。符号付きの範囲は-128から127までで、符号なしの範囲は0から255までです。SMALLINE[(M)] [UNSIGNED] [ZEROFILLは小さな整数です。記号付きの範囲は-32768から32767までで、符号なしの範囲は0から65535までです。MEDIUMINT[(M)] [UNSIGNED] [ZEROFILLの中ぐらいの大きさの整数。記号付きの範囲は-8388608から8388607までで、符号なしの範囲は0から16777215までです。INT[(M)] [UNSIGNED] [ZEROFILL)通常サイズの整数。記号付きの範囲は-2147483648から2147483647までで、無記号の範囲は0から4294967295までです。INTEGER[(M)] [UNSIGNED] [ZEROFILLはINTの同義語です。BIGINT[(M)] [UNSIGNED] [ZEROFILLは大きな整数です。記号の範囲は-92232372036854775808から922323720368775807までで、無記号の範囲は0から18467440737051615までです。注意してください。すべての算術演算は記号付きBIGINTまたはDOUBLE値で行われます。したがって、ビット関数を除いて9223720368547707(63桁)より大きい整数を使用するべきではありません。なお、2つのパラメータがINTEGER値の場合は、-、+および*はBIGINT演算を使用します。これは2つの大きな整数(または戻り整数の関数)に乗ると、結果が92237203687707より大きい場合、思いがけない結果を得ることができるという意味です。浮動小数点数は、符号なしではなく、シングル精度の浮動小数点数に対して、その精度は<= 24,ダブル精度の浮動小数点数は25である。 これらのタイプは、FLOATおよびDOUBLEタイプのようなもので、すぐに以下に説明される。FLOAT(X)は対応するFLOATとDOUBLEと同じ範囲がありますが、表示サイズと小数点以下の桁数は定義されていません。MySQL 3.23では、これは本当の浮動小数点の値です。もっと早いMySQLバージョンでは、FLOATはいつも2桁の小数点を持っています。この構文はODBC互換性のために提供される。FLOAT[(M,D)] [ZEROFILLは、小さな浮動小数点数です。符号なしではいけません。許容値は-3.40282366E+38から-1.17549515 E-38までで、0 と1.175494351 E-38から3.40282366 E+38までです。Mは表示幅であり、Dは小数の桁数である。パラメータがないFLOATまたはある<24 のパラメータは単一の精密な浮動小数点数を表します。DOUBLE[(M,D)] [ZEROFILL正常サイズ(ダブル精密)浮動小数点数。符号なしではいけません。許容値は-1.7976931348623157 E+308から-2.22507385072014 E-308までであり、 0と2.2250738585072014 E-308から1.7976931348623157 E+308まで。Mは表示幅であり、Dは小数点以下の桁数である。パラメータがありません。 DOUBLEまたはFLOAT(X)(25 < = X < = 53)二重の精密な浮動小数点の数字を表します。DOUBLE PRECISION[(M,D)] [ZEROFILL]REAL[(M,D)] [これらはDOUBLE同義語です。DECIMAL[(M[,D]]] [ゼロFILLは圧縮されていない浮動小数点数です。符号なしではいけません。動作はCHAR列のようです。「非圧縮」は文字列として数字が格納されることを意味し、値の各ビットは文字を使用します。小数点以下で、負の数に対して「-」記号はMで計算されません。Dが0の場合、値は小数点以下ではない。DECIMAL値の最大範囲はDOUBLEと同じですが、与えられた DECIMAL列は、実際の範囲はMとDの選択によって制限されます。Dが省略されると0に設定されます。Mが省略されると10に設定されます。注意して、MySQL 3.22において、 Mパラメータは符号と小数点を含む。NUMERIC(M,D) [ZEROFILLはDECIMALの同義語です。DATEの日付。サポートの範囲は'1000-01-01'から'9999-12-31'までです。MySQLは「YYYY-M-DD」形式でDATE値を表示しますが、文字列または数字を使ってDATE列に値を割り当てることができます。 注:初値を付与するとPHPでnow()が使用できます。DATETIMEは日付と時間の組み合わせです。サポートの範囲は'1000-01-01 00:00:00'は'9999-12-31までです。 23:59:59です。MySQL以'YYY-M-DD HH:MM:SS'形式はDATETIME値を表示しますが、文字列または数字を使ってDATETIMEの列に値を付与することができます。TIMESTAMP[(M)]をタイムスタンプします。範囲は'1970-01-01 00:00:00'から2037年のある時までです。MySQLは、YYYYYMMDDHMMSS、YYMMDDHMMSS、YYYYMMDDまたはYYYMMDDフォーマットでTIMESTAMP値を表示し、Mが14かどうか(または省略)、12か8か6かによって異なりますが、文字列または数字を使ってTIMESTAMP列に値を付与することができます。一つ TIMESTAMP列は、INSERTやUPDATE操作の日時を記録するのに有用です。自分で値を付けないと、自動的に最近の操作の日付と時刻に設定されます。NULL値を付与することで、現在の日付と時刻を設定できます。タイムは一時間です。範囲は'-838:59'から'838:59までです。MySQLは'HH:MM:SS'形式でTIME値を表示しますが、文字列または数字を使ってTIME列に値を付与することができます。YEAR[(2|4)]数字の2桁または4桁の年(デフォルトは4桁)です。許可値は1901から2155までで、0000(4桁の年式)となります。2桁を使用すると、1970-2069( 70-69)MySQLはYYYY形式でYAR値を表示しますが、使用文字列または数字値をYEAR列に割り当てることができます。YEAタイプはMySQL 3.22の中で新しいタイプです。)CHAR(M) [BINARY]固定長文字列は、記憶するとき、常に右から指定された長さまでスペースで埋めます。Mの範囲は1です ~ 255文字です。値が検索されると、スペースの末尾が削除されます。CHAR値は、デフォルトの文字セットに従って、BINARYキーワードを与えない限り、大文字と小文字の区別なく並べ替えられ、比較される。NATIONAL CHAR(短形NCHAR)はANSIです。 SQLの方法でCHAR列を定義するには、デフォルトの文字セットを使用すべきである。これはMySQLのデフォルトです。CHARはCHARACERの略語です。NATIONAL] VRCHAR(M) [BINARY]文字列が長くなります。注意:値が格納されている場合、末尾のスペースが削除されます。これはANSIとは異なります。 SQL仕様)Mの範囲は1です ~ 255文字です。 VRCHAR値は、デフォルトの文字セットに従って、BINARYキーワード値を与えない限り、大文字と小文字の区別なく並べ替えられ、比較される。 VRCHARはCHARACTRです VERYINGの略語。TINYBLOB TINYTEXT BLOBまたはTEXT列の最大長さは255文字です。BLOBはバイナリファイルを処理します。アップロードファイルは使えます。TEXTはBLOBまたはTEXT列で、最大長さは65535(2^16-1)の文字です。MEDIUMBLOB MEDIUMTEXTはBLOBまたはTEXT列で、最大長は16777215(2^24-1)の文字です。LONGBLOB LONGTEXTはBLOBまたはTEXT列で、最大長は4294967295(2^32-1)文字です。ENUM('value 1'、'value 2'、...)列挙。一つの値しかない文字列オブジェクトは、この値式は値リスト'value 1'、'value 2'から選択され、 ...,またはNULLです。一つのENUMは最大65535の異なる値を持つことができます。SET('value 1'、'value 2')の集合。ゼロまたは複数の値のある文字列オブジェクトがあります。各文字列は値リスト'value 1'から必要です。 'value 2'は、 ...選出する。一つのSETは最大64人のメンバーがいます。