1. 定義基本表句
语法:
USE データベース库名 CREATE TABLE 表名 (列名 类型(大小) DEFAULT'默认值',
列名 型(大小) DEFAULT'默认值',
列名 型(大小) DEFAULT'默认值',
... ...);
注: 色部分は省略される場合があります。
例:CREATE TABLE S (SNO char(2), SNAME char(8), AGE 10進数(2), SEX char(2) DEFAULT'男', DEPT char(2));
5 つの列のテーブルが作成され、その中で 4 番目の列の承認値は「男」です。
-------------------------------------------------- ------------------------------
2.定义完全整性约束
语法:
USE データベース库名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
列名 型(大小) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
列名 型(大小) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
... ...);
注:(1) 色部は省略する場合があります。
(2) 1 つのリストは複数のグループを持つことができます。
约束定義:
(1)NULL | NOT NULL は、列の空間束を指定するために使用されます。 (列を指定) (下の色の部分はその中の 1 つを選択します)
语法:CONSTRAINT 约束名 NULL | NULLではありません
注意:
a. NOT NULL 束縛列は NULL 値を受け入れません。
b. NOT NULL バンドルの先頭には値が含まれています。これは、フィールドに値を追加しないと、新しいファイルを挿入したり、更新したりできないことを意味します。
例:
以下の SQL 句句制 "Id_P" 列と "LastName" 列は NULL を受け入れません:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市変数(255)
)
(2)UNIQUE は、データベース テーブル内の各文字列を唯一に束縛します。(つまり、テーブルを指定することもできます)
语法:CONSTRAINT 约束名 UNIQUE (列名, 列名, ... ...);
説明: 基本テーブルを指定するためには、特定の列または複数の列の組み合わせで値を必ず指定する必要があります。ユニークな束縛では、システムはこれらのリストに固有のインデックスを作成し、テーブル内の 2 つの行が指定されたリストまたはリストの組み合わせで同じ値を取得できないようにします。
注意:
a. UNIQUE は、データベース テーブル内の各文字列を唯一に制限します。
b. UNIQUE および PRIMARY KEY の束は両方とも、唯一性の保護を提供する列または列セットです。
c. PRIMARY KEY には、自動的に決定された一意の束があります。
d. 各テーブルは複数の UNIQUE 束を持つことができますが、各テーブルは 1 つの PRIMARY KEY 束を持つことができることに注意してください。
例:
以下の SQL では "persons" 表作成時に "Id_P" 列作成では UNIQUE 束:
MySQL:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市 varchar(255)、
ユニーク (Id_P)
)
SQL サーバー / Oracle / MS アクセス:
テーブルを作成する人
(
Id_P int NOT NULL UNIQUE、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市変数(255)
)
命名 UNIQUE 束、および複数の列名 UNIQUE 束が必要な場合は、次の SQL 構文を使用します。
MySQL / SQL Server / Oracle / MS Access:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市 varchar(255)、
CONSTRAINT uc_personID UNIQUE (Id_P,LastName)
)
(3)PRIMARY KEY は、データ テーブル内の各文字列を唯一に束縛します。(つまり、テーブルを指定することもできます)
语法:CONSTRAINT 约束名 PRIMARY KEY (列名, 列名, ... ...);
説明: 基本テーブルのプライマリ キーを決定するために使用されます。UNIQUE バンドと同様に、PRIMARY KEY バンドも、唯一のインデックスを構築することによって、基本テーブル (特定の列または複数の組み合わせ) 上で取得される唯一性を保証します。これらの間には、大きな違いも存在します。つまり、1 つの基本テーブル内で 1 つの PRIMARY KEY バンドのみを指定できる場合と、複数の UNIQUE バンドを指定できる場合があります。どの列にも空の値が存在することはありませんが、UNIQUE 束縛によって空の値が存在することが可能になります。
注意:
a. メインには唯一の値が含まれている必要があります。
b. メイン列に NULL 値を含めることはできません。
c. 各テーブルは両方とも 1 つのメイン リンクを持ち、各テーブルは 1 つのメイン リンクのみを持つことができます。
例:
次の SQL では、「persons」表作成時に「Id_P」列作成時に PRIMARY KEY 束縛:
MySQL:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市 varchar(255)、
主キー (Id_P)
)
SQL サーバー / Oracle / MS アクセス:
テーブルを作成する人
(
Id_P int NOT NULL 主キー、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市変数(255)
)
命名 PRIMARY KEY 束、および複数の列名 PRIMARY KEY 束が必要な場合は、次の SQL 理論を使用します。
MySQL / SQL Server / Oracle / MS Access:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市 varchar(255)、
CONSTRAINT uc_personID 主キー (Id_P,LastName)
)
(4)FOREIGN KEY 外键 (つまり決定可能列も可能テーブル)
语法:CONSTRAINT 约束名 FOREIGN KEY (列名, 列名, ... ...) REFERENCES (列名, 列名, ... ...) ;
説明: ある1つまたは複数のリストの組み合わせを外部ネットワークとして指定し、外部ネットワークとそれらが参照するメインまたは唯一のネットワークとの間に接続を確立する。外部キー参照のメイン キーまたは唯一のキーを含むテーブルは、外部キー バンドルの組み合わせになると、システムは外部キー上のテーブルからの取得がメイン テーブル内の特定のホストであることを保護します。鍵の値または唯一の鍵の値を取得する必要があります。
注意:
a. 参考資料で参照されている必須の列と FOREIGN KEY の外部列は互いに対応しており、列数は等しく、対応する列のデータ型は同じです。
例:
以下の SQL は、「Orders」表作成時に「Id_P」列作成 FOREIGN KEY:
MySQL:
CREATE TABLE の注文
(
O_Id int NOT NULL、
OrderNo int NOT NULL、
Id_P int、
主キー (O_Id)、
外部キー (Id_P) 参照 人 (Id_P)
)
SQL サーバー / Oracle / MS アクセス:
CREATE TABLE の注文
(
O_Id int NOT NULL 主キー、
OrderNo int NOT NULL、
Id_P int 外部キー参照 人(Id_P)
)
命名 FOREIGN KEY 束、および複数の列名 FOREIGN KEY 束が必要な場合は、次の SQL 理論を使用します。
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE の注文
(
O_Id int NOT NULL、
OrderNo int NOT NULL、
Id_P int、
主キー (O_Id)、
制約 fk_PerOrders 外部キー (Id_P) 参照 人(Id_P)
)
(5)CHECK バンドは、リスト内の値の範囲を制限するために使用されます。
语法:CONSTRAINT 约束名 CHECK (约束条件);
説明: 基本テーブルの各列を指定するには、列の値が 100 を超えることも、0 よりも小さいこともできないなど、各列の基本テーブルの値をさらに制限する条件を満たす必要があります。
注意:
a. 単一のリストに対して CHECK バンドが設定されている場合、そのリストは特定の値のみを許可します。
b. CHECK バンドが 1 つのテーブルに設定されている場合、そのバンドは特定の列内で制限される可能性があります。
例:
以下の SQL は、「Persons」テーブルの作成時に「Id_P」列を作成する CHECK 束です。「Id_P」列には 0 より大きい整数のみが含まれている必要があります。
私のSQL:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市 varchar(255)、
チェック (Id_P>0)
)
SQL サーバー / Oracle / MS アクセス:
テーブルを作成する人
(
Id_P int NOT NULL チェック (Id_P>0)、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市変数(255)
)
命名 CHECK 束、および複数の列名 CHECK 束が必要な場合は、次の SQL 理論を使用します。
MySQL / SQL Server / Oracle / MS Access:
テーブルを作成する人
(
Id_P int NOT NULL、
LastName varchar(255) NOT NULL、
FirstName varchar(255)、
アドレス varchar(255)、
都市 varchar(255)、
CONSTRAINT chk_person CHECK (Id_P>0 AND City='Sandnes')
)
-------------------------------------------------- ------------------------------
例:lijintao を使用 CREATE TABLE S2
(SNO CHAR(2) CONSTRAINT S_PRIM 主キー、
SN CHAR(8) 制約 SN_CONS が NULL ではありません。
AGE NUMERIC(2) 制約 AGE_CONS が NULL ではありません 制約 AGE_CHK チェック (15 歳から 45 歳までの年齢)、
SEX CHAR(2) DEFAULT '男' CONSTRAINT SEX_CHK CHECK(SEX = '男' OR SEX = '女')、
DEPT CHAR(2) CONSTRAINT DEPT_CONS NOT NULL);
本書来源:CSDN 博客、转下请标明出处: http://blog.csdn.net/Qingqinglanghua/archive/2009/12/21/5051563.aspx
-