ホームページ  >  記事  >  データベース  >  データベースのデータ型とは何ですか?

データベースのデータ型とは何ですか?

angryTom
angryTomオリジナル
2019-08-03 09:42:1520419ブラウズ

データベースのデータ型とは何ですか?

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

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

推奨チュートリアル: MySQL 入門ビデオ チュートリアル

1. 数値型

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) 小さい整数値SMALLINT2 バイト(-32 768, 32 767)(0, 65 535 )Large整数値##MEDIUMINTINT または INTEGERBIGINTFLOAT浮動小数点値 DOUBLE浮動小数点値DECIMAL(M,D) の場合、M>D の場合は M 2、それ以外の場合は D 2#MとDの値に依存#10進数値#

2. 日付と時刻の型

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

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

TIMESTAMP型には、後述する独自の自動更新機能があります。

タイプ サイズ 範囲 (符号付き) 範囲 (符号なし) 使用
3 バイト (-8 388 608, 8 388 607) (0,16 777 215 ) 大きな整数値
4 バイト (-2 147 483 648、2 147 483 647 ) (0, 4 294 967 295) 大きな整数値
8 バイト (-9,223,372,036,854,775,808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) 大きな整数値
4 バイト (-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) 単精度
8 バイト (-1.797 693 134 862 315 7 E-308、-2.225 073 858 507 201 4 E-308) ) E 308 ) 倍精度
DECIMAL
MとDの値に依存
#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混合日付と時刻の値、タイムスタンプ

3. 文字列型

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

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

終了時刻は北京時間

2147483647 秒です2038-1-19 11:14:07、2038 年 1 月 19 日 03:14:07 am GMT

#タイプサイズ使用CHAR0 -255 バイト固定長文字列VARCHAR0 ~ 65535 バイト可変長文字列TINYBLOB0-255 バイト255 文字以下のバイナリ文字列TINYTEXT 0 ~ 255 バイト短いテキスト文字列BLOB0 ~ 65 535 バイトバイナリ形式の長いテキスト データ#TEXTMEDIUMBLOBMEDIUMTEXTLONGBLOBLONGTEXT CHAR と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 タイプは最大記憶長が異なり、実際の状況に応じて選択できます。

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

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