第3章SQL语言基础及数据定义功能精选.ppt

第3章SQL语言基础及数据定义功能精选

示例2 CREATE DATABASE RShDB ON ( NAME = RShDB, FILENAME = D:\RShDB_Data\RShDB.mdf , SIZE = 10, MAXSIZE = 30, FILEGROWTH = 5 ) LOG ON ( NAME = RShDB_log, FILENAME = D:\RShDB_Data\RShDB_log.ldf , SIZE = 3, MAXSIZE = 12, FILEGROWTH = 2 ) 示例3 CREATE DATABASE students ON PRIMARY ( NAME = students, FILENAME = F:\Data\students.mdf, SIZE = 3MB, MAXSIZE = UNLIMITED ), ( NAME = students_data1, FILENAME = D:\Data\students_data1.ndf, SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 1MB ) LOG ON ( NAME = students_log, FILENAME = F:\Data\students_log.ldf, SIZE = 2MB, MAXSIZE = 6MB, FILEGROWTH = 10% ) 3.4 创建与维护关系表 3.4.1 用T-SQL语句实现 3.4.2 用SSMS工具实现 3.4.1 用T-SQL语句实现 1 创建表 2 定义完整性约束 3 修改表结构 4 删除表 1 创建表 CREATE TABLE 表名( 列名 数据类型 [列级完整性约束定义] {, 列名 数据类型 [列级完整性约束定义] … } [, 表级完整性约束定义 ] ) 2 定义完整性约束 NOT NULL:限制列取值非空。 DEFAULT:给定列的默认值。 UNIQUE:限制列取值不重。 CHECK:限制列的取值范围。 PRIMARY KEY:定义主码。 FOREIGN KEY:定义外码。 说明: NOT NULL和DEFAULT只能定义在列级完整性约束处 多列的CHECK约束只能定义在表级完整性约束处 主码约束 语法格式: PRIMARY KEY [(列名 [, … n] )] 如果是在列级完整性约束处定义单列的主码,可省略方括号部分。 外码约束 语法格式为: [FOREIGN KEY (列名)] REFERENCES 外表名(外表列名) 如果是在列级完整性约束处定义单列的外码,可省略方括号部分。 UNIQUE约束 用于限制在一个列中不能有重复的值。 语法格式为: 列名 数据类型 UNIQUE [(列名 [, … n] )] 如果是在列级完整性约束处定义单列的UNIQUE约束,则可以省略括号部分。 DEFAULT约束 用于提供列的默认值。 一个列只能有一个默认值约束,而且一个默认值约束只能用在一个列上。 只能定义在列级完整性约束处。 语法格式: 列名 DEFAULT 默认值 CHECK约束 用于限制列的输入值在指定的范围内。 语法格式: CHECK (逻辑表达式) 说明:逻辑表达式中不能包含来自多个表的列。 Student表结构 列名 含义 数据类型 约束 Sno 学号 CHAR(7) 主码 Sname 姓名 NCHAR(5) 非空 SID 身份证号 CHAR(18) 取值不重 Ssex 性别 NCHAR(1) 默认值为“男” Sage 年龄 TINYINT 取值范围为15~45 Sdept 所在系 NVARCHAR(20) 定义Student表 CREATE TABLE Student ( Sno CHAR(7) PRIMARY KEY, Sname NCHAR(5) NOT NULL, SID CHAR(18) UNIQUE, Ssex NCHAR(1) DEFAULT 男, Sage TINYINT CHECK(Sage=15 AND Sage=45), Sdept NVARCHAR(20) ) Course表结构 列名 含义 数据类型 约束 Cno 课程号 CHAR(6) 主码 Cname 课程名 NVARCHAR(20) 非空 Credit 学分 NUMERIC(3,1) 大于0 Semester 学期 TINYINT 定义Course表 CREATE TABLE Course ( Cno

文档评论(0)

1亿VIP精品文档

相关文档