sql >> データベース >  >> RDS >> Database

SQLデータ型を理解する–SQLデータ型について知っておくべきことすべて

    世界中に大量のデータが存在するため、適切なデータベースなしでデータを管理することはほぼ不可能です。 SQLは、データを処理するためのさまざまなオプションを提供するリレーショナルデータベースのコアであるため、SQLスキルはほとんどの職務に不可欠です。 SQLデータ型に関するこの記事では、SQLで使用されるさまざまなデータ型について説明します。

    この記事では以下について説明します:

    • 数値データ型

      • 正確な数値データ型
      • おおよその数値データ型
    • 文字列データ型

      • Unicode文字列のデータ型
    • バイナリデータ型
    • 日付と時刻のデータ型
    • その他のデータ型

    では、それぞれについて始めましょう。

    SQLデータ型:数値型

    この記事のこのセクションでは、数値データ型について説明します。これらのデータ型では、符号付き整数と符号なし整数の両方を使用できます。数値データ型を次の2つのセクションに分けました:

      • 正確な数値データ型
      • おおよその数値データ型

    正確な数値データ型

    データ型 説明/範囲
    ストレージ
    説明 FROM TO
    bit 0、1、またはNULLのいずれかの整数。
    tinyint 整数を許可 0 255 1バイト
    smallint 整数を許可 -32,768 32-767 2バイト
    int 整数を許可 -2,147,483,648 2,147,483,647 4バイト
    bigint 整数を許可 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 8バイト
    neuro(p、s) 数値を許可します。ここで「p ‘は精度値 および「s ‘はスケール値 -10 ^ 38 +1 10 ^ 38 -1 5〜17バイト
    10進数(p、s) 10進値を許可します。ここで「p ‘は精度値 および「s ‘はスケール値 -10 ^ 38 +1 10 ^ 38 -1 5〜17バイト
    smallmoney データを通貨として許可 -214,748.3648 + 214,748.3647 4バイト
    お金 データを通貨として許可 -922,337,203,685,477.5808 922,337,203,685,477.5807 8バイト

    では、おおよその数値データ型を調べてみましょう。

    おおよその数値データ型

    データ型 説明/範囲
    ストレージ
    説明 FROM TO
    float(n) 浮動精度の数値データを許可します -1.79E + 308 1.79E + 308 4または8バイト
    実際の 浮動精度の数値データを許可します -3.40E + 38 3.40E + 38 4バイト

    次に、この記事では、SQLで使用される文字列データ型を調べます。

    SQLデータ型: 文字列データ型

    この記事のこのセクションでは、文字のデータ型について説明します。これらのデータ型では、固定長および可変長の文字を使用できます。以下の表を参照してください。

    データ型 説明/最大サイズ
    ストレージ
    説明 最大サイズ
    text 可変長の文字列を許可します 2GBのテキストデータ 4バイト+文字数
    varchar(max) 可変長の文字列を許可します 2E+31文字 2バイト+文字数
    varchar 可変長の文字列を許可します 8,000文字 2バイト+文字数
    char 固定長の文字列を許可します 8,000文字 定義された幅

    注:
    質問:VARCHAR(8000)より大きい値を宣言できないのはなぜですか?回答:VARCHAR(n)は、行ページにデータを格納する役割を果たします。すべてのページで、ページヘッダーが最初の96バイトを占め、行のオーバーヘッドとオフセットに使用できるデータは8096バイト(8192 -96)のみであるため、VARCHAR(8000)より大きい値を宣言することはできません。

    また、私たちの業界では、世界のほとんどのライティングシステムでテキストの一貫した表現と処理にUnicodeを使用しているため、文字列のデータ型セクションをUnicodeデータ型に拡張しました。

    Unicode文字列のデータ型

    データ型 説明/最大サイズ
    ストレージ
    説明 最大サイズ
    ntext 可変長のUnicode文字列を許可します 2GBのテキストデータ 4バイト+文字数
    nvarchar(max) 可変長のUnicode文字列を許可します 2E+31文字 2バイト+文字数
    nvarchar 可変長のUnicode文字列を許可します 4,000文字 2バイト+文字数
    nchar 固定長のUnicode文字列を許可します 4,000文字 定義された幅* 2

    次に、この記事では、SQLで使用されるバイナリデータ型を調べます。

    SQLデータ型: バイナリデータ型

    この記事のこのセクションでは、バイナリデータ型について説明します。これらのデータ型では、固定長と可変長のバイナリ値を使用できます。以下の表を参照してください。

    データ型 説明/最大サイズ
    説明 最大サイズ
    image 可変長のバイナリデータを許可します 2,147,483,647バイト
    varbinary(max) 可変長のバイナリデータを許可します 2E+31バイト
    varbinary 可変長のバイナリデータを許可します 8,000バイト
    binary 固定長のバイナリデータを許可します 8,000バイト

    次に、この記事では、SQLで使用される日付と時刻のデータ型を調べます。

    SQLデータ型: 日付と時刻 データ型

    この記事のこのセクションでは、日付と時刻のデータ型について説明します。これらのデータ型では、さまざまな形式の日付と時刻を使用できます。以下の表を参照してください。

    データ型 説明/範囲
    ストレージ
    説明 FROM TO
    date 日付を年、月、日の形式で保存します。 0001年1月1日 9999年12月31日 3バイト
    時間 時間を時、分、秒の形式で保存します。 3-5バイト
    datetime 日付と時刻の両方を保存します(3.33ミリ秒の精度で) 1753年1月1日 9999年12月31日 8バイト
    datetime2 日付と時刻の両方を(100ナノ秒の精度で)保存します 0001年1月1日 9999年12月31日 6〜8バイト
    smalldatetime 日付と時刻の両方を保存します(精度は1分) 1900年1月1日 2079年6月6日 4バイト
    datetimeoffset タイムゾーンオフセットを追加したdatetime2と同じ 8-10バイト
    タイムスタンプ 行が作成または変更されるたびに更新される一意の番号を格納します。

    次に、この記事では、SQLで使用できるさまざまなデータ型を調べてみましょう。

    SQLデータ型:その他 データ型

    この記事のこのセクションでは、上記のカテゴリに分類できないデータ型について説明します。以下の表を参照してください。

    データ型 説明
    テーブル このデータ型は、後で処理するために結果セットを格納します。
    xml このデータ型はXML形式のデータを格納します。
    カーソル このデータ型は、カーソルオブジェクトへの参照を提供します。
    一意の識別子 このデータ型には、グローバル一意識別子(GUID)が格納されます。
    sql_variant
    このデータ型には、text、ntext、timestampを除くSQLでサポートされているさまざまなデータ型の値が格納されます。

    SQLのデータ型がわかったので、SQLについてもっと知りたいと思っていると思います。開始する記事のリストは次のとおりです。

    1. MySQLとは何ですか?
    2. MySQLデータ型
    3. MySQL Workbench
    4. Spark SQL
    5. SQLインタビューの質問

    これで、この記事は終わりです。この記事を楽しんでいただけたでしょうか。クエリを記述してデータベースを操作するのに役立つさまざまなデータ型を見てきました。MySQLについて詳しく知り、このオープンソースのリレーショナルデータベースについて知りたい場合は、MySQLDBAを確認してください。認定トレーニング インストラクター主導のライブトレーニングと実際のプロジェクトの経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

    質問がありますか?この記事のコメントセクションにその旨を記載してください。折り返しご連絡いたします。


    1. MySQLでUTF8文字を保存する方法

    2. クエリパフォーマンスインサイト:Azure SQLデータベースのリソースを消費するものを発見しますか?

    3. INSERT()を使用してMySQLの別の文字列に文字列を挿入する方法

    4. SQL Server 2005データベースへの現在の接続をすべて切断するにはどうすればよいですか?