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

mysqlのlong整数型とは何ですか?

青灯夜游
青灯夜游オリジナル
2022-06-14 16:40:294976ブラウズ

mysql のロング整数型は「BIGINT」です。 BIGINT は ab バイトまたは 64 ビット整数値であり、非常に大きな整数値を格納する場合に非常に便利です。 BIGINT は、他の整数データ型と同様に、符号付きまたは符号なしにすることができます。符号付きデータ型は、列に正と負の整数値を格納できることを意味し、符号なしデータ型は、列に正の整数値のみを格納できることを意味します。符号付き BIGINT 型の範囲は、「-9223372036854775808」から「9223372036854775807」までです。

mysqlのlong整数型とは何ですか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

整数型は数値データとも呼ばれ、主に数値を格納するために使用されます。

MySQL はさまざまな数値データ型を提供します。データ型が異なれば、値の範囲も異なります。保存できる値の範囲が大きくなるほど、必要な記憶域も大きくなります。

MySQL が提供する主な整数型は、TINYINT、SMALLINT、MEDIUMINT、INT、および BIGINT であり、それらの属性フィールドに AUTO_INCREMENT 自動インクリメント制約を追加できます。次の表に、MySQL の数値型を示します。

#タイプサイズ範囲 (符号付き)範囲 (符号なし)目的#TINYINTSMALLINTMEDIUMINTINT または INTEGERBIGINT##

上の表からわかるように、整数の型が異なれば、格納するのに必要なバイト数も異なります。最小のバイト数は TINYINT 型で、最大のバイト数は BIGINT 型です。占有するバイト数が多くなります。型が表現できる値の範囲が大きくなります。したがって、mysql の整数型は「BIGINT」になります。

MySQL BIGINT

BIGINT は、ab バイトまたは 64 ビットの整数値であり、大きな整数値を格納する場合に便利です。

MySQL BIGINT は、他の MySQL 整数データ型と同様に、符号付きまたは符号なしが可能です。符号付きデータ型は、列に正と負の両方の整数値を格納できることを意味します。これは、MySQL のほとんどの整数型のデフォルトの型です。したがって、明示的に指定しない限り、整数型の列には正と負の両方の整数を格納できます。

一方、符号なしデータ型は、列に正の整数値のみを格納できることを意味します。

署名付き MySQL BIGINT 型の範囲は、-9223372036854775808 ~ 9223372036854775807

符号なし BIGINT 型の場合、値の範囲は 0 ~ 18446744073709551615 です。

BIGINT 型のもう 1 つのプロパティは ZEROFILL です。このプロパティが列に指定されると、その列は自動的に UNSIGNED に設定されます。

zerofill 属性はスペースをゼロで埋めます。

BIGINT の例:

BIGINT 型の使用方法を説明するために、いくつかの例を見てみましょう。
#

CREATE DATABASE IF NOT EXISTS integers;
USE integers;
次に、テーブルを作成し、次のクエリに示すようにさまざまな BIGINT 列を設定しましょう。

CREATE TABLE examples(x BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, y BIGINT UNSIGNED, z BIGINT ZEROFILL );

例 1

まず、すべての正の値をテーブルに追加してみます。

INSERT INTO examples(x,y,z) VALUES (1,2,3);

上記のクエリ例では、これらの値は、符号付き、符号なし、およびゼロフィル BIGINT 型の範囲内にあるため許容されます。

#

SELECT * FROM examples;

mysqlのlong整数型とは何ですか?

例 2

## 次のケースでは、すべての負の値を加算してみましょう。クエリの例は次のとおりです。

INSERT INTO examples(x,y,z) VALUES (-1,-2,-3);
ERROR 1264 (22003): Out of range value for column 'y' at row 1
この場合、y 列が署名されていないため、クエリは失敗します。したがって、列に負の値を割り当てることは列の範囲外になります。

#例 3

同じことが観察できます。上記と同様 3 列目も同様の状況。 zerofill 属性は自動的に列を符号なしにし、範囲外の負の値を追加できるようにします。例は次のとおりです:

INSERT INTO examples(x,y,z) VALUES (-1,2,-3);
ERROR 1264 (22003): Out of range value for column 'z' at row 1
例 4

さて各タイプの最大値を加算してみましょう。クエリの例は次のとおりです。

INSERT INTO examples(x,y,z) VALUES (-9223372036854775808, 9223372036854775808, 9223372036854775808);
上記の例では、すべての値が範囲内にあるため、クエリは正常に実行されます。

次のクエリを考えてみましょう:

INSERT INTO examples(x,y,z) VALUES (9223372036854775807, 9223372036854775808, 9223372036854775808);
すべての値がは最大値にあります。列 x は AUTO_INCREMENT に設定されているため、値を追加すると失敗します。

INSERT INTO examples(y,z) VALUES (9223372036854775808, 9223372036854775808);
ERROR 1062 (23000): Duplicate entry '9223372036854775807' for key 'examples.PRIMARY'
ただし、MySQL で厳密モードが無効になっている場合は、範囲外の値を挿入できます。

SELECT * FROM examples;
[関連する推奨事項: mysql ビデオ チュートリアル

]mysqlのlong整数型とは何ですか?

1 バイト (-128,127) (0,255) 小さな整数値
2 バイト #(-32 768, 32 767) (0, 65 535) 大きな整数値
3バイト (-8 388 608, 8 388 607) (0 ,16 777 215) 大きな整数値
4 ワード Section (-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) 大きな整数値

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

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