ホームページ > php教程 > php手册 > mysqlフィールドタイプの説明

mysqlフィールドタイプの説明

WBOY
リリース: 2016-06-13 12:31:32
オリジナル
874 人が閲覧しました

MySQL は多数のカラム タイプをサポートしており、数値タイプ、日付と時刻のタイプ、文字列 (文字) タイプの 3 つのカテゴリに分類できます。このセクションでは、最初に使用可能な型の概要を示し、各列型のストレージ要件を要約し、次に各クラスの型の性質についてより詳細に説明します。概要は意図的に簡略化されており、より詳細な説明では、値を指定できる許可された形式など、特定の列タイプに関する追加情報を考慮する必要があります。

MySQL でサポートされている列の型を以下に示します。説明では次のコード文字が使用されます。

M
最大表示サイズを示します。法定表示の最大サイズは 255 です。
D
は浮動小数点型に適用され、小数点以下の桁数を示します。可能な最大値は 30 ですが、M-2 を超えてはなりません。
角括弧 (「[」と「]」) は、オプションの型修飾子の部分を示します。

ZEROFILL を指定すると、MySQL は自動的に UNSIGNED 属性をカラムに追加することに注意してください。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
非常に小さい整数。符号付きの範囲は -128 ~ 127、符号なしの範囲は 0 ~ 255 です。


