1.定义基本表语句
语法:
USE 数据库名 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.定义完整性约束
语法:
USE 数据库名 CREATE TABLE 表名 (列名 类型(大小) DEFAULT默认值 CONSTRAINT 约束名 约束定义,
列名 类型(大小) DEFAULT默认值 CONSTRAINT 约束名 约束定义,
列名 类型(大小) DEFAULT默认值 CONSTRAINT 约束名 约束定义,
... ...);
注:(1) 绿色部份是可以省略的。
(2) 一个列是可以有多个约束的。
约束定义:
(1)NULL | NOT NULL 用于定义列的空值约束。(定义列) (下面的蓝色部份是单选其中之一)
语法:CONSTRAINT 约束名 NULL | NOT NULL
注意:
a. NOT NULL 约束强制列不接受 NULL 值。
b. NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。
例:
下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
(2)UNIQUE 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
语法:CONSTRAINT 约束名 UNIQUE (列名, 列名, ... ...);
说明:用于指定基本表在某一个列或多个列的组合上取值必须唯一。定义了UNIQUE约束的那些列称为唯一键。如果为基本表的革一列或多个列的组合指定了UNIQUE约束,则系统将为这些列建立唯一索引,从而保证在表中的任意两行记录在指定的列或列组合上不能取同样的值。
注意:
a. UNIQUE 约束唯一标识数据库表中的每条记录。
b. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
c. PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
d.请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
例:
下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 UNIQUE 约束:
MySQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
&n