MySQLのデータ型2024 年の最新の入門チュートリアル。このコースでは 値タイプ,日付と時刻タイプ,文字列型, について学習できます。
データベースの最適化の分野での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をサポートしています。 次の表は、必要な各整数型のストレージおよび範囲を示しています。
タイプ | サイズ | 範囲(符号付き) | 範囲(符号なし) | 使用 |
---|---|---|---|---|
TINYINT | 1バイト | (-128127) | (0255) | 小さな整数値 |
SMALLINT | 2バイト | (768,32 -32 767) | (535 0.65) | 整数値 |
MEDIUMINT | 3バイト | (-8388 608,8 388 607) | (0,16 777215) | 整数値 |
INTまたはINTEGER | 4バイト | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 整数値 |
BIGINT | 8バイト | (-9,233,372,036,854,775 808,9 223,372,036,854,775 807) | (0.18 446,744,073,709,551 615) | 最大の整数値 |
FLOAT | 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) | 単精度浮動小数点値 |
DOUBLE | 8バイト | (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 | DECIMAL(M、D)の、M> D、M + 2は、そうでなければD + 2である場合 | これは、MとDの値に依存します | これは、MとDの値に依存します | 10進値 |
それはDATETIME、DATE、TIMESTAMP、TIME、およびYEARの時間値のタイプの日付と時刻を示しています。
各タイプには、指定された違法のMySQLの値が表現できない場合、「ゼロ」の値を使用して、有効な値の時間と「ゼロ」の値の範囲を持っています。
TIMESTAMP型は、後述する独自の自動更新機能を有しています。
タイプ | サイズ (バイト) | スコープ | フォーマット | 使用 |
---|---|---|---|---|
DATE | 3 | 1000年1月1日/ 9999-12-31 | YYYY-MM-DD | 日付値 |
タイム | 3 | 「-838:59:59 '/' 838:59:59 ' | HH:MM:SS | Time値または期間 |
YEAR | 1 | 1901/2155 | YYYY | 年の値 |
DATETIME | 8 | 1000-01-0100:00:00 / 9999-12-31夜十一時59分59秒 | YYYY-MM-DD HH:MM:SS | 日付と時刻の値をミキシング |
TIMESTAMP | 4 | いつか00/2037年:1970年1月1日0時 | YYYYMMDD HHMMSS | 日付と時刻の値、タイムスタンプをミキシング |
これは、文字列型のCHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、そしてSETを指します。 このセクションでは、これらのタイプの仕事とどのようにクエリでこれらの型を使用する方法について説明します。
タイプ | サイズ | 使用 |
---|---|---|
CHAR | 0〜255バイト | 固定長文字列 |
VARCHAR | 0から65535バイト | 可変長文字列 |
TINYBLOB | 0〜255バイト | バイナリ文字列ではありません以上255文字以下 |
TINYTEXT | 0〜255バイト | 短いテキスト文字列 |
BLOB | 0から65535バイト | バイナリ形式で長いテキストデータ |
TEXT | 0から65535バイト | ロングテキストデータ |
MEDIUMBLOB | 0-16777215バイト | 中程度の長さのテキストデータのバイナリ形式 |
MEDIUMTEXT | 0-16777215バイト | 中程度の長さのテキストデータ |
LONGBLOB | 0-4294967295バイト | バイナリ形式でグレートテキストデータ |
LONGTEXT | 0-4294967295バイト | 大きなテキストデータ |
同様のCHARとVARCHARタイプが、彼らはさまざまな方法を保存して取得します。 末尾のスペースを保持しているか否かを、その最大長は、それも異なります。 大文字小文字の変換せずにストレージや検索処理。
BINARYとVARBINARYタイプは、彼らがバイナリ文字列ではなく非バイナリ文字列を含むことを除き、CHARとVARCHARに似ています。 すなわち、それらはバイト文字列ではなく、文字列が含まれています。 これは、彼らが文字セットを持たないことを意味し、ソートと比較はバイトの数値に基づいています。
BLOBは、可変長のデータを保持できバイナリラージオブジェクトです。 TINYBLOB、BLOB、MEDIUMBLOBとLONGBLOB:4 BLOBのタイプがあります。 彼らは、最大長さの値に対応のみ異なります。
TINYTEXT、TEXT、MEDIUMTEXTとLONGTEXT:4 TEXTの種類があります。 これらは、同じ最大長とストレージ要件を有する、BLOB型の4種類に対応しています。