SQL语言的特点
- 综合统一
- 高度非过程化
- 面向集合的操作方式
- 以同一种语法结构提供多种使用方式
- 语法简洁易学易懂
数据查询SELECT 数据定义CREATE,DROP,ALTER 数据操纵 INSERT,UPDATE,DELETE
数据控制GRANT,REVOKE(9个动词)
学生表Student(Sno,Sname,Ssex,Sage,Sdept)
课程表Course(Cno,Cname,Cpno,Ccredit)
学生选课表SC(Sno,Cno,Grade)
一个数据库可以有多个模式,一个模式下可以有多个表,视图,索引等。
1丶模式的定义
CREATE SCHENA<模式名>AUTHORIZATION <用户名>
给用户ZHANG 创建一个模式NAN
CREATE SCHEMA NAN AUTHORIZATION ZHANG;
若不为 模式命名,则模式名采用用户名
CREATE SCHEMA (ZHANG) AUTHORIZATION ZHANG;
2丶表的定义
CREATE TABLE 表名(列名1 数据类型, //*数据类型一定大写*//
列名2 数据类型,
列名3 数据类型,
);
例3.5
建立一个学生表Student。 //Sno使用CHAR(9)PRIMARY KEY 主码
CREATE TABLE Student( //Sname CHAR(20) UNIQUE,
Sno CHAR (9) PRIMARY KEY, //PRIMARY KEY表示主码,列级完整性约束条件
Sname CHAR(20) UNIQUE, //UNIQUE 表示取唯一值,没有重名的。
Ssex CHAR (2),
Sage SMALLINT,
Stadep CHAR(20)
);
候选码由一个或多个具有唯一标识的码构成,不能删除。
外码 是具有连接作用的码,如在选课表中,学号可以跟Student表连接,课程号可以和课表Cno连接,同时学号和课程号还是选课表的主码。
例3.6
建立一个课程表。SC
CREATE TABLE SC(
Sno CHAR(9),
Cno CHAR(4) , //PRIMARY KEY表示主码,列级完整性约束条件
Cname CHAR(40) UNIQUE, //
Grade SMALLINT ,
PRIMARY KEY(Sno,Cno), //PRIMARY KEY 主码是学号跟课程号,
FOREIGN KEY Sno REFERENCES Student(Sno),//外码FOREIGN KEY 外键 Sno参照REFERENCES(参照)
FOREIGN KEY Cno REFERENCES Course ( Cno)
//外码FOREIGN KEY 外键 Cno参照REFERENCES(参照)
);
定义一个课表Course
CREATE TABLE Course (
Cno CHAR(9) PRIMARY KEY ,
Cname CHAR(20) NOT NULL, //课程名称不能为空值。
Cpno CHAR(9), //先修课,
Ccredit SMALLINT,
FOREIGN KEY Cpno REFERENCES Course (Cno)
);
定义的每一列的数据类型后边+,表定义完后在()+;
3丶模式的删除
DROP SCHEMA 模式名 CASCADE 级联删除该模式下所有内容 | RESTRICT 若该模式下有表或者视图则拒绝删除