SMALLINT[(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]

大きな整数。符号付きの範囲は -9223372036854775808 ~ 9223372036854775807、符号なしの範囲は 0 ~

18446744073709551615 です。すべての算術演算は符号付き BIGINT または DOUBLE 値を使用して実行されるため、ビット関数を除き、9223372036854775807 (63 ビット) より大きい符号付き big 整数を使用しないでください。 2 つのパラメータが INTEGER 値である場合、- と * は BIGINT 演算を使用することに注意してください。これは、2 つの大きな整数を乗算すると (または整数を返す関数で乗算すると)、結果が 9223372036854775807 より大きい場合、予期しない結果が得られる可能性があることを意味します。浮動小数点数は、符号なしではできません。単精度浮動小数点数の場合、精度は 24 以下です。倍精度浮動小数点数の場合、精度は 25 ~ 53 になります。FLOAT などの型は、符号なしです。および DOUBLE 型については、すぐに以下で説明します。 FLOAT(X) の範囲は、対応する FLOAT および DOUBLE と同じですが、表示サイズと小数点以下の桁数は未定義です。 MySQL 3.23 では、これは真の浮動小数点値です。以前の MySQL バージョンでは、FLOAT(precision) には常に小数点以下 2 桁がありました。この構文は、ODBC との互換性のために提供されています。

FLOAT[(M,D)] [ZEROFILL]
小さい (単精度) 浮動小数点数。署名を外すことはできません。許可される値は、-3.402823466E 38 ~ -1.175494351E-38、0、および 1.175494351E-38 ~ 3.402823466E 38 です。 M は表示幅、D は小数点以下の桁数です。引数なし、または引数が 1 つある FLOAT
DOUBLE[(M,D)] [ZEROFILL]
通常サイズの (倍精度) 浮動小数点数。署名を外すことはできません。許可される値は、-1.7976931348623157E 308 ~ -2.2250738585072014E-308、0 および 2.2250738585072014E-308 ~ 1.7976931348623157E 308 です。 M は表示幅、D は小数点以下の桁数です。引数のない DOUBLE または FLOAT(X) (25
DOUBLE PRECISION[(M,D)] [ZEROFILL]


REAL[(M,D)] [ZEROFILL]
これらは DOUBLE の同義語です。

DECIMAL[(M[,D])] [ZEROFILL]
アンパックされた浮動小数点数。署名を外すことはできません。 CHAR 列のように動作します。「非圧縮」とは、値の各ビットに 1 つの文字を使用して、数値が文字列として格納されることを意味します。小数点と負の数の場合、「-」記号は 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 は DATE 値を「YYYY-MM-DD」形式で表示しますが、文字列または数値を使用して DATE カラムに値を割り当てることができます。注: PHP で now() を使用して初期値を割り当てることができます。

DATETIME
日付と時刻の組み合わせ。サポートされている範囲は「1000-01-01 00:00:00」から「9999-12-31 23:59:59」です。 MySQL は DATETIME 値を「YYYY-MM-DD HH:MM:SS」形式で表示しますが、文字列または数値を使用して DATETIME カラムに値を割り当てることができます。

TIMESTAMP[(M)]
タイムスタンプ。範囲は「1970-01-01 00:00:00」から 2037 年のいつかまでです。MySQL は、M が 14 (または省略)、12、8、または 6 のいずれであるかに応じて、TIMESTAMP 値を YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD、または YYMMDD の形式で表示しますが、文字列または数値を使用して値を割り当てることができます。 TIMESTAMP列。 TIMESTAMP 列は、値を自分で割り当てないと、自動的に最新の操作の日付と時刻に設定されるため、INSERT または UPDATE 操作の日付と時刻を記録するのに役立ちます。 NULL 値を割り当てることで、現在の日付と時刻に設定できます。
時間
時間です。範囲は「-838:59:59」から「838:59:59」です。 MySQL は TIME 値を「HH:MM:SS」形式で表示しますが、文字列または数値を使用して TIME 列に値を割り当てることができます。

YEAR[(2|4)]
2 桁または 4 桁形式の年 (デフォルトは 4 桁)。許可される値は 1901 ~ 2155、および 0000 (4 桁の年形式)、2 桁を使用する場合は 1970 ~ 2069 (70 ~ 69) です。 MySQL は YEAR 値を YYYY 形式で表示しますが、文字列または数値を YEAR カラムに割り当てることができます。 (YEAR 型は MySQL 3.22 の新しい型です。)

CHAR(M) [BINARY]
固定長の文字列は、格納されるとき、指定された長さの右側が常にスペースで埋められます。 。 M の範囲は 1 ~ 255 文字です。値が取得されると、末尾のスペースが削除されます。 CHAR 値は、BINARY キーワードが指定されていない限り、デフォルトの文字セットに従って大文字と小文字を区別しない方法で並べ替えおよび比較されます。 NATIONAL CHAR (短縮形 NCHAR) は、CHAR 列がデフォルトの文字セットを使用することを定義する ANSI SQL の方法です。これは MySQL のデフォルトです。 CHARはCHARACTERの略です。

[NATIONAL] VARCHAR(M) [BINARY]
可変長文字列。注: 末尾のスペースは、値が格納されるときに削除されます (これは ANSI SQL 仕様とは異なります)。 M の範囲は 1 ~ 255 文字です。 VARCHAR 値は、BINARY キーワード値が指定されていない限り、デフォルトの文字セットに従って大文字と小文字を区別しない方法で並べ替えおよび比較されます。 VARCHAR は CHARACTER VARYING の略語です。

TINYBLOB

TINYTEXT
最大長 255 (2^8-1) 文字の BLOB または TEXT 列。

BLOB
はバイナリ ファイルの処理に使用され、ファイルのアップロードに使用できます。

TEXT
最大長が 65535 (2^16-1) 文字の BLOB または TEXT 列。

MEDIUMBLOB

MEDIUMTEXT
最大長 16777215 (2^24-1) 文字の BLOB または TEXT 列。
LONGBLOB

LONGTEXT
最大長 4294967295 (2^32-1) 文字の BLOB または TEXT 列。

ENUM('value1','value2',...)
列挙。値「value1」、「value2」、...、または NULL のリストから選択された単一の値を持つ文字列オブジェクト。 ENUM には、最大 65535 個の異なる値を含めることができます。

SET('value1','value2',...)
セット。 0 個以上の値を持つことができる文字列オブジェクト。それぞれの値は値リスト 'value1'、'value2'、... から選択する必要があります。 SET には最大 64 のメンバーを含めることができます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート