ホームページ  >  記事  >  データベース  >  mysqlのフィールドタイプとは何ですか?

mysqlのフィールドタイプとは何ですか?

angryTom
angryTomオリジナル
2019-07-23 16:04:1923892ブラウズ

mysqlのフィールドタイプとは何ですか?

推奨チュートリアル: MySQL チュートリアル

MySQL データ型

MySQL で定義されるデータ フィールドのタイプは、データベースの最適化にとって非常に重要です。

MySQL は複数の型をサポートしており、数値型、日付/時刻型、および文字列 (文字) 型の 3 つのカテゴリに大別できます。

数値型

MySQL は、すべての標準 SQL 数値データ型をサポートします。

これらの型には、厳密な数値データ型 (INTEGER、SMALLINT、DECIMAL、および NUMERIC) と近似数値データ型 (FLOAT、REAL、および DOUBLE PRECISION) が含まれます。

キーワード INT は INTEGER の同義語で、キーワード DEC は DECIMAL の同義語です。

BIT データ型はビット フィールド値を保存し、MyISAM、MEMORY、InnoDB、BDB テーブルをサポートします。

SQL 標準の拡張として、MySQL は整数型 TINYINT、MEDIUMINT、および BIGINT もサポートします。次の表は、各整数型に必要なストレージと範囲を示しています。

TINYINT1 ワード セクション(-128,127)(0,255)SMALLINT ##MEDIUMINT3 バイト(-8 388 608, 8 388 607)(0, 16 777 215)大きな整数値 4 バイト8バイト4 バイト 浮動小数点値8バイト 浮動小数点値DECIMAL(M,D) の場合、M>D の場合は M 2、そうでない場合は D 2
#タイプ サイズ 範囲 (符号付き) 範囲 (符号なし) 使用
#小さな整数値
2 バイト (-32 768, 32 767) (0, 65 535) 大きな整数値
#INT または INTEGER
(-2 147 483 648, 2 147 483 647) (0 , 4 294 967 295) 大きな整数値 BIGINT
(-9,223,372,036,854,775,808, 9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 最大整数値 FLOAT
(- 3.402 823 466 E 38、-1.175 494 351 E-38)、0、(1.175 494 351 E-38、3.402 823 466 351 E 38) 0、(1.175 494 351 E-38、3.402 823 466 E 38) 単精度
DOUBLE
(-1.797 693 134 862 315 7 E-308、-2.225 073 858 507 201 4 E-308)、0、(2.225 073 858 507 201 4 E-308、1.797 693 134 862 315 7 E 308) 0、( 2.225 073 858 507 201 4 E-308、1.797 693 134 862 315 7 E 308) 倍精度
DECIMAL
M と Dの値に依存します M と D の値に依存しますM および D 10 進数値 #

日付と時刻の型

時刻の値を表す日付と時刻の型は、DATETIME、DATE、TIMESTAMP、TIME、YEAR です。

各時間タイプには有効な値の範囲と「ゼロ」値があります。「ゼロ」値は、MySQL が表現できない不正な値を指定する場合に使用されます。

TIMESTAMP型は後述する独自の自動更新機能を備えています。

#DATE31000-01-01/9999-12-31YYYY-MM-DD日付値TIME3'-838:59:59'/'838:59:59'HH:MM:SS時間値または期間YEAR11901/2155 YYYY年の値DATETIME81000-01-01 00:00: 00/ 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS日付と時刻の値が混在しています# #TIMESTAMP 4YYYYMMDD HHMMSS混合日付と時刻の値、タイムスタンプ

文字列型

文字列型とは、CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET を指します。このセクションでは、これらの型がどのように機能するか、およびクエリでの使用方法について説明します。

タイプ サイズ
(バイト)
範囲 形式 目的
1970-01-01 00:00:00/2038

終了時刻は 2147483647 秒目、北京時間 2038-1-19 11 :14:07、03:14:07 AM GMT on January 19, 2038

#タイプサイズ使用CHAR0 -255 バイト固定長文字列VARCHAR0 ~ 65535 バイト可変長文字列TINYBLOB0-255 バイト255 文字以下のバイナリ文字列TINYTEXT 0 ~ 255 バイト短いテキスト文字列BLOB0 ~ 65 535 バイトバイナリ形式の長いテキスト データ#TEXTMEDIUMBLOBMEDIUMTEXTLONGBLOBLONGTEXTCHAR および VARCHAR型は似ていますが、保存と取得の方法が異なります。また、最大長と末尾のスペースが保持されるかどうかという点でも異なります。保存または取得中に大文字と小文字の変換は実行されません。
0-65 535 バイト 長いテキスト データ
0-16 777 215 バイト バイナリ形式の中長テキスト データ
0-16 777 215 バイト 中程度の長さのテキスト データ
0-4 294 967 295 バイト バイナリ形式の非常に大きなテキスト データ
0-4 294 967 295 バイト 非常に大きなテキスト データ

BINARY および VARBINARY は、非バイナリ文字列ではなくバイナリ文字列を含むことを除いて、CHAR および VARCHAR と似ています。つまり、文字列ではなくバイト列が含まれます。これは、文字セットがなく、並べ替えと比較が列値バイトの数値に基づいて行われることを意味します。

BLOB は、可変量のデータを保持できるバイナリ ラージ オブジェクトです。 BLOB タイプには、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB の 4 つがあります。それぞれ対応できる保管範囲が異なります。

TEXT タイプには、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT の 4 種類があります。対応する 4 つの BLOB タイプは最大記憶長が異なり、実際の状況に応じて選択できます。

以上がmysqlのフィールドタイプとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。