08.数据库操纵与定义功能
SQL 的数据操纵与定义功能
一、数据操作功能
定义:SQL 的操作功能是指对数据库中数据的操作功能,主要包括数据的插入、更新和删除
1、插入
三种方式:
(1)标准格式:INSERT INTO 表名 VALUES (具体记录值)
如有表:职工(仓库号,职工号,工资)
则:INSERT INTO 职工 VALUES (“WH5”,“E1”,1300)
(2)特殊格式1:INSERT INTO 表名 FROM ARRAY 数组名
利用已经得到的数组内容对表中记录进行插入
如:DEMENSION X(3)
X (1)=“WH3”
X (2)=“E8”
X (3)=1250
INSERT INTO 职工 FROM ARRAY X
(3)特殊格式2:INSERT INTO 表名 FROM MEMVAR
利用已经得到的同名内存变量进行记录的插入 如:仓库号=“WH4”
职工号=“E9”
工资=1260
INSERT INTO 职工 FROM MEMVAR
2、更新
格式:UPDATE 表名 SET 字段名=表达式 WHERE 条件 (类似于REPLACE 命令)
如将职工表中的工资加30元
UPDATE 职工 SET 工资=工资+30
REPLACE ALL 工资 WITH 工资+30(前提是表已经打开)
******给学生表中的所有学生的年龄增加1岁:UPDATE 学生 SET 年龄=年龄+1
3、删除
格式:DELETE FROM 表名 WHERE 条件
如删除职工表中的工资大于1280的记录
DELETE FROM 职工 WHERE 工资>1280
注意:DELETE 仍为逻辑删除(物理删除须配合PACK )
DELETE 如果不跟条件,则将逻辑删除表中的所有记录
二、数据定义功能
定义:标准SQL 数据定义功能广泛,有数据库定义、表的定义、视图的定义、存储过程定义、规则定义、索引定义等
VF :表定义功能、视图定义功能
1、表的定义:CREATE TABLE 表名(字段名 类型(长度),……)
(1)建立数据库“订货管理库1” CREATE DATABASE 订货管理库1
开始建立“仓库1”表,
要求:字段为(仓库号,C ,5)并建立主索引
(城市,C ,10)
(面积,I )说明有效性规则“面积>0”,并说明出错提示信息“面积应天于0!”
CREATE TABLE 仓库1(仓库号 C (5)PRIMARY KEY,城市 C (10),;
面积 I CHECK (面积>0)ERROR “面积应大于0!”)
(2)建立“职工1”表,
要求:字段为(仓库号,C ,5)
(职工号,C ,5)并建立主索引
(工资,I )有效性规则(工资>1000 AND 工资
并给默认值1200
并用仓库号字段建立普通索引与“仓库1”表建立联系
CREATE TABLE 职工1(仓库号 C (5),职工号 C (5)PRIMARY KEY,; 工资 I CHECK(工资>1000 AND 工资
DEFAULT 1200,FOREIGN KEY 仓库号 TAG 仓库号 REFERENCES 仓库1)
注意:PRIMARY KEY :主关键字建立主索引
CHECK :说明有效性规则
ERROR :出错提示信息
DEFAULTS :给出默认值
FOREIGN KEY 字段名:建立普通索引
TAG 字段名 REFERENCES 表名:引用表名中的主索引建立联系
例1:创建一个表STUD (学生信息表),它由以下字段组成:学号 (C ,10);姓名(C ,
8);性别(C ,2);班级名(C ,10);系别代号(C ,2);地址(C ,50);出生日期
(D );是否团员 (L );备注 (M )照片 (G) 。
CREATE TABLE STUD(学号 C(10),姓名 C(10),性别 C(2),班级名 C(10),系别代号 C(2),地址; C(50),出生日期 D,是否团员 L,备注 M,照片 G)
例2:创建一个表SC (课程成绩表),它由以下字段组成:学号(C ,10);课程号(C ,
2)。
CREATE TABLE SC(学号 C(10),课程号 C(2))
LIST STRUCTURE
2、数据表的删除:DROP TABLE 表名 (谨慎使用)
3、表结构的修改:ALTER TABLE 表名
例:为职工1表增加一个货币类型的总金额字段
ALTER TABLE 职工1 ADD 总金额 Y
例题:在课程成绩表SC 中,增加一个成绩字段变量(N ,3)。
ALTER TABLE SC ADD 成绩 N(3)
LIST STRUCTURE
三、视图:
1、定义:是一个定制的虚拟表,可以是本地的、远程的或带参数的。
视图可引用一个或多个表,或者引用其他视图
视图是可更新的,它可引用远程表
2、关系数据库中,VF 称视图为“窗口”,把它看作是从表中派生出来的虚表,它依赖于表,但不独立存在。
3、建立方法:CREATE VIEW 视图名 AS SELECT 语句(可以是任意的查询语句) 注意:视图为数据表(基本表)派生出来的。
(1)从单个表派生出的视图
CREATE VIEW EW11 AS SELECT 职工号,仓库号 FROM 职工
建立了视图,可以直接使用此视图(虚拟表)
SELECT * FROM EW11
(2)从多个表派生出的视图
CREATE VIEW EW22 AS SELECT 城市,职工号,工资 FROM 仓库,职工 WHERE 仓库. 仓库号=职工. 仓库号
以后可以直接使用此视图:SELECT * FROM EW22
(3)在视图中建立虚字段(即原表中并不存在的字段)
格式:CREATE VIEW 视图名 AS SELECT ……,表达式 AS 新字段名,…… FROM 关系表名
如:定义一个视图,将职工表中的职工号,月工资和年工资3个字段。
注意:(工资=月工资,工资*12=年工资)
CREATE VIEW EW33 AS SELECT 职工号,工资 AS 月工资,工资*12 AS 年工资 FROM 职工
4、视图的删除:DROP VIEW
5、视图说明(略) 视图名