1.定义基本表语句
ความหมาย:
ใช้ 数据库名 CREATE TABLE 表名 (列名 类型(ตัวใหญ่) DEFAULT'默认值',
列名 类型(ตัวใหญ่) DEFAULT'默认值',
列名 类型(ตัวใหญ่) DEFAULT'默认值',
-
注:绿色部份是可以省略的。
ตัวอย่าง:CREATE TABLE S (SNO char(2), SNAME char(8), AGE decimal(2), SEX char(2) DEFAULT'男', DEPT char(2));
创建了一个五列的表,其中第四列的默认值为'男'。
-
2.定义完整性约束
ความหมาย:
ใช้ 数据库名 CREATE TABLE 表名 (列名 类型(ตัวใหญ่) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
列名 类型(ตัวใหญ่) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
列名 类型(ตัวใหญ่) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
-
注:(1) 绿色部份是可以省略的。
(2) 一个列是可以有多个约束的。
约束定义:
(1) โมฆะ | NOT NULL 用于定义列的空值约束。(定义列) (下的的蓝色部份是单选其中之一)
ความหมาย:CONSTRAINT 约束名 NULL | ไม่เป็นโมฆะ
注意:
ก. NOT NULL 约束强制列不接受 NULL 值。
ข. NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。
เช่น:
คำสั่ง SQL ของ SQL "Id_P" และ "LastName" 列不接受 NULL 值:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
-
(2)UNIQUE 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
语法:CONSTRAINT 约束名 UNIQUE (列名, 列名, ... ...);
说明:用于指定基本表在某一个列或多个列的组合上取值必须唯一。定义了UNIQUE约束的那些列称为唯一键。如果为基本表的革一列或多个列的组合指定了UNIQUE约束,则系统将为这些列建立唯一索引,从而保证在表中的任意两行记录在指定的列或列组合上不能取同样的值.
注意:
ก. UNIQUE 约束唯一标识数据库表中的每条记录。
ข. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
ค. คีย์หลัก 拥有自动定义的 UNIQUE 约束。
d.请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
เช่น:
ติดต่อ SQL ใน "Persons" 表创建时在 "Id_P" 列创建 UNIQUE 约束:
มายเอสคิวแอล:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
ไม่ซ้ำกัน (Id_P)
-
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
สร้างบุคคลตาราง
-
Id_P int ไม่ใช่ NULL UNIQUE
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
-
如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下的的 SQL 语法:
MySQL / เซิร์ฟเวอร์ SQL / Oracle / MS การเข้าถึง:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
ข้อจำกัด uc_PersonID UNIQUE (Id_P,นามสกุล)
-
(3)คีย์หลัก 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
คำแปล: CONSTRAINT 约束名 PRIMARY KEY (列名, 列名, ... ...);
说明:用于定义基本表的主键。与UNIQUE约束类似,PRIMARY KEY 约束也是通过建立唯一索引来保证基本表在主键列(某一个列或多个列的组合)上取值的唯一性。然而它们之间也存在着很大差别:在一个基本表中只能定义一个 PRIMARY KEY 约束,却能定义多个UNIQUE约束。如果为基本表的某一个列或多个列的组合指定了 PRIMARY KEY 约束,那么其中在任何一个列都不能出现空值;而 UNIQUE 约束允许出现空值。
注意:
ก. 主键必须包含唯一的值。
ข. 主键列不能包含 NULL 值。
ค. 每个表应该都一个主键,并且每个表只能有一个主键。
เช่น:
คำสั่ง SQL ใน "Persons" อยู่ใน "Id_P" และ PRIMARY KEY
มายเอสคิวแอล:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
คีย์หลัก (Id_P)
-
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
สร้างบุคคลตาราง
-
Id_P int ไม่ใช่คีย์หลักที่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
-
如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下上的 SQL 语法:
MySQL / เซิร์ฟเวอร์ SQL / Oracle / MS การเข้าถึง:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
ข้อ จำกัด uc_PersonID คีย์หลัก (Id_P, นามสกุล)
-
(4) คีย์ต่างประเทศ 外键 (即可以定义列也可能定义表)
语法:CONSTRAINT 约束名 FOREIGN KEY (列名, 列名, ... ...) REFERENCES (列名, 列名, ... ...) ;
说明:指定某一个列或多个列的组合作为外部键,并在外部键和它所引用的主键或唯一键之间建立联系。在这种联系中,包含外部键的基本表称为从表,包含外部键引用的主键或唯一键的表称为主表。一旦为一列或列的组合定义了 FOREIGN KEY 约束,系统将保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。
注意:
a. ใน REFERENCES 中引用的列必须和 FOREIGN KEY 的外部键列一一对应,即列数目相等并且相应列的数据类型相同。
เช่น:
คำสั่ง SQL ใน "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY:
มายเอสคิวแอล:
สร้างคำสั่งซื้อตาราง
-
O_Id int ไม่เป็นโมฆะ
สั่งซื้อไม่มี int ไม่เป็นโมฆะ
Id_P อินท์
คีย์หลัก (O_Id)
คีย์ต่างประเทศ (Id_P) ข้อมูลอ้างอิง บุคคล(Id_P)
-
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
สร้างคำสั่งซื้อตาราง
-
O_Id int ไม่ใช่คีย์หลักที่เป็นโมฆะ
สั่งซื้อไม่มี int ไม่เป็นโมฆะ
Id_P int บุคคลอ้างอิงที่สำคัญต่างประเทศ (Id_P)
-
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下上的 SQL 语法:
MySQL / เซิร์ฟเวอร์ SQL / Oracle / MS การเข้าถึง:
สร้างคำสั่งซื้อตาราง
-
O_Id int ไม่เป็นโมฆะ
สั่งซื้อไม่มี int ไม่เป็นโมฆะ
Id_P อินท์
คีย์หลัก (O_Id)
CONSTRAINT fk_PerOrders คีย์ต่างประเทศ (Id_P) ข้อมูลอ้างอิง บุคคล (Id_P)
-
(5)ตรวจสอบ 约束用于限制列中的值的范围。 (即可以定义列也可能定义表)
语法:CONSTRAINT 约束名 CHECK (约束条件);
说明:用于指定基本表中的每一条记录必须满足的条件,可以对基本表在各个列上的值做进一步的约束,如成绩列的取值既不能大于100,也不能小于0。
注意:
ก. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
ข. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
เช่น:
ติดต่อ SQL ใน "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 整数。
SQL ของฉัน:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
ตรวจสอบ (Id_P>0)
-
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
สร้างบุคคลตาราง
-
Id_P int ไม่ใช่การตรวจสอบ NULL (Id_P>0)
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
-
如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下的的 SQL 语法:
MySQL / เซิร์ฟเวอร์ SQL / Oracle / MS การเข้าถึง:
สร้างบุคคลตาราง
-
Id_P int ไม่เป็นโมฆะ
นามสกุล varchar(255) ไม่เป็นโมฆะ
ชื่อ วาร์ชาร์(255)
ที่อยู่ varchar(255)
เมืองวาร์ชาร์(255)
ข้อ จำกัด chk_Person CHECK (Id_P>0 และเมือง = 'แซนด์เนส')
-
-
ตัวอย่าง:ใช้ lijintao CREATE TABLE S2
(SNO CHAR(2) ข้อ จำกัด S_PRIM คีย์หลัก
SN CHAR (8) ข้อ จำกัด SN_CONS ไม่เป็นโมฆะ
ตัวเลขอายุ (2) ข้อจำกัด AGE_CONS ไม่ใช่ข้อจำกัด AGE_CHK ที่เป็นโมฆะ (อายุระหว่าง 15 ถึง 45 ปี)
SEX CHAR(2) ค่าเริ่มต้น '男' ข้อ จำกัด SEX_CHK CHECK (SEX = '男' หรือ SEX = '女')
DEPT CHAR (2) ข้อ จำกัด DEPT_CONS ไม่เป็นโมฆะ);
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/Qingqinglanghua/archive/2009/12/21/5051563.aspx
-