MySQLデータベース設計の中で、データパフォーマンス最適化のためにフィールドタイプを考慮することが非常に重要です。いくつかの情報を収集し、整理し共有しました。この記事はmySQL整数の構文導入について述べています。bigint、int、mediumint、smallint、tinyintの各構文は以下の通りです。
1、bigint
-2^63(-9223372036854775808)から2^63-1(9223372036854775807)整数データ(すべての数値)まで、符号なしの範囲は0からです
18446744073709551615。 1ビットは8バイトです。
2、int
正規サイズの整数です。 符号付き範囲は -2^31(-2,147,483,648)から 2^31 - 1(2,147,483,647)の整数データ(すべての数値)であり、符号なしの範囲は0から4294967295です。 ビットは4バイトの大きさです。 SQL-92におけるintの同義語は整数です。
3、mediumint
符号付き範囲が-8388608から8388607、符号なしの範囲が0から16777215の中大整数です。 ビットは3バイトのサイズです。
4、smallint
小さな整数です。 符号付き範囲は-2^15(-32,768)から2^15 - 1(32,767)の整数データであり、符号なしの範囲は0から65535です。 ビットは2バイトのサイズです。 MySQLは十分な機能を持ち、オープンソースソフトウェアであるため、総所有コストを大幅に削減できます。
5、tinyint
符号付き範囲は-128から127までで、符号なしの範囲は0から255までの整数データです。 ビットは1バイトサイズです。
すべての算術演算は符号付きBIGINTまたはDOUBLE値で行われるため、ビット関数を除き、9223372036854775807より大きい符号付き大きな整数(63ビット)は使用しないでください! 2つのパラメータが整数の場合,-、+と*はBIGINT演算を使用します! つまり、2つの大きな整数を掛ける(または整数を返す関数から)すると、結果が9223372036854775807より大きいと予想外の結果が出ることがあります。 浮動小数点数は符号なしにはできません。単精度浮動小数点数の場合は<=24、二重精度浮動小数点数の場合は25から53の間で、以下にFLOATやDOUBLEなどのタイプを説明します。 FLOAT(X)はFLOATやDOUBLEと同じ範囲を持ちますが、表示サイズや小数点数は定義されていません。 MySQL 3.23では、これは真の浮動小数点関数の数値です。 以前のMySQLバージョンでは、FLOAT(precision)は常に小数点以下2桁でした。 この構文はODBC互換性のために提供されています。
MySQLの各データ型の値範囲
TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 スモールリント -32768 - 32767 スモールリント・アンサイン 0 - 65535 ミディアリント -8388608 - 8388607 ミディアリント・アンサイン 0 - 16777215 INTか整数か -2147483648 - 2147483647 INT UNSIGNED または INTEGER UNSIGNED 0 - 4294967295 ビギュント -9223372036854775808 - 9223372036854775807 署名なしの大金 0 - 18446744073709551615 フロート -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 倍精度または倍精度、または実数 -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 十進法[(M,[D])] または数値(M,D) M(小数点以下、小数点左の数字数、小数点右の数字数(負の符号は含む)とD(小数点右の数字数)で決まり、Mはデフォルトで10、Dはデフォルトで0となります 日付 1000-01-01 - 9999-12-31 デートタイム 1000-01-01 00:00:00 - 9999-12-31 23:59:59 タイムスタンプ 1970年1月1日 00:00:00 - 2037年のある日(正確な日はわからないけど、へへ) 時間 -838:59:59'から838:59:59へ 年[(2|4)] デフォルトは4ビットフォーマット、4ビットフォーマットは1901 - 2155,0000、2ビットフォーマットは70-69(1970-2069)です CHAR(M) [二進法] または NCHAR(M) [二値] Mは1から255の範囲で、BINARY項目がなければ大文字区別され、NCHARはデフォルトの文字セットを使用します。 データベース内のスペースを埋めてください。ただし、最後のスペースは削除すると自動的に削除されます。 [全国] ヴァルハル(M) [二進法] Mは1から255の範囲です。データベースの末尾のスペースは自動的に削除されます。 TINYBLOB または TINYTEXT 255(2^8-1)文字 BLOBまたはテキスト 65535(2^16-1)文字 MEDIUMBLOB または MEDIUMTEXT 16777215 (2^24-1) キャラクター LONGBLOBまたはLONGTEXTです 4294967295 (2^32-1) 文字 ENUM('value1', 'value2',...) 合計で65,535種類の異なる数値が存在します SET('value1', 'value2',...) メンバーは最大64名です
|