3.1、SQL的特点
1、综合统一;
2、高度非过程化;
3、面向集合的操作方式;
4、以同一种语法结构提供多种学习使用方式;
5、语言简洁,易学易用。
3.3、数据定义
3.3.1、模式的定义与删除
1.定义模式
在SQL中,定义模式的语句如下:
CREATE SCHEMA<模式名>AUTHORIZATION<用户名>;
2.删除模式
在SQL中,删除模式的语句如下:
DROP SCHEMA<模式名><CASCADE|RESTRICT>;
3.3.2、基本表的定义、删除与修改
1.定义基本表
定义基本表的SQL语句如下:
CREATE TABLE(<表名><数据类型>[列级完整性约束条件]
[<表名><数据类型>[列级完整性约束条件]]
……
[,<表级完整性约束条件>]);
2.修改基本表
修改基本表的SQL语句如下:
ALTER TABLE<表名>
[ADD[COLUMN]<新列名><数据类型>[完整性约束]]
[ADD<表级完整性约束>]
[DROP SCHEMA<模式名><CASCADE|RESTRICT>]
[DROPCONSTRAINT<完整性约束名><CASCADE|RESTRICT>]
[ALTER COLUMN<列名><数据类型>];
3.删除基本表
删除基本表的SQL语句如下:
DROP TABLE<表名>[RESTRICT|CASCADE];
3.3.3、索引的建立与删除
1、建立索引
建立索引的SQL语句如下:
CREATE[UNIQUE][CLUSTER]INDEX<索引名>
ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);
2、修改索引
修改索引的SQL语句如下:
ALTER INDEX<旧索引名>RENAME TO<新索引名>;
3、删除索引
删除索引的SQL语句如下:
DROP INDEX<索引名>;
3.4、数据查询
1. 等值与非等值连接查询
1.连接查询的where子句中用来连接两个表的条件称为连接条件或连接谓词
格式:[<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2>;
比较运算符主要有:= > < >= <= !=
连接运算符为 = 时,称为等值连接,使用其他运算符称为非等值连接。
2.自然连接:若在等值连接中把目标列中重复的属性列去掉则为自然连接.
3.一条SQL语句可以同时完成选择和连接查询,这时WHERE子句是由连接谓词和选择谓词组成的复合条件。
2. 自身连接
一个表与其自己进行连接,称为表的自身连接。
3. 外连接:
1. 外连接的表是有顺序的
2. 外连接条件不是全局条件
3. 当行一个不能少时,使用外连接
有时想以student表为主体列出每个学生的基本情况及其选课情况。
若某个学生没有选课,仍把student的悬浮元组保存在结果关系中,而在sc表的属性上填空值NULL,这时就需要使用外连接。
外连接:把悬浮元组也保存在结果关系中,而在其他属性上填空值NULL。
4. 多表连接
两个以上的表进行连接。