CREATE TABLE 语句用于创建数据库中的表.
表由行和列组成, 每个表都必须有个表名.
SQL CREATE TABLE 语法
- CREATE TABLE table_name
- (
- column_name1 data_type(size),
- column_name2 data_type(size),
- column_name3 data_type(size),
- ....
- );
column_name 参数规定表中列的名称.
data_type 参数规定列的数据类型(例如 varchar,integer,decimal,date 等等).
size 参数规定表中列的最大长度.
**********************************************************************************************************************************************************
SQL 约束(Constraints)
SQL 约束用于规定表中的数据规则.
如果存在违反约束的数据行为, 行为会被约束终止.
约束可以在创建表时规定(通过 CREATE TABLE 语句), 或者在表创建之后规定(通过 ALTER TABLE 语句).
SQL CREATE TABLE + CONSTRAINT 语法
- CREATE TABLE table_name
- (
- column_name1 data_type(size) constraint_name,
- column_name2 data_type(size) constraint_name,
- column_name3 data_type(size) constraint_name,
- ....
- );
在 SQL 中, 我们有如下约束:
NOT NULL - 指示某列不能存储 NULL 值.
UNIQUE - 保证某列的每行必须有唯一的值.
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合. 确保某列 (或两个列多个列的结合) 有唯一标识, 有助于更容易更快速地找到表中的一个特定的记录.
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性.
CHECK - 保证列中的值符合指定的条件.
DEFAULT - 规定没有给列赋值时的默认值.
*********************************************************************************************************************************************************
SQL NOT NULL 约束
NOT NULL 约束强制列不接受 NULL 值.
NOT NULL 约束强制字段始终包含值. 这意味着, 如果不向字段添加值, 就无法插入新记录或者更新记录.
*********************************************************************************************************************************************************
SQL UNIQUE 约束
UNIQUE 约束唯一标识数据库表中的每条记录.
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证.
PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束.
请注意, 每个表可以有多个 UNIQUE 约束, 但是每个表只能有一个 PRIMARY KEY 约束.
如需命名 UNIQUE 约束, 并定义多个列的 UNIQUE 约束, 请使用下面的 SQL 语法:
- MySQL / SQL Server / Oracle / MS Access:
- CREATE TABLE Persons
- (
- P_Id int NOT NULL,
- LastName varchar(255) NOT NULL,
- FirstName varchar(255),
- Address varchar(255),
- City varchar(255),
- CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
- )
ALTER TABLE 时的 SQL UNIQUE 约束
当表已被创建时, 如需在 "P_Id" 列创建 UNIQUE 约束, 请使用下面的 SQL:
- MySQL / SQL Server / Oracle / MS Access:
- ALTER TABLE Persons
- ADD UNIQUE (P_Id)
如需命名 UNIQUE 约束, 并定义多个列的 UNIQUE 约束, 请使用下面的 SQL 语法:
- MySQL / SQL Server / Oracle / MS Access:
- ALTER TABLE Persons
- ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
撤销 UNIQUE 约束
如需撤销 UNIQUE 约束, 请使用下面的 SQL:
- MySQL:
- ALTER TABLE Persons
- DROP INDEX uc_PersonID
- SQL Server / Oracle / MS Access:
- ALTER TABLE Persons
- DROP CONSTRAINT uc_PersonID
- *********************************************************************************************************************************************************************************
来源: http://www.bubuko.com/infodetail-2848828.html