ホームページ  >  記事  >  データベース  >  MySQL の列型の数値型チュートリアル

MySQL の列型の数値型チュートリアル

藏色散人
藏色散人転載
2018-11-22 16:44:372894ブラウズ

この記事では主に、MySQL の数値カラム型に関連する知識ポイントを紹介します。必要な方のお役に立てれば幸いです。

推奨リファレンス チュートリアル: 「mysql チュートリアル

カラム タイプ (データ型)の列型の数値型チュートリアル>

いわゆるカラム タイプとは、実際には次のものを指します。データ タイプ、つまりデータの統一された分類は、システムの観点から見ると、データを統一的な方法で管理し、限られたスペースをより有効に活用できるようにするためのものです。

SQL では、データ型は 数値型、文字列型、日付と時刻型の MySQL の列型の数値型チュートリアル つの主要なカテゴリに分類されます。

MySQL の列型の数値型チュートリアル

数値データの場合、さらに 整数型 MySQL の列型の数値型チュートリアル0 進数型 に分類できます。

整数型の列型の数値型チュートリアル>

SQL では、ディスク領域を節約するという問題のため、システムは整数型を次の MySQL の列型の数値型チュートリアル つのカテゴリに再分割します。

tinyint
    : ミニ整数、データの保存に MySQL の列型の数値型チュートリアル バイトを使用 (一般的に使用);
  • smallint
  • : 小さな整数、データの保存に MySQL の列型の数値型チュートリアル バイトを使用データ;
  • mediumint
  • : 中位の整数型、データの保存に MySQL の列型の数値型チュートリアル バイトを使用します。 ##: 標準整数型、データの保存に MySQL の列型の数値型チュートリアル バイトを使用します (一般的に使用されます);
  • bigint
  • : 大きな整数型、データの保存に MySQL の列型の数値型チュートリアル バイトを使用します。
  • 次に、テスト用に次の SQL ステートメントを入力します:

    -- 创建整型表create table my_int(
        int_MySQL の列型の数値型チュートリアル tinyint,
        int_MySQL の列型の数値型チュートリアル smallint,
        int_MySQL の列型の数値型チュートリアル int,
        int_MySQL の列型の数値型チュートリアル bigint
    )charset utfMySQL の列型の数値型チュートリアル;
  • 上の図に示すように、 # が正常に作成されました。 ## my_int table にデータを挿入します:

    -- 插入数据insert into my_int values (MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル);insert into my_int values (&#MySQL の列型の数値型チュートリアル9;a&#MySQL の列型の数値型チュートリアル9;,&#MySQL の列型の数値型チュートリアル9;b&#MySQL の列型の数値型チュートリアル9;,&#MySQL の列型の数値型チュートリアル9;c&#MySQL の列型の数値型チュートリアル9;,&#MySQL の列型の数値型チュートリアル9;d&#MySQL の列型の数値型チュートリアル9;);insert into my_int values (MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル);

上の図に示すように、列の型によって、列の型と長さの範囲を制限できます。挿入されたデータ。

MySQL の列型の数値型チュートリアル値を

int_MySQL の列型の数値型チュートリアル

に割り当てるときに範囲外エラーが報告される理由については、SQL の数値型にはデフォルトで符号付きビット、つまり正の値が含まれているためです。そしてネガティブ。符号なしデータを使用する必要がある場合は、データ型を自分で宣言する必要があります。つまり、データ型を宣言するときに unsigned キーワードを追加します。例:

-- 在 my_int 表中,添加 int_MySQL の列型の数値型チュートリアル 字段,设置其数据类型为 tinyint unsignedalter table my_int add int_MySQL の列型の数値型チュートリアル tinyint unsigned;

MySQL の列型の数値型チュートリアル

上の図に示すように、

int_MySQL の列型の数値型チュートリアル

フィールドが正常に追加されました。データの挿入を続けます: <pre class="brush:php;toolbar:false;">-- 插入数据insert into my_int values (MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル);</pre>

上の図に示すように、

tinyintMySQL の列型の数値型チュートリアル

unsigned

に制限すると、すでに 0 ~ MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル# の間の任意の整数を挿入できます。 ##!ただし、振り返って、次の図を詳しく見てみましょう:

MySQL の列型の数値型チュートリアル

上の図を観察すると、次のことがわかります:

各フィールドのデータtype の後には、数字を含む括弧のペアが続きます。 これらの数値には実際には特別な意味はなく、データの表示幅を表すだけです。実際、表示幅を変更することはできますが、この変更によってデータ自体のサイズは変更されません。 表示幅の意味: データが表示幅に足りない場合、データは対応する表示幅に自動的に変更されます。通常は、先頭に # を付ける必要があります。 ##0 データ値のサイズを変更せずに幅を増やします。つまり、

zerofill

を使用してゼロ埋めを行います。ゼロ埋めにより、値は自動的に符号なしになります。 MySQL の列型の数値型チュートリアル

次に、次の SQL ステートメントを実行します:

-- 在 my_int 表中,添加 int_MySQL の列型の数値型チュートリアル 字段,设置其数据类型为 tinyint zerofillalter table my_int add int_MySQL の列型の数値型チュートリアル(MySQL の列型の数値型チュートリアル) tinyint zerofill;

次に、データを挿入してテストします:

-- 插入数据insert into my_int values (MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル);
上の図に示すように、ゼロパディングの意味

は、データの形式を保証することです。

MySQL の列型の数値型チュートリアル0 進型

MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル0 進型、つまり、整数型を超える小数点または範囲を持つ

数値型です。

SQL では、MySQL の列型の数値型チュートリアル0 進数型は

浮動小数点型 MySQL の列型の数値型チュートリアル

固定小数点型

の MySQL の列型の数値型チュートリアル つの型に分類されます。 浮動小数点型: 浮動小数点、精度が制限され、精度が失われやすい;

の列型の数値型チュートリアル>固定小数点型: 固定小数点、固定精度、精度が失われません。

型 MySQL の列型の数値型チュートリアル: 浮動小数点型浮動小数点型データは、指定された範囲を超えると精度データの一種です。精度が失われ、丸めが自動的に実行されます。理論的には、浮動小数点型は MySQL の列型の数値型チュートリアル 種類の精度に分類されます。

  • float

    : 単精度、データの保存に MySQL の列型の数値型チュートリアル バイトを占有し、精度の範囲は約 MySQL の列型の数値型チュートリアル です。 ;
  • double:双精度,占用 MySQL の列型の数値型チュートリアル 个字节存储数据,精度范围大概为 MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル 位左右。

浮点型的使用方式:如果直接用float,则表示没有小数部分;如果用float(M,D),其中M代表总长度,D代表小数部分长度,M-D则为整数部分长度。

执行如下 SQL 语句创建浮点数表,进行测试:

-- 创建浮点数表create table my_float(
    fMySQL の列型の数値型チュートリアル float,
    fMySQL の列型の数値型チュートリアル float(MySQL の列型の数値型チュートリアル0,MySQL の列型の数値型チュートリアル),
    fMySQL の列型の数値型チュートリアル float(MySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル)
)charset utfMySQL の列型の数値型チュートリアル;

在咱们向浮点数表my_float插入数据的时候,可以直接插入小数,也可以插入用科学计数法表示的数据。此外,插入浮点型数据时,整数部分是不能超出长度范围的,但是小数部分是可以超出长度范围的,系统会自动进行四舍五入的操作。特别是,如果浮点数是因为系统进位(四舍五入)导致整数部分超出指定的长度,那么系统是允许成立的。

-- 插入测试数据insert into my_float values (MySQL の列型の数値型チュートリアル.MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルeMySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアル0.MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル,9999.99);insert into my_float values (MySQL の列型の数値型チュートリアル0MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル0,MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル9.99,9999.99);insert into my_float values (MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル,MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル.99,99.99999);

MySQL の列型の数値型チュートリアル

如上图所示,咱们的结论得到了验证。

第 MySQL の列型の数値型チュートリアル 种:定点型

定点型数据,绝对的保证整数部分不会被四舍五入,也就是说不会丢失精度,但小数部分有可能丢失精度,虽然理论上小数部分也不会丢失精度。

执行如下 SQL 语句创建定点数表,以浮点数做对比,进行测试:

-- 创建定点数表create table my_decimal(
    fMySQL の列型の数値型チュートリアル float(MySQL の列型の数値型チュートリアル0,MySQL の列型の数値型チュートリアル),
    dMySQL の列型の数値型チュートリアル decimal(MySQL の列型の数値型チュートリアル0,MySQL の列型の数値型チュートリアル)
)charset utfMySQL の列型の数値型チュートリアル;

当咱们插入数据的时候,定点数的整数部分一定不能超出长度范围(进位也不可以),小数部分的长度则可以随意超出,没有限制,系统会自动进行四舍五入的操作:

-- 插入测试数据insert into my_decimal values (99999999.99,99999999.99);insert into my_decimal values (MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル9.99,MySQL の列型の数値型チュートリアル0MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル.MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル);insert into my_decimal values (MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル.99,MySQL の列型の数値型チュートリアル0MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル.MySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアルMySQL の列型の数値型チュートリアル);

MySQL の列型の数値型チュートリアル

如上图所示,咱们的结论同样得到了验证。

以上がMySQL の列型の数値型チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。