结构化查询语言
询)等组成,由于SELETE比较特殊,所以一般又将它 以查询(检索)语言单独出现。
上页 下页 退出
8
一、插入记录
【 格 式 】 INSERT INTO < 表 名 > [ < 字 段 名 表 > ] VALUES (<表达式表>)
目录 【 功 能 】 在 指 定 的 表 文 件 末 尾 追 加 一 条 记 录 。 格 式 用
上页 则该表中的所有记录都将被删除。
【说明】这里的删除是逻辑删除,即在删除的记录前 下页 加上一个删除标记“*”。
【例5-10】删除STUD表中所有性别为男的记录。
退出
DELETE FROM STUD WHERE 性别=“男”
12
第四节 数据查询功能
数据库中的数据很多时侯是为了查询的,因 此,数据查询是数据库的核心操作。而在SQL语 目录 言中,查询语言中有一条查询命令,即SELECT语 句。
退出
16
【例5-13】显示STUD表中所有男生记录的学号, 姓名和性别字段值。
SELECT 学号,姓名,性别 ;
目录
FROM STUD WHERE 性别="男"
【例5-14】显示STUD表中出生日期在82年之间的 上页 学生的学号,姓名,出生日期。
下页 SELECT 学号,姓名,出生日期 ;
FROM STUD ; 退出 WHERE 出生日期 BETWEEN ;
21
4.排序、分组与计算查询 SELECT <字段列表> ; 目录 FROM <表> ; [WHERE <条件>]; 上页 [GROUP BY <分类字段>]; [HAVING <过滤条件>] ;
下页
[ORDER BY <排序项> [ASC | DESC]] 退出 【功能】包括有排序、分组与函数运算。
sele 学号,count(*) AS 课程门数 FROM sc; group by 学号 havi count(*)>=3
24
5.定向输出 默认情况下,查询输出到一个浏览窗口,用户在 “ SELECT” 语 句 中 可 使 用 INTO < 目 标 > 或 TO FILE <文件名>子句选择查询去向:
22
【例5-20】按出生日期降序显示STUD表中的学号, 姓名,出生日期。 SELECT 学号,姓名,出生日期 ; 目录 FROM STUD ; 上页 ORDER BY 出生日期 DESC
下页 【例5-21】按成绩升序显示SC表中的学号,课程号, 成绩。
退出
SELECT 学号,课程号,成绩 ; FROM SC ; ORDER BY 成绩
下页
【例5-9】将成绩表(SC)中,所有课程号为02的成绩 退出 各加5分。
UPDATE SC SET 成绩=成绩+5 ; WHERE 课程号=“kc0002"
11
三、删除记录
【格式】DELETE FROM <表名> WHERE <表达式>
目录 【功能】从指定的表中删除满足WHERE子句条件的所有 记 录 。 如 果 在 DELETE 语 句 中 没 有 WHERE 子 句 ,
退出 【例5-5】在成绩表SC1中,设置成绩字段的规则为:成绩>=0。
ALTER TABLE SC1 ALTER 成绩 set check 成绩>=0
【例5-6】删除成绩字段的规则
ALTER TABLE SC1 ALTER 成绩 DROP check
6
三、删除表
【格式】DROP TALBE <表名>
上页
下页 【例5-8】在表文件sc1的末尾追加记录 退出 INSERT INTO SC1 ;
VALUES(“010102”,”kc0003”,90,0) 注:是给所有字段赋值,所以可以省略<字段名>
10
二、更新记录命令
【格式】UPDATE <表文件名> SET <字段名1>=<表达式> [,<字段名2>=<表达式>…][WHERE <条件>] 目录 【功能】更新指定表文件中满足WHERE条件子句的数据。 其中SET子句用于指定列和修改的值,WHERE用于指定 上页 更新的行,如果省略WHERE子句,则表示表中所有行。 【说明】更新操作又称为修改操作。
<字段名表>:给部分字段赋值时,必须指定字段。
缺省时,按表文件字段的顺序,依次给所有字段赋 值。
9
【例5-7】在表文件STUD1的末尾追加记录。 INSERT INTO STUD1(学号,姓名,性别,出生日期) ; 目录 VALUES(“011110”,“李建国”,“男”,{^2002/09/28}) 注:当只给部分字段赋值时,必须指定<字段名>.
表达式表中的各表达式值赋值给<字段名表>中
的
上页 相应的各字段。
【 说 明 】 如 果 某 些 字 段 名 在 INTO 子 句 中 没 有 出 现 , 则
下页 新 记 录 在 这 些 字 段 名 上 将 取 空 值 ( 或 默 认 值 ) 。
但必须注意的是,在表定义说明了NOT NULL
的
退出 字段名不能取空值。
第 七章 结构化查询语言(SQL)
1
本章目录
第一节 SQL概述
目录
上页
第二节 数据定义功能
下页
第三节 数据操纵功能
退出
第四节 数据查询功能
2
第一节 SQL概述
SQL语言集数据定义(DDL)、数据操纵(DML)、 数据管理(DCL)的功能于一体,语言风格统一,可以 目录 独立完成数据库的全部操作,包括定义关系模式、录 入数据及建立数据库、查询、更新、维护数据、数据 库的重新构造、数据库安全性等一系列操作的要求, 上页 为数据库应用系统开发者提供了良好的环境。
为连接的子句。 目录 【例5-18】查询并显示各个学生的学号,所学课程
及课程成绩。 上页 SELECT 学号,课程名,成绩 ;
FROM SC,kc ; 下页 WHERE SC.课程号=kc.课程号
退出 【例5-19】内连接方式: SELECT 学号,课程名,成绩 ; FROM SC JOIN kc ; ON SC.课程号=kc.课程号
目录 SELECT 学号,课程名,成绩 ; FROM SC JOIN kc ;
上页 ON SC.课程号=kc.课程号; 下页 INTO TABLE RESULTS
退出
26
结束
27
接查询(也称为多表查询)。在多表之间查询 下页 必须处理表与表之间的连接关系。
SELECT <字段列表>
退出
FROM <表1>[,表2…..]
WHERE <条件表达式>
19
【例5-16】查询并显示各个学生的学号,姓名,各 科成绩及课程名。
SELECT a.学号,a.姓名,b.课程名,c.成绩 ; 目录 FROM STUD a,kc b,SC c ;
【功能】删除指定表的结构和内容(包括在此表上建
目录
立的索引)。
上页
【说明】如果只是想删除一个表中的所有记录,则应
使用DELETE语句。
下页
退出
7
第三节 数据操纵功能
数 据 操 纵 语 言 一 般 由 INSERT( 插 入 ) 、 DELETE 目录 (删除)、UPDATE(更新),SELETE(检索,又称查
下页
退出
3
第二节 数据定义功能
数据定义语言DDL用于执行数据定义的操作,如创建或 删除表、索引和视图之类的对象。由CREATE、DROP、 目录 ALTER命令组成,完成数据库对象的建立(CREATE)、 删除(DROP)和修改(ALTER)。
上页 一、定义(创建)表
下页 【格式】CREATE TABLE <表名> (<字段名1><数据 类型>[(<宽度>[,<小数位数>])][完整性约束][NULL |
上页
【例5-2】创建一个表SC1(课程成绩表),它由以下字段 下页 组成:学号(C,6);课程号(C,6)。
CREATE TABLE SC1(学号 C(6),课程号 C(6))
退出
5
二、修改表
【格式】ALTER TABLE <表名>[ADD| ALTER <字段名><数据 类型>[(<宽度>[,<小数位数>])][完整性约束][NULL | NOT
NULL]
【功能】修改表结构。
目录 【说明】ADD用于增加字段,ALTER为修改字段。
【例5-3】在课程成绩表SC1中,增加一个成绩字段变量(N,3)。
上页
ALTER TABLE SC1 ADD 成绩 N(3)
【例5-4】在课程成绩表SC1中,增加一个整形字段:学分,并设置 下页 规则:学分>=0
ALTER TABLE SC1 ADD 学分 I CHECK 学分>=0
OR 连接的条件表达式组成,条件表达式的格 下页 式可以是以下几种:
退出
15
(1)<字段名1> <关系运算符> <字段名2>。
(2)<字段名> <关系运算符> <表达式>。
目录 (3)<字段名>
终止值> 上页 (4)<字段名>
BETWEEN <起始值> AND < IN (<子查询>)
下页 (6)<字段名> LIKE <字符表达式>