Interactive SQL (Transact SQL、TSQL)
SQL Server のクエリ言語です。次のコマンドが提供されています:
· オブジェクトを作成し、データベース化します。
· データにアクセスして変更します。
· データの集約 (集約とも呼ばれます)。
・安全対策を実施します。
データベース オブジェクト
データベース オブジェクトは、データベース内の物理オブジェクトです。これらのオブジェクトには一意の名前があり、データとデータ関係情報が保持されます。 SQL Server は次のオブジェクトを定義します:
1. テーブル (テーブル)
テーブルは、データを格納するために使用される 2 次元配列です。列はテーブル属性またはフィールドとも呼ばれます。各列には固有の名前があり、このデータ型は列のデータ型によって定義されます。
2. ビュー
ビューは、テーブルの一部のみを含む仮想テーブルです。テーブルとは異なり、ビューに保存されるデータはテーブルから派生したものであり、ビューのベース テーブルと呼ばれます。ビューの定義はデータベースに保存されます。
3. 制約
制約はデータの整合性と有効性を定義します。制約は、列内の値のルールを確立します。つまり、列に終了条件が定義されている場合、その列に挿入されるすべての値が制約チェックに合格する必要があります。トリガーとルールのデータの整合性と有効性を確保するには、制約を使用することをお勧めします。 SQL Server クエリ オプティマイザーは、制約を使用して低コストのクエリ プランを生成します。制約には次のタイプがあります:
· NOT NULL この制約では、列に NULL 値を含めることはできません。
・CHECK 列が取り得る値のセットを指定した後、制約をチェックします。定義外の列のデータは無効なデータです。有効な値のセットは、列のドメインと呼ばれます。
· 主キー 主キーは列または列の組み合わせであり、行を一意に識別するために使用されます。
· FOREIGN KEY は、2 つのテーブル間の親子関係を定義するために使用されます。キーが、あるテーブルの主キーの一部であり、別のテーブルの主キーの一部である場合、そのキーは外部キーと呼ばれます。外部キーワードは、データの参照整合性を定義するために使用されます。
· 一意制約とは、列内に同じ非 NULL 値を持つ行が 2 つ存在しないことを意味します。一意性は主キーによって保証されますが、NULL 値は許可されず、テーブルごとにキーは 1 つだけ存在できます。
4. デフォルト値 (デフォルト)
デフォルト値は、行を挿入するときに特定の列の値が指定されていない場合、その列にデフォルト値が使用されます。
・定数
・数式
・内部関数(組み込み関数)
5. ルール(ルール)
ルールの実行はCHECK制約と同じ機能を持ちます。ただし、ルールと制約の違いは、ルールは独立したオブジェクトとして存在し、複数のテーブルで使用できるのに対し、制約はテーブルの一部として保存されることです。ただし、ルールは下位互換性機能として提供されており、ユーザーは制約を使用することをお勧めします。
6. トリガーとストアド プロシージャ
トリガーとストアド プロシージャは、オブジェクトとしてデータベースに保存される TSQL コマンドのセットです。
オブジェクトの命名規則
SQL Server はオブジェクトを識別するために 3 つの部分からなる名前を使用します:
..
最初の 2 つの部分は省略できます。システムにはデフォルトの名前が付いています。価値。データベース名のデフォルト値は現在のデータベースであり、所有者名のデフォルト値はデータベース所有者 (dbo) です。
データ型
データを含むオブジェクトには、それに関連付けられたデータ型があります。データ型は、オブジェクトに含めることができるデータの種類を指定するプロパティです。
SQL Server データ型
データ型
同義語
Bit
1 ビット、値は 0 または 1
Int
Integer
4 バイト、値は -2^31~2^31-1
Smallint
2 バイト、値は -2^15~2^15-1
Tinyint
1 バイト、値は 0~255
Decimal (p,s)
数値データ、固定精度は P 、幅は S
数値
お金
8 バイト、通貨の種類が保存され、値は -2^63~2^63-1
少額のお金
4 バイト、通貨の種類が保存され、値は -214748.3648 ~+ 214748.3647 近似数値データ型
Float (n)
N は 1~24、4 バイト、7 ビット精度
N=1~7 は実数
N は 25~53、8 バイト、 15 桁の精度
=8~15 は浮動小数点数です
Datetime
8 バイト、特定の日の日付と時刻を記述します、値の精度は 1/300 秒です
Smalldatetime
4 バイト、特定の日の日付を記述します特定の日と時刻、精度は分です
Cursor
カーソルへの参照
タイムスタンプ
8 バイト、データベースに格納される一意のデータ
Uniqueidentifier
16 バイト、グローバル一意識別子 (GUID) に格納される
Char (n)
非 Unicode 文字列の固定長、n=1~8000
Character (n)
Varchar (n)
可変長、非 Unicode 文字列 n=1~8000
Charvariing(n)
Text
サーバーコードページ内の可変長の非 Unicode データ。最大長は 231-1 文字です
Nchar
固定長 Unicode 文字列 n=1~4000
各国文字 (n),
各国 char(n)
Nvarchar
固定長 Unicode 文字列 n=1~4000
National文字可変(n)
Ntext
可変長Unicodeデータ、最大長は230-1文字
各国語テキスト
バイナリ(n)
固定長バイナリデータ、nは1~8000、記憶領域はn+4 bytes
Varbinary (n)
可変長バイナリデータ、n=1~8000
可変バイナリデータ(n)
Tmage
可変長バイナリデータ、サイズは0~231-1
注:
1)数値データ型では、幅 (位取り) は小数点以下に格納される桁数を指し、精度 (精度) は小数点を含めて格納できるすべての桁数を指します。
2)お金と小金の収納幅は4です。
3) タイムスタンプ列の値は、各行が更新されるとシステムによって自動的に更新されます。タイムスタンプ列をキーワードまたはキーワードの一部にすることはできません。
4) 固有の識別データ型は算術演算子 (+、- など) を使用できません。このデータ型は等価比較演算のみを使用できます。 Unicode は、すべての文字セットにわたって一貫してデータを保存するための標準です。非 Unicode データ ストレージの 2 倍のストレージ スペースを使用します。
上記は SQL Server 7.0 入門 (1) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。