Mysql-data-types

提供:Dev Guides
移動先:案内検索

MySQL-データ型

テーブルのフィールドを適切に定義することは、データベースの全体的な最適化にとって重要です。 本当に使用する必要があるフィールドのタイプとサイズのみを使用する必要があります。 たとえば、2文字しか使用しないことがわかっている場合は、10文字幅のフィールドを定義しないでください。 これらのタイプのフィールド(または列)は、それらのフィールドに格納する*データのタイプ*の後に、データタイプとも呼ばれます。

MySQLは3つのカテゴリに分類された多くの異なるデータ型を使用します-

  • 数値
  • 日時
  • 文字列タイプ。

それらについて詳しく説明しましょう。

数値データ型

MySQLはすべての標準ANSI SQL数値データ型を使用するため、別のデータベースシステムからMySQLにアクセスする場合、これらの定義はおなじみのように見えます。

次のリストは、一般的な数値データ型とその説明を示しています-

  • INT -符号付きまたは符号なしの通常サイズの整数。 署名されている場合、許容範囲は-2147483648〜2147483647です。 符号なしの場合、許容範囲は0〜4294967295です。 最大11桁の幅を指定できます。
  • TINYINT -符号付きまたは符号なしの非常に小さな整数。 署名されている場合、許容範囲は-128〜127です。 符号なしの場合、許容範囲は0〜255です。 最大4桁の幅を指定できます。
  • SMALLINT -符号付きまたは符号なしの小さな整数。 署名されている場合、許容範囲は-32768〜32767です。 符号なしの場合、許容範囲は0〜65535です。 最大5桁の幅を指定できます。
  • MEDIUMINT -符号付きまたは符号なしの中間サイズの整数。 署名されている場合、許容範囲は-8388608〜8388607です。 符号なしの場合、許容範囲は0〜16777215です。 最大9桁の幅を指定できます。
  • BIGINT -符号付きまたは符号なしの大きな整数。 署名されている場合、許容範囲は-9223372036854775808〜9223372036854775807です。 符号なしの場合、許容範囲は0〜18446744073709551615です。 最大20桁の幅を指定できます。
  • * FLOAT(M、D)*-符号なしにできない浮動小数点数。 表示の長さ(M)と小数の数(D)を定義できます。 これは必須ではなく、デフォルトで10,2になります。2は小数の数、10は総桁数(小数を含む)です。 FLOATの場合、10進数の精度は24桁になります。
  • * DOUBLE(M、D)*-符号なしにできない倍精度の浮動小数点数。 表示の長さ(M)と小数の数(D)を定義できます。 これは必須ではなく、デフォルトの16,4になります。4は小数の数です。 10進数の精度は、DOUBLEの場合は53桁になります。 REALはDOUBLEの同義語です。
  • * DECIMAL(M、D)*-符号なしにできないパックされていない浮動小数点数。 パックされていない10進数では、各10進数は1バイトに対応します。 表示の長さ(M)と小数の数(D)を定義する必要があります。 NUMERICはDECIMALの同義語です。

日付と時刻のタイプ

MySQLの日付と時刻のデータ型は次のとおりです-

  • DATE -1000-01-01から9999-12-31までのYYYY-MM-DD形式の日付。 たとえば、1973年12月30日^は、1973-12-30として保存されます。
  • DATETIME -1000-01-01 00:00:00から9999-12-31 23:59:59までのYYYY-MM-DD HH:MM:SS形式の日付と時刻の組み合わせ。 たとえば、1973年12月30日の午後3時30分は、1973-12-30 15:30:00として保存されます。
  • TIMESTAMP -1970年1月1日午前0時から2037年のいずれかの時点までのタイムスタンプ。 これは、数字の間にハイフンがない場合のみ、以前のDATETIME形式のように見えます。 1973年12月30日の午後3時30分は、19731230153000(YYYYMMDDHHMMSS)として保存されます。
  • TIME -HH:MM:SS形式で時刻を保存します。
  • * YEAR(M)*-年を2桁または4桁の形式で保存します。 長さが2として指定されている場合(たとえば、YEAR(2))、YEARは1970から2069(70から69)の間になります。 長さが4に指定されている場合、YEARは1901〜2155になります。 デフォルトの長さは4です。

文字列型

数値型と日付型は楽しいものですが、保存するほとんどのデータは文字列形式になります。 このリストは、MySQLの一般的な文字列データ型について説明しています。

  • * CHAR(M)*-1〜255文字の固定長文字列(CHAR(5)など)。保存時に指定された長さまで右にスペースが埋め込まれます。 長さを定義する必要はありませんが、デフォルトは1です。
  • * VARCHAR(M)*-長さが1〜255文字の可変長文字列。 たとえば、VARCHAR(25)。 VARCHARフィールドを作成するときは、長さを定義する必要があります。
  • BLOBまたはTEXT -最大長が65535文字のフィールド。 BLOBは「バイナリラージオブジェクト」であり、画像やその他の種類のファイルなど、大量のバイナリデータを格納するために使用されます。 TEXTとして定義されたフィールドには、大量のデータも保持されます。 2つの違いは、格納されたデータの並べ替えと比較がBLOBでは*大文字と小文字を区別*し、TEXTフィールドでは*大文字と小文字を区別しない*ことです。 BLOBまたはTEXTでは長さを指定しません。
  • TINYBLOBまたはTINYTEXT -最大255文字のBLOBまたはTEXT列。 TINYBLOBまたはTINYTEXTでは長さを指定しません。
  • MEDIUMBLOBまたはMEDIUMTEXT -最大長16777215文字のBLOBまたはTEXT列。 MEDIUMBLOBまたはMEDIUMTEXTでは長さを指定しません。
  • LONGBLOBまたはLONG​​TEXT -最大長が4294967295文字のBLOBまたはTEXT列。 LONGBLOBまたはLONG​​TEXTでは長さを指定しません。
  • ENUM -リストの凝った用語である列挙。 ENUMを定義するときは、値を選択する必要がある(またはNULLにすることができる)アイテムのリストを作成しています。 たとえば、フィールドに「A」、「B」、または「C」を含める場合、ENUMをENUM(「A」、「B」、「C」)およびそれらの値(またはNULL)として定義しますそのフィールドにデータを入力できます。

次の章では、MySQLでテーブルを作成する方法について説明します。