ホームページ >データベース >mysql チュートリアル >SQLのデータ型とは何ですか?

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

一个新手
一个新手オリジナル
2017-09-19 09:21:313881ブラウズ

SQL の 5 つのデータ型: 文字、テキスト、数値、論理、日付

SQL の 5 つのデータ型: 文字、テキスト、数値、論理、日付

文字型

VARCHAR と CHAR

この違いVARCHAR 型と CHAR 型のデータの区別は微妙ですが、非常に重要です。これらはすべて、長さが 255 文字未満の文字列を格納するために使用されます。

長さ 40 文字の VARCHAR フィールドにデータ Bill Gates を入力するとします。後でこのフィールドからこのデータを取得すると、取得するデータの長さは 10 文字になり、これは文字列 Bill Gates と同じ長さになります。 ここで、CHAR フィールドに 40 文字の長さの文字列を入力すると、データを取得すると、取得されるデータの長さは 40 文字になります。文字列の末尾に余分なスペースが追加されます。

独自のサイトを構築するときは、CHAR フィールドよりも VARCHAR フィールドを使用した方がはるかに便利であることがわかります。 VARCHAR フィールドを使用する場合、データ内の余分なスペースをトリミングすることを心配する必要はありません。

VARCHAR フィールドのもう 1 つの優れた利点は、CHAR フィールドよりもメモリとハードディスクの占有スペースが少ないことです。データベースが大きい場合、このメモリとディスク領域の節約が非常に重要になります。

テキスト

TEXT

テキスト データを使用すると、20 億文字を超える文字列を保存できます。大きな文字列を保存する必要がある場合は、テキスト データを使用する必要があります。

前のセクションで説明した文字データには長さがあるのに対し、テキスト データには長さがないことに注意してください。通常、テキスト フィールドのデータは空であるか、非常に大きいデータです。

HTML フォームの複数行テキスト編集ボックス (TEXTAREA) からデータを収集する場合は、収集した情報をテキスト フィールドに保存する必要があります。ただし、テキスト フィールドの使用を避けられる場合は、使用しないでください。テキスト フィールドは大きくて遅いため、テキスト フィールドを過剰に使用するとサーバーの速度が低下する可能性があります。テキストフィールドも多くのディスクスペースを消費します。

テキストフィールドにデータ(null値も含む)を入力すると、2Kのスペースが自動的にデータに割り当てられます。レコードを削除しない限り、このストレージを取り戻すことはできません。

数値型

SQL は、さまざまな種類の数値データをサポートしています。整数は INT、小数は NUMERIC、金額は MONEY として保存できます。

INT VS SMALLINT VS TINYINT
両者の違いは文字長のみです: INT 型データのテーブル番号範囲は -2, 147, 483, 647 ~ 2, 147, 483, 647 です。 SMALLINT 型データは - から格納できます。 32768 最大 32768 の整数。TINYINT 型フィールドには 0 ~ 255 の整数のみを格納でき、負の数の格納には使用できません。通常、スペースを節約するために、可能な限り最小の整数データを使用する必要があります。 TINYINT 型のデータは 1 バイトのみを占有しますが、INT 型のデータは 4 バイトを占有します。これは大きな違いのように思えないかもしれませんが、テーブルが大きい場合、バイト数は急速に増加します。一方、フィールドを一度作成すると、それを変更するのは困難です。したがって、安全を期すために、フィールドに格納する必要がある最大値を予測し、適切なデータ型を選択する必要があります。

MUNERIC

フィールドに保存されるデータをより詳細に制御するには、NUMERIC 型データを使用して、数値の整数部分と小数部分の両方を表すことができます。 NUMERIC データを使用すると、INT データよりもはるかに大きい、非常に大きな数値を表すことができます。 NUMERIC フィールドには、-1038 から 1038 の範囲の数値を格納できます。 NUMERIC データを使用すると、小数部分を使用して数値を表すこともできます。たとえば、10 進数の 3.14 を NUMERIC フィールドに保存できます。

NUMERIC フィールドを定義するときは、整数部分のサイズと小数部分のサイズの両方を指定する必要があります。例: MUNERIC(23,0)

NUMERIC 型のデータは、整数部分に最大 28 桁しか含めることができません。小数部分の桁数は、整数の桁数以下である必要があります。小数部分はゼロにすることができます。

MONEY VS SMALLMONEY

金額を保存するには、INT 型または NUMERIC 型のデータを使用できます。ただし、この目的に特に使用されるデータ型が他に 2 つあります。アウトレットでたくさんのお金を稼ぎたい場合は、MONEY タイプのデータを使用できます。それほど意欲的でない場合は、SMALLMONEY タイプのデータを使用できます。 MONEY タイプのデータには、-922,337,203,685,477.5808 から 922,337,203,685,477.5807 までのお金を保存できます。これより大きい量を保存する必要がある場合は、NUMERIC データを使用できます。

SMALLMONEY タイプのデータは、-214,748.3648 から 214,748.3647 までの金額のみを保存できます。同様に、可能であれば、スペースを節約するために、MONEY 型データの代わりに SMALLMONEY 型を使用する必要があります。

論理タイプ

BIT

チェックボックス (CHECKBOX) を使用して Web ページから情報を収集する場合、この情報を BIT タイプのフィールドに保存できます。 BIT タイプのフィールドは、0 または 1 の 2 つの値のみを取ることができます。

テーブルを作成した後は、テーブルに BIT フィールドを追加できないことに注意してください。テーブルに BIT フィールドを含める予定がある場合は、テーブルの作成時に行う必要があります。

日付型

DATETIME VS SMALLDATETIME

DATETIME 型フィールドには、1753 年 1 月 1 日の最初のミリ秒から 9999 年 12 月 31 日の最後のミリ秒までの日付範囲を格納できます。

それほど広範囲の日付と時刻をカバーする必要がない場合は、SMALLDATETIME 型のデータを使用できます。 DATETIME 型データと同様に使用されますが、表現できる日時の範囲が DATETIME 型データよりも狭く、DATETIME 型データほど正確ではありません。 SMALLDATETIME 型フィールドには、1900 年 1 月 1 日から 2079 年 6 月 6 日までの日付を格納できますが、精度は秒単位までしかありません。

DATETIME タイプのフィールドには、日付と時刻を入力するまで実際のデータは含まれません

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

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