长沙网站推广公司,网站文字模板,深圳外贸网站设计公司,wordpress死链自动提交前言 #x1f6a9;定义/创建基本表语法示例 修改基本表语法示例 删除基本表语法示例 感谢 #x1f496; 前言 #x1f6a9;
SQL支持数据库系统的三级模式结构#xff0c;其模式、外模式和内模式中的基本对象有表、视图和索引#xff0c;因此#xff0c;SQL的数据定义功能… 前言 定义/创建基本表语法示例 修改基本表语法示例 删除基本表语法示例 感谢 前言
SQL支持数据库系统的三级模式结构其模式、外模式和内模式中的基本对象有表、视图和索引因此SQL的数据定义功能包括定义表、定义视图和定义索引。
前面【数据库系统概论】SQL是什么它有什么特点提到SQL中只有三个数据定义动词分别是CREATE创建、DROP删除ALTER修改。虽然只有三个动词但通过灵活的使用能够发挥强大的作用。
本篇文章介绍如何定义/创建、修改和删除基本表。
定义/创建基本表
定义表需要定义表名、列名、列的数据类型。还可以定义与该表有关的完整性约束条件。
语法
CREATE TABLE 表名列名 数据类型[ 列级完整性约束条件 ][列名 数据类型[ 列级完整性约束条件] ] …[表级完整性约束条件 ] ;表名所要定义的基本表的名字列名组成该表的各个属性列列级完整性约束条件涉及相应属性列的完整性约束条件表级完整性约束条件涉及一个或多个属性列的完整性约束条件
定义表的各个属性时需要指明数据类型和长度。不同的RDBMS中支持的数据类型不完全相同
SQL Server中常用的完整性约束
主码约束 PRIMARY KEY唯一性约束UNIQUE非空值约束NOT NULL参照完整性约束外码约束FOREIGN KEY……REFERENCES检查约束CHECK默认值约束DEFAULT
示例
建立一个学生表Student其中包括学号Sno姓名Sname性别Ssex年龄Sage入学时间Sdate5个属性。其中学号为主键姓名唯一入学时间不能为空。 CREATE TABLE Student(Sno CHAR(6) PRIMARY KEY,Sname CHAR(10) UNIQUE, Ssex CHAR(2) CHECK(Ssex IN (’男’,’女’)),Sage SMALLINT,Sdate DATE NOT NULL;建立一个课程表Course其中包括课程号Cno课程Cname先修课Cpno学分Ccredit4个属性。其中课程号为主键学分不能为空。
CREATE TABLE Course(Cno CHAR(3) PRIMARY KEY,Cname CHAR(20),Cpno CHAR(3),Ccredit SMALLINT NOT NULL);建立学生选课表SC其中包括学号Sno课程号Cno和成绩Grade。学号和课程号为主键。
CREATE TABLE SC (Sno CHAR(6),Cno CHAR(3),Grade SMALLINT,PRIMARY KEY(Sno,Cno), /*表级完整性约束条件(Sno,Cno)为主键*/FOREIGN KEY (Sno) REFERENCES Studnet(Sno),/*表级完整性约束条件Sno为外键参照Student表中的Sno*/FOREIGN KEY (Cno) REFERENCES Course(Cno)/*表级完整性约束条件Cno为外键参照Course表中的Cno*/);修改基本表
语法
修改表包括添加新的属性列、删除列、添加完整性约束、删除完整性约束、修改列的数据类型。 ALTER TABLE 表名
[ADD 新列名 数据类型 [完整性约束]]
[ADD 表级完整性约束]
[DROP [COLUMN ] 列名 ]
[DROP CONSTRAINT 完整性约束名]
[ALTER COLUMN 列名 数据类型 ]示例
向Student表中增加 “所在系Sdept”列
ALTER TABLE Student ADD Sdept CHAR(20);
/* 注意当向表中新增加一列后表中相应列的值为空值 */将年龄的数据类型改为长整型:
ALTER TABLE Student ALTER COLUMN Sage INT;删除基本表
基本表删除后表中的数据以及此表上建立的索引、视图、触发器等都将自动被删除。另外DROP TABLE不能用于删除由外键约束引用的表必须先删除有外键约束条件的表然后才能删除其引用的表。
语法
DROP TABLE 表名;示例
删除Student表
DROP TABLE Student;感谢
好啦这次的分享就到这里感谢大家看到这里