1.정확한 基本表语句
설명:
USE 数据库name CREATE TABLE 表name (列name 类型(大小) DEFAULT'默认值',
列name 类型(大小) DEFAULT'默认值',
列name 类型(大小) DEFAULT'默认值',
... ...);
注:绿colorpart份是可以省略的.
예: CREATE TABLE S (SNO char(2), SNAME char(8), AGE 십진수(2), SEX char(2) DEFAULT'男', DEPT char(2));
创建了一个五列的表,其中第五列的默认值为'男'.
------------------------------------- -----------------
2.정확한 完整性约束
설명:
USE 数据库name CREATE TABLE 설명 이름 (列name 类型(大小) DEFAULT'默认值' CONSTRAINT 约束name 约束定义,
列name 类型(大小) DEFAULT'默认值' CONSTRAINT 约束name 约束定义,
列name 类型(大小) DEFAULT'默认值' CONSTRAINT 约束name 约束定义,
... ...);
注:(1) 绿color PART 份是可以省略的.
(2) 一个列是可以는 많은 것을 가지고 있습니다.
확정 거래:
(1) NULL | NOT NULL은 NULL이 아닌 용도로 사용됩니다.
설명:CONSTRAINT 约束name NULL | NULL이 아님
참고:
에이. NOT NULL 约束强제제列不接受 NULL 值.
비. NULL이 아닙니다.
예:
下면적 SQL 语句强system "Id_P" 列和 "LastName" 列不接受 NULL 值:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 바르샤르(255)
)
(2) UNIQUE 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
설명: CONSTRAINT 约束name UNIQUE (列name, 列name, ... ...);
说明: 于指定基本表는 某一个列或多个列的组合上取值必须唯一.义了UNIQUE约束的那些列称为唯一键。如果为基本表的더 많은 것을 선택하세요 UNIQUE는 则系统将为这些列建立唯一索引, 从而保证에서 表中의 任表两行记录에서 자신이 정한 列或列组上不能取同样的值值.
참고:
에이. UNIQUE는 독특한 每条记录입니다.
비. 고유 키와 기본 키는 서로 다른 속성을 갖습니다.
기음. PRIMARY KEY는 자체적으로 고유한 키를 갖고 있습니다.
d.请注意,每个表可以多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
예:
"Persons"의 하위 SQL 表创建时에서 "Id_P" 列创建 UNIQUE 约束:
MySQL:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 varchar(255),
고유(Id_P)
)
SQL Server/Oracle/MS 액세스:
테이블 사람 만들기
(
Id_P int NOT NULL 고유,
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 바르샤르(255)
)
如果需要命name UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下면적 SQL 설명 :
MySQL/SQL Server/Oracle/MS 액세스:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P, 성)
)
(3) 기본 키는 기본 키입니다.
설명: CONSTRAINT 约束name PRIMARY KEY (列name, 列name, ... ...);
说ming: 于 정정 义基本表 主键 . 与UNIQUE约束类似, PRIMARY KEY 约束也是通过建立唯一索引来保证基本表 主键列(某个列或多个列的组合)上取值的唯一性。然而它们之间也存에서 着很大差别: 一个基本表中只能定义一个 PRIMARY KEY가 约束, 却能定义多个UNIQUE约束。如果为基本表的某一丈刖多기본 키 约束,那么其中에는 任何一个列道不能流现 空值; 而 UNIQUE 约束允许流现 空值。
참고:
에이. 主键必须包含唯는 유일한 존재입니다.
비. 主键列不能包含 NULL 值.
기음. 每个表应该tour一个主键,并且每个表只能有一个主键.
예:
하단의 SQL은 "Persons"에 있으며 表创建时에서는 "Id_P"에 있고 PRIMARY KEY는 约束:
MySQL:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 varchar(255),
기본 키(Id_P)
)
SQL Server/Oracle/MS 액세스:
테이블 사람 만들기
(
Id_P int NULL이 아닌 기본 키,
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 바르샤르(255)
)
如果需要命name PRIMARY KEY 约束,以及为多个列命义 PRIMARY KEY 约束,请使사용하면적 SQL 설명:
MySQL/SQL Server/Oracle/MS 액세스:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 varchar(255),
CONSTRAINT uc_PersonID 기본 키(Id_P,LastName)
)
(4)외래 키 외부(即可以定义列也可能定义表)
설명: CONSTRAINT 约束name FOREIGN KEY (列name, 列name, ... ...) REFERENCES (列name, 列name, ... ...) ;
说明: 指定某一个列或多个列的组系中, 包含系中, 包含외부键的基本表称为从表,包含列或列的组为一列或列的组为了 FOREIGN KEY 约束,系统将保证从表在외부键上的取值要么是主表中某一个主键值或唯一键值,要么取值。
참고:
a.REFERENCES에는 中引사용용 列必须 및 FOREIGN KEY의 외부 부분이 포함되어 있습니다.
예:
"주문"의 하단 SQL 表创建时为 "Id_P" 列创建 FOREIGN KEY:
MySQL:
테이블 주문 생성
(
O_Id int NOT NULL,
OrderNo int는 NULL이 아닙니다.
Id_P 정수,
기본 키(O_Id),
외래 키(Id_P) 참조 개인(Id_P)
)
SQL Server/Oracle/MS 액세스:
테이블 주문 생성
(
O_Id int NULL이 아닌 기본 키,
OrderNo int는 NULL이 아닙니다.
Id_P int FOREIGN KEY REFERENCES 명(Id_P)
)
如果需要命name FOREIGN KEY 约束,以及为多个列命义 FOREIGN KEY 约束,请使사용하면적 SQL 설명:
MySQL/SQL Server/Oracle/MS 액세스:
테이블 주문 생성
(
O_Id int NOT NULL,
OrderNo int는 NULL이 아닙니다.
Id_P 정수,
기본 키(O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) 참조 개인(Id_P)
)
(5) 约束사용 상태를 확인하세요.
설명: CONSTRAINT 约束name CHECK(约束条件);
说明: 于指定基本表中의 每一条记录必须满足的条件,可以对基本表各个列上的值做进一步约束,如成绩列的取值既不能大于100,也不能小于0。
참고:
에이. 확인하세요.
비. 이를 확인하려면 CHECK를 확인하세요.
예:
하단의 SQL은 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束입니다. CHECK 约束规定 "Id_P"는 列必须只包含大于 0 的整数입니다.
내 SQL:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 varchar(255),
확인(Id_P>0)
)
SQL Server/Oracle/MS 액세스:
테이블 사람 만들기
(
Id_P int NOT NULL 확인(Id_P>0),
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 바르샤르(255)
)
如果需要命name CHECK 约束,以及为多个列命义 CHECK 约束,请使用下面的 SQL 语法:
MySQL/SQL Server/Oracle/MS 액세스:
테이블 사람 만들기
(
Id_P int는 NULL이 아닙니다.
성 varchar(255) NOT NULL,
이름 varchar(255),
주소 varchar(255),
도시 varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND 도시='Sandnes')
)
------------------------------------- -----------------
예: lijintao CREATE TABLE S2 사용
(SNO CHAR(2) 제약 조건 S_PRIM 기본 키,
SN CHAR(8) 제약 조건 SN_CONS NOT NULL,
AGE NUMERIC(2) CONSTRAINT AGE_CONS NOT NULL 제약 AGE_CHK 확인(15~45세 사이의 연령),
SEX CHAR(2) DEFAULT '男' 제약 조건 SEX_CHK CHECK(SEX = '男' OR SEX = '女'),
DEPT CHAR(2) 제약 DEPT_CONS NOT NULL);
本文来自CSDN博客,转载请标明处: http://blog.csdn.net/Qingqinglanghua/archive/2009/12/21/5051563.aspx
-