SQLデータ型
以下の文章を日本語で言い換えてください。
「Introduction」
イントロダクション
SQLのデータ型は、テーブルの列に格納できる値の型を定義します。例えば、列に整数の値のみを格納したい場合、そのデータ型をINTと定義することができます。
SQLのデータ型は大まかに次のカテゴリに分類されることができます。
-
- INT、TINYINT、BIGINT、FLOAT、REALなどの数値データ型。
-
- DATE、TIME、DATETIMEなどの日付と時刻のデータ型。
-
- CHAR、VARCHAR、TEXTなどの文字と文字列のデータ型。
-
- NCHAR、NVARCHAR、NTEXTなどのUnicode文字列のデータ型。
-
- BINARY、VARBINARYなどのバイナリデータ型。
- CLOB、BLOB、XML、CURSOR、TABLEなどのその他のデータ型。
この記事では、さまざまな種類のSQLデータ型について学びます。
リレーショナルデータベースのベンダー間の違い
Note
注意:すべてのデータ型がすべてのリレーショナルデータベースのベンダーによってサポートされているわけではありません。
例えば、OracleデータベースはDATETIMEをサポートしておらず、MySQLはCLOBをサポートしていません。データベースのスキーマを設計したり、SQLクエリを書いたりする際には、データ型がサポートされているかどうかを必ず確認してください。
Note
注意:ここに記載されているデータ型は、すべてのデータ型を含んでいるわけではありません。これらは最も一般的に使用されるデータ型です。一部のリレーショナルデータベースベンダーには、ここに記載されていない独自のデータ型が存在する場合があります。
たとえば、マイクロソフトのSQL ServerにはMONEYとSMALLMONEYのデータ型がありますが、他の人気のあるデータベースベンダーではサポートされていないため、ここではリストされていません。
Note
注意: 各リレーショナルデータベースのベンダーは、異なるデータタイプに対して独自の最大サイズ制限を持っています。
あなたの特定のシナリオに適したデータ型を選択するようにしてください。
SQLの数値データ型
Data Type | From | To |
---|---|---|
BIT | 1 | 0 |
TINYINT | 0 | 255 |
SMALLINT | -32,768 | 32,767 |
INT | -2,147,483,648 | 2,147,483,647 |
BIGINT | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
DECIMAL | -10^38 + 1 | 10^38 – 1 |
NUMERIC | -10^38 + 1 | 10^38 – 1 |
FLOAT | -1.79E+308 | 1.79E+308 |
REAL | -3.40E+38 | 3.40E+38 |
SQLの日付と時間のデータ型
Data Type | Description |
---|---|
DATE | Stores date in the format YYYY-MM-DD |
TIME | Stores time in the format HH:MI:SS |
DATETIME | Stores date and time information in the format YYYY-MM-DD HH:MI:SS |
TIMESTAMP | Stores number of seconds passed since the Unix epoch ('1970-01-01 00:00:00' UTC ) |
YEAR | Stores year in a 2-digit or 4-digit format. Range 1901 to 2155 in 4-digit format. Range 70 to 69, representing 1970 to 2069. |
SQLの文字および文字列のデータ型
Data Type | Description |
---|---|
CHAR | Fixed length with a maximum length of 8,000 characters |
VARCHAR | Variable-length storage with a maximum length of 8,000 characters |
VARCHAR(max) | Variable-length storage with provided max characters, not supported in MySQL |
TEXT | Variable-length storage with a maximum size of 2GB data |
Note
注意: これらのデータ型は文字ストリーム用です。Unicodeデータと一緒に使用しないでください。
SQLのユニコード文字と文字列データ型
Data Type | Description |
---|---|
NCHAR | Fixed length with a maximum length of 4,000 characters |
NVARCHAR | Variable-length storage with a maximum length of 4,000 characters |
NVARCHAR(max) | Variable-length storage with provided max characters |
NTEXT | Variable-length storage with a maximum size of 1GB data |
Note
注記:これらのデータ型はMySQLデータベースではサポートされていません。
SQLバイナリデータ型
Data Type | Description |
---|---|
BINARY | Fixed length with a maximum length of 8,000 bytes |
VARBINARY | Variable-length storage with a maximum length of 8,000 bytes |
VARBINARY(max) | Variable-length storage with provided max bytes |
IMAGE | Variable-length storage with a maximum size of 2 GB binary data |
SQLのその他のデータ型
Data Type | Description |
---|---|
CLOB | Character large objects that can hold up to 2 GB |
BLOB | For large binary objects |
XML | For storing XML data |
JSON | For storing JSON data |
結論
この記事では、さまざまなカテゴリーのSQLデータ型について学びました。
以下のSQLチュートリアルで学習を続けてください。
参考文献
- Oracle Database Dataypes
- MySQL Data Types