SQL 数据库创建表与完整性约束
SQL 语言功能概述
SQL 语言可以分为四个部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。其中,数据定义功能包括 CREATE、DROP、ALTER 等命令,用于定义和修改数据库的结构;数据控制功能包括 GRANT、REVOKE 等命令,用于控制数据库的访问权限;数据查询功能包括 SELECT 等命令,用于查询和检索数据库中的数据;数据操纵功能包括 INSERT、UPDATE、DELETE 等命令,用于添加、修改和删除数据库中的数据。
SQL 的数据类型
SQL 的数据类型可以分为数值型、字符串型、日期时间型、货币型等。其中,数值型包括整数型、浮点型、近似型等;字符串型包括普通编码字符串类型、统一字符编码字符串类型、二进制字符串类型等;日期时间型包括 Datetime、SmallDateTime 等;货币型包括 Money、小money 等。
基本表的定义、删除及修改
基本表的定义使用 SQL 语言中的 CREATE TABLE 语句实现,其一般格式为:CREATE TABLE <表名> (<列名> <数据类型> [列级完整性约束定义] {, <列名> <数据类型> [列级完整性约束定义]… }[, 表级完整性约束定义]);基本表的删除使用 DROP TABLE 语句实现;基本表的修改使用 ALTER TABLE 语句实现。
约束定义
在定义基本表时,可以定义各种约束,包括 NOT NULL、DEFAULT、UNIQUE、CHECK、PRIMARY KEY、FOREIGN KEY 等。其中,NOT NULL 约束限制列取值非空;DEFAULT 约束给定列的默认值;UNIQUE 约束限制列取值不重;CHECK 约束限制列的取值范围;PRIMARY KEY 约束指定本列为主码;FOREIGN KEY 约束定义本列为引用其他表的外码。
在定义表级完整性约束时,需要注意以下几点:如果 CHECK 约束是定义多列之间的取值约束,则只能在表级完整性约束处定义;如果表的主码由多个列组成,则也只能在表级完整性约束处定义,并将主码列用括号括起来,即:PRIMARY KEY (列 1 { [ ,列 2 ] … });如果在表级完整性约束处定义外码,则“ FOREIGN KEY (<外码列名>)” 部分不能省。
SQL 语言提供了丰富的数据类型和约束定义机制,用于创建和管理数据库结构,确保数据的一致性和完整性。