小克上传第五章 结构化查询语言SQL
第五章 结构化查询语言SQL
第5章关系数据库的结构化查询语言SQL本章介绍关系数据库标准语言SQL。
主要内容包括:数据定义、数据操纵、数据控制和数据约束等。
(1)SQL数据库的体系结构,SQL的组成。
(2)SQL的数据定义:SQL模式、基本表和索引的创建和撤销。
(3)SQL的数据查询:SELECT语句的句法,SELECT语句的几种形式及各种限定,基本表的联接操作。
(4)SQL的数据更新:插入、删除和修改语句。
(5)视图的创建和撤消,对视图更新操作的限制。
(6)嵌入式SQL:预处理方式,使用规定,使用技术,卷游标,动态SQL语句。
5.1 SQL概述1)SQL的发展历程SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统System R上实现。
1986年10月,经美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准,并公布了标准SQL文本。
1987年6月国际标准化组织(ISO)将其采纳为国际标准,称为“SQL86”。
相继出现了“SQL89”、“SQL2(SQL92)”、“SQL3”。
SQL已成为关系数据库领域中的一个主流语言:首先,各个数据库产品厂家纷纷推出了自己的支持SQL的软件或与SQL 接口的软件。
其次,SQL在数据库以外的其他领域也受到了重视。
不少软件产品将SQL的数据检索功能与面向对象技术、图形技术、软件工程工具、软件开发工具、人工智能语言等相结合,开发出功能更强的软件产品。
2)SQL 数据库的体系结构SQL 数据库的体系结构的特征:一个SQL 模式是表和约束的集合。
一个表(TABLE )是行的集合。
每行是列的序列,每列对应一个数据项。
一个表可以是一个基本表,也可以是一个视图。
一个基本表可以跨一个或多个存储文件,一个存储文件也可存储一个或多个基本表。
用户可以用SQL 语句对视图和基本表进行查询等操作。
SQL 用户可以是应用程序,也可以是终端用户。
第五章结构化查询语言SQL
现在学习的是第16页,共88页
5.2.2 简单连接查询
在连接查询中引用两个表的公共字段时
1.等值连接
,须在公共字段名前添加表名或表别名 作为前缀,否则系统会提
对于等值连接,连接条件通常是两示个出数错据。表对的于公只共在字一段个的数值据相表等中。出现的
表指定别名,格式为<关系名>. <别名>,
指定别名后,在引用该数据表的字段时,应
以别名作为数据表的前缀。
现在学习的是第17页,共88页
5.2.2 简单连接查询
1.等值连接
例5.13 查询上官小梅所学课程的课程名及其对应的成绩 select 姓名,课程名,成绩 from student s,course c,grade g
结果全部合并;
现在学习的是第8页,共88页
5.2 数据查询
ORDER By<排序项> [ASC|DESC]:ORDER BY子句指定 按哪个字段对查询结果排序,ASC为升序, DESC为降序;
现在学习的是第9页,共88页
Destination可5以.是2 下数列据三种查子询句之一
[INTO Destination]:指定在何处保存查询结果。如果在同 一个查询中同时包含了INTO子句和TO子句,则TO子句不起
名>] ···]
[WHERE <连接条件> [AND <连接条件···]
[AND|OR<过滤条件> [AND |OR <过滤条件> ···]]]
[GROUP By <分组列> [,<分组列···]][HAVING <过滤条件>]
第5章 结构化查询语言SQL
[, FOREIGN KEY 表达式 TAG 索引名 表达式4 索引名4] [REFERENCES 表名 [TAG 索引名 表名3 索引名5]] [, CHECK 逻辑表达式 [ERROR字符表达式 逻辑表达式2 字符表达式2]]) 字符表达式
5.2.2 表结构的修改
1.格式1 .格式 格式: 格式: ALTER TABLE 表名 ADD | ALTER [COLUMN] 表名1 字段名1 字段类型[(字段宽度 ,小数位数])] 字段名 字段类型 字段宽度 [,小数位数 [NULL | NOT NULL]] [CHECK 逻辑表达式 [ERROR 字符表达式 逻辑表达式1 字符表达式1]] [DEFAULT表达式 ; 表达式1]; 表达式 [PRIMARY KEY | UNIQUE]; ; [REFERENCES 表名 [TAG 索引名 表名2 索引名1]] 功能:此命令可分成两种形式,各有各的功能。 功能:此命令可分成两种形式,各有各的功能。 选用ADD关键字是为表增加新字段。 关键字是为表增加新字段。 选用 关键字是为表增加新字段 选用Alter关键字,对表中的某字段的类型、宽度、有 关键字, 选用 关键字 对表中的某字段的类型、宽度、 效性规则等进行修改。 效性规则等进行修改。
成绩表1(在学生管理数据库中 【例5-4】创建数据库表 成绩表 在学生管理数据库中 】创建数据库表:成绩表 在学生管理数据库中) 并建立与学生表3的永久关系 并建立与学生表 的永久关系 Create table 成绩表 ; 成绩表1 ( 学生证号 C(10) references 学生表 ; 学生表3, 课程编号 C(5), 期末成绩 N(6,2), 学分 N(1))
数据库系统及应用第5章 结构化查询语言SQL
5.1 SQL概述
1.SQL简介
SQL功能 数据定义 数据查询 数据操纵 数据控制
命令动词 CREATE、ALTER、DROP SELECT INSERT、DELETE、UPDATE GRANT、REVOKE
国标准。1987年,国际标准化组织(ISO)将其采纳为国际标准,并推荐它为关系型数据 库的标准操纵语言。该标准在1989年稍加扩充,通常被称为“SQL89”或“SQL1”,它 是许多商用关系数据库软件的基础。
5.1 SQL概述
1.SQL简介
SQL 语言具有以下特点。 (1)SQL 语言是一种介于关系代数和关系演算之间的语言,是一种一体化的语言。
(<字段名1> <字段类型> [ (字段宽度 [,<小数位数> ] ) ] [ NULL] [ NOTNULL ] [ CHECK <逻辑表达式1> [ ERROR <出错信息1> ] ] [AUTOINC [ NEXTVALUE <下一值> [STEP <步长>] ] ] [ DEFAULT <表达式1> ]
5.1 SQL概述
2.Visual FoxPro对SQL的支持
Visual FoxPro 支持 SQL 语言的数据定义、数据查询和数据操纵功能,但在具体实现 方面也存在一些差异。另外,由于 Visual FoxPro 自身在安全控制方面的缺陷,所以它没
有提供数据控制功能。
在 Visual FoxPro 中,用户可以使用以下几种方式执行 SQL 语句或命令。 (1)在命令窗口直接输入 SQL 命令。 (2)在程序中嵌入 SQL 语句。
第5章结构化查询语言
第5章结构化查询语言结构化查询语言(SQL,Structured Query Language)是一种用于管理关系型数据库的标准化语言,也是数据库操作的基础。
SQL可以实现数据库的创建、查询、插入、更新和删除等操作,可以对数据库中的表、视图等进行管理和操作。
SQL语言包括数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和事务控制语言(TCL)等几个方面。
数据定义语言(DDL)用于定义、修改和删除数据库对象,包括创建数据库(CREATEDATABASE)、创建表(CREATETABLE)、修改表结构(ALTERTABLE)和删除表(DROPTABLE)等。
数据操纵语言(DML)用于对数据库中的数据进行操作,包括插入数据(INSERT)、更新数据(UPDATE)和删除数据(DELETE)等。
数据查询语言(DQL)用于从数据库中查询数据,SQL语句的核心部分,可以实现复杂的数据查询和数据过滤。
常见的查询语句包括SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等。
事务控制语言(TCL)用于控制数据库中的事务,包括BEGINTRANSACTION、COMMIT、ROLLBACK等。
通过TCL语句可以确保数据库的操作具有原子性、一致性、隔离性和持久性(ACID特性)。
SQL语言的特点有以下几个方面:1.简单易学:SQL语言的语法相对简单,易于学习和使用。
2.高效可靠:SQL语言是标准化的数据库操作语言,可以高效地对数据库进行管理和操作。
3.跨平台性:SQL语言是一种通用的数据库操作语言,可以在不同的平台和数据库系统上使用。
4.强大灵活:SQL语言可以实现复杂的数据查询和处理,支持多表联合查询、条件查询、分组统计等功能。
SQL语言在现代数据库管理系统中得到了广泛的应用,是数据库开发和管理中非常重要的一部分。
掌握SQL语言可以更好地进行数据库设计、数据管理和数据分析等工作。
第 5 章 复习 SQL(结构化查询语言)
在T_SQL中,连接查询有两大类表示 形式,一是符合SQL标准连接谓词表示形 式,二是T_SQL扩展使用关键字JOIN的表 示形式。
① 指定每个表中要用于连接的列。典型的 连接条件在一个表中指定外键,在另一个 表中指定与其关联的键。 ② 指定比较各列的值时要使用的逻辑运算 符,如“=、< >”等。
[^]
BDTWEEN„AND IS NULL
LIKE
IN EXISห้องสมุดไป่ตู้S
模式匹配,字符串匹配操作符
检查一个字段值是否属于一组值之中 检查某一个字段值是否有值,实际上,EXISTS是IS NULL的反义词
4.练习
列出性别为女的学生姓名、家庭住址 SELECT student_name, address FROM student_info WHERE student_sex='女'
SQL查询
函数及统计
分组排序
连接 子查询
5.6 基于多表的连接查询
在关系型数据库中,将一个查询同时 涉及两个或两个以上的表,称为连接查询。 基于多表的查询是通过所谓的连接查 询来完成的。连接是根据各个表之间的逻 辑关系从两个或多个表中查询数据,结果 通常是含有参加连接运算的两个表(或多 个表)的指定列的表。
列出1980年以后出生的学生的情况 SELECT * FROM student_info WHERE born_date >'1980-12-31'
列出所有家住“武汉市”的男学生姓名、电 话号码和家庭住址
SELECT student_name, tele_number, student_sex, address FROM student_info WHERE substring(address,1,3)='武汉市' AND student_sex='男'
第5章SQL结构化查询语言
5.2 SELECT查询语句
5.2.1 查询分析器 5.2.2 查询语句格式 5.2.3关于演示数据库的说明
Find Information Using SQL Language
5.2.1 查询分析器
在SQL查询分析器中,既可在全文窗口中输入TransactSQL语句,也可以打开包含Transact-SQL语句的文本 文件,执行语句并在结果窗口中,查看结果。
SELECT bookname,
year(getdate())-year(publishdate) as 出版年数
FROM book
Find Information Using SQL Language
使用DISTINCT短语消除重复的记录
DISTINCT短语能够从结果表中去掉重复的记 录。
【例5-6】查询所有图书所属的出版社。
SELECT bookid AS 书号,bookname 书名,出版社=publish FROM book
Find Information Using SQL Language
显示表达式的值
在SELECT语句后面可以是字段表达式,字 段表达式不仅可以是算术表达式,还可以是 字符串常量、函数等。
【例5-5】 显示BOOK表中所有书名和出版年数。
使用单引号加入字符串
在SELECT语句中,可以在一个字段的前面加上一个单引 号字符串,称为虚拟列名,对后面的字段起说明作用。
【例5-3】显示BOOK表中书名、出版社、价格。 SELECT ’书名’, bookname ,’出版社,’publish,price FROM book
Find Information Using SQL Language
Find Information Using SQL Language
第5章SQL结构化查询语言
第5章SQL结构化查询语言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
它是一种标准化的查询语言,用于从数据库中检索和操作数据。
本章将介绍SQL的基本语法和常用命令,以及如何使用它进行数据查询、插入、更新和删除。
1.SQL语法SQL语法由关键字、函数、操作符和参数组成。
SQL语句通常以分号结尾,并且可以写在一行或多行中。
常见的SQL语句包括:- SELECT语句:用于从数据库中检索数据。
例如:SELECT * FROM table_name;- INSERT语句:用于向数据库中插入新的数据。
例如:INSERT INTO table_name (column1, column2) VALUES (value1, value2);- UPDATE语句:用于更新数据库中的数据。
例如:UPDATEtable_name SET column_name = new_value WHERE condition;- DELETE语句:用于从数据库中删除数据。
例如:DELETE FROM table_name WHERE condition;2.数据查询使用SELECT语句可以从数据库中检索数据。
可以使用通配符*检索所有列,或者指定要检索的列名。
例如,SELECT * FROM customers; 将检索customers表中的所有数据。
可以使用WHERE子句来添加过滤条件,例如:SELECT * FROM customers WHERE age > 18; 将检索年龄大于18的顾客数据。
3.数据插入使用INSERT语句可以向数据库中插入新的数据。
插入数据需要指定插入的表名和要插入的数据的列和值。
例如,INSERT INTO customers (name, age) VALUES ('John', 25); 将向customers表中插入一条名为John,年龄为25的新数据。
第5章结构化查询语言SQL
数据库系统及应用
第5章 结构化查询语言SQL
基本表的创建、 2.基本表的创建、修改和删除 DATABASE建立的数据库是一个空的数据库 建立的数据库是一个空的数据库, 用CREATE DATABASE建立的数据库是一个空的数据库,接下来应该在 这个数据库中建立表。 这个数据库中建立表。 (1)创建基本表 表的创建既可以通过表设计器或Visual FoxPro的新建表命令实现 的新建表命令实现, 表的创建既可以通过表设计器或Visual FoxPro的新建表命令实现, 也可以使用SQL中的相应命令创建。 SQL中的相应命令创建 也可以使用SQL中的相应命令创建。 命令格式: <表名 [FREE]( 字段名1> <字段类 表名> 命令格式:CREATE TABLE|DBF <表名> [FREE](<字段名1> <字段类 <(宽度[,<小数位数>])>[,<字段名 <字段类型 <(宽度[,<小 宽度[,<小数位数>])>[,<字段名2> 字段类型> 宽度[,< 型> <(宽度[,<小数位数>])>[,<字段名2> <字段类型> <(宽度[,<小 数位数>])>, >])>,…]) 数位数>])>, ]) 功能:建立一个由<表名>指定的表结构。 功能:建立一个由<表名>指定的表结构。 说明: 说明: 表名> 指定要创建的表的名称。 ①<表名>:指定要创建的表的名称。 FREE:指定创建的表是一个自由表,不被添加到数据库中。 ②FREE:指定创建的表是一个自由表,不被添加到数据库中。 字段名1> <字段类型 <(宽度[,<小数位数>]): 字段类型> 宽度[,<小数位数>]) ③<字段名1> <字段类型> <(宽度[,<小数位数>]):指定相应字段的 名称、类型、宽度及小数位数。 名称、类型、宽度及小数位数。
第 5 章 SQL(结构化查询语言)
2.数据处理语言(Data Manipulation Language,DML)
SQL语法中处理数据语言称为DML。 例如,使用SELECT(数据查询语句)查 询表中的内容,或者使用INSERT(插入 语句)、DELETE(删除语句)和 UPDATE(更新语句)插入、修改和更新 一笔记录等,这些语句属于DML。
SELECT student_id,student_name, student_sex FROM student_info WHERE class_no NOT IN (200001,200002)
LIKE关键字用于指出一个字符串是否 与指定的字符串相匹配,其运算对象可以 是char、text、datetime和smalldatetime等 类型的数据,返回逻辑值TRUE或FALSE。 LIKE关键字表达式的格式为: 字符表达式1 [NOT] LIKE 字符表达式2
SQL是应用于数据库的语言,本身是 不能独立存在的。
5.1.2 SQL的分类
SQL按照用途可以分为如下3类。
1.数据定义语言(Data Definition Language,DDL)
类似于这一类定义数据库对象的SQL 叙述即为DDL语言。例如,数据库创建语 句(CREATE DATA)和表创建语句 (CREATE TABLE)等。
图5-5
【例5-2】的显示结果
SELECT student_name,'家庭住址', address FROM student_info
图5-6
【例5-3】的显示结果
5.3.4 使用别名
在显示结果时,可以指定以别名代替 原来的字段名称,共有3种方法: 采用“字段名称 AS 别名”的格式; 采用“字段名称 别名”的格式; 采用“别名=字段名称”的格式。
数据库系统及应用第5章 结构化查询语言SQL
数据表的创建 建立表间永久关系
SQL的数据查询
掌握SELECT语句的格式,能使用该语句实现简单 查询、嵌套查询、连接查询、分组与计算查询
查询与统计
掌握INSERT、DELETE和UPDATE语句的格式, SQL的数据操纵 能使用这些语句实现数据表记录的添加、删除和
更新
表的基本操作
数据库系统及应用
[ PRIMARY KEY | UNIQUE ] [ REFERENCES <表名2> [ TAG <标识名1> ] ] 功能:用于添加一个新的字段或者修改一个已有的字段。 说明: (1)ADD子命令用于添加一个新的字段,ALTER子命令用于修改 一个已有的字段。 (2)使用该命令可以修改字段的类型、宽度、有效性规则、出错信 息、默认值,定义主关键字和关系等,但不能修改字段名,其选择项的 功能及用法与CREATE TABLE命令相似。
数据库系统及应用
5.1 SQL概述
1
SQL简介
SQL命令动词
SQL功能 数据定义 数据查询 数据操纵 数据控制
命令动词 CREATE、ALTER、DROP
SELECT INSERT、DELETE、UPDATE
GRANT、REVOKE
数据库系统及应用
5.1 SQL概述
2 Visual FoxPro对SQL的支持
在Visual FoxPro中,用户可以使用以下几种方式执行SQL语句或 命令。
(1)在命令窗口直接输入SQL命令。 (2)在程序中嵌入SQL语句。 (3)在“视图设计器”中使用入SQL语句。 (4)在控件的属性设置中使用SQL语句。 (5)在控件的事件过程代码中嵌入SQL语句。
数据库系统及应用
第5章-SQL结构化查询语言
第 5 章 SQL 结构化查询语言5.1 SQL 语言简介SQL ( Structured Query Language 结构化查询语言)语言的核心是数据查询,在标准化过程中不断成为通用的数据库语言。
5.1.1 SQL 语言特点( 1)高度集成化: SQL 语言在数据定义、 数据操纵、 数据查询和数据控制方面都有规范的格式。
可以独立完成数据库管理的各项工作。
(2)非过程化语言:它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放 方式,只需告诉要做什么,系统就可以自动完成。
(3) 集合操作:SQL 语言的的操作对象和操作结果都是记录集合,这种集合特性允许一条 SQL 语句的输岀作为另一条 SQL 语句的输入,SQL 语句可以嵌套。
(4) 简单易学:SQL 语言语句不多,语言接近英语自然语言。
在多数情况下,在其他语言中需 要一大段程序实现的功能只需要一个SQL 语句就可以达到目的。
(5) 用法灵活:SQL 语言可以在数据库管理中直接应用,可以嵌入其它高级程序设计语言中, 完成对数据库的操作。
5.1.2 SQL 语句组成 SQL 语言包含4个部分:CREATE (创建)、DROP (撤掉)、ALTER (更改)。
INSERT (插入)、UPDATE (更新)、DELETE (删除) SELECT (选择)。
GRANT (授予)、REVOKE (吊销)、COMMIT (提交)、ROLLBACK ;回滚)本章主要讲 ACCESS 2003中所支持的 SQL 语句5.1.3 SQL 语句在 ACCESS^的使用方法使用SQL 语句的步骤如下: 打开数据库窗口,进入查询设计器。
关闭显示表窗口,执行菜单“查询 |SQL 特定查询 | 数据定义”命令。
在打开的查询设计编辑窗口中,输入SQL 语句。
单击工具栏上的执行按钮,可以直接执行查询。
保存查询,单击工具栏上的保存按钮,在弹岀的对话框中命名查询。
第5章 标准结构化查询语言SQL
5.3 SQL数据查询
(3)查询列中含有算术运算的表达式
SELECT子句的目标列中可以包含带有+、-、×、/的算术运算表达式。
[例5-10] 查询所有学生的学号,姓名和年龄。 SELECT 学号, 姓名, 2013-year(出生日期) FROM 说明:可以为列标题设置别名。
SELECT 学号 FROM 等价于 SELECT 学号 FROM SCORE WHERE 成绩 BETWEEN 85 成绩 >= AND 95 95
SCORE WHERE
85 AND 成绩 <=
5.3 SQL数据查询
练习: 1、查询xs.dbf计算机专业男生的xm、 zy和 csrq。
2、查询zg.dbf基本工资在800—1000之间的职工xm及bm.
[例5-14] 查询score.dbf选修了1001号课程且考试及格的学生学号和成绩。 SELECT 学号, 成绩 FROM SCORE WHERE 课程号='1001' AND 成绩>=60
5.3 SQL数据查询
(2)常用的查询条件运算符汇总
查询条件 比较 确定范围 确定集合 字符匹配 空值 多重条件 谓词 =,>,<,<=,>=,!=,<>,!>,!< Between and, not between and(两者之间) In,not in(两者以上) Like,not like Is null , is not null And ,or
5.3 SQL数据查询
命令格式: SELECT [ALL|DISTINCT] [ALIAS.] <字段名1> | <函数> [AS 列名称] [, [ALIAS.] <字段名2> | <函数> [AS 列名称] …] FROM <数据源> [WHERE <联接条件表达式1> AND|OR <联接条件表达式2> ] [ORDER BY <排序选项1> [ASC] [DESC] [,<排序选项2> [ASC] [DESC],……] [GROUP BY <分组字段名>] [HAVING<过滤条件表达式>]] 功能注释:
第五章+结构化查询语言(SQL)
17
<字段名表>:指定表文件中的字段,缺省时,按表文 件字段的顺序依次赋值。 <表达式表>:指定要追加的记录各个字段的值。
REFERENCES 读者)与读者表建立联系。
这里要注意:“FOREIGN KEY 读者编号 TAG 读者编号 REFERENCES 读者”语句中前后两个“读者编号”的含义 不同。
10
6.执行完以上命令后可以在数据库设计器中看到如图5-1 所示界面。
目录 上页 下页 退出
图5-1 数据库设计器 — 图书管理
13
(4)将表temp1 中“dd”的字段名改为“cc”
ALTER TABLE temp1 RENAME COLUMN dd TO cc
(5)删除表temp2中字段名为“dd1”的字段
目录
ALTER TABLE temp2 DROP dd1
上页 (6)将(3)所建的普通索引的关联字段删除。
ALTER TABLE temp2 DROP FOREIGN KEY TAG aa1_key;
第五章 结构化查询语言(SQL)
1
本章目录
第一节 SQL概述
目录
上页
第二节 数据定义功能
下页
第三节 数据操纵功能
退出
第四节 数据查询功能
2
第一节 SQL概述
一、SQL语言的特点
1.综合统一
目录
SQL语言集数据定义(DDL)、数据操纵(DML)、
数据管理(DCL)的功能于一体,语言风格统一,可以
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化查询语言SQL 第五章 结构化查询语言SQL
第五章 结构化查询语言SQL 结构化查询语言SQL
教学目标
掌握SQL修改表结构的规则与方法 ; 修改表结构的规则与方法 掌握 掌握SQL修改数据的规则与方法 ; 修改数据的规则与方法 掌握 掌握SQL数据查询功能的语句规则和特点。 数据查询功能的语句规则和特点。 掌握 数据查询功能的语句规则和特点
字段名与类结构化查询语言SQL
工资” 例2:在职工管理数据库中建立一个工资表, 对“工资”字段 :在职工管理数据库中建立一个工资表, 的数据进行有效性检测,并通过“职工号”字段与“职 建立关联。 工.DBF”建立关联。 建立关联 CREATE TABLE 工资 职工号 C(5) PRIMARY KEY; 工资(职工号 REFERENCES 职工 工资 N(7.2) CHECK(工资 职工, 工资>=1000; 工资 AND 工资 工资<=5000) ERROR “工资在 工资在1000至5000之间”,; 之间” 工资在 至 之间 补贴 N(7.2), 应扣数 N(7.2), 实发数 N(7.2))
第五章 结构化查询语言SQL 结构化查询语言SQL
3. 删除
格式: 表名> 条件>] 格式: DELETE FROM <表名 [WHERE <条件 表名 条件 功能:根据 子句指定的条件, 功能:根据WHERE子句指定的条件,删除表中指定的记录; 子句指定的条件 删除表中指定的记录; 省略WHERE子句,则删除表中全部记录。 子句,则删除表中全部记录。 省略 子句
第五章 结构化查询语言SQL 结构化查询语言SQL
5.2
SQL的数据修改功能 SQL的数据修改功能
第五章 结构化查询语言SQL 结构化查询语言SQL
1. 插入
格式: 表名>[(<字段名清单 字段名清单>)] 格式: INSERT INTO <表名 表名 字段名清单
VALUES (<表达式清单 ) 表达式清单>) 表达式清单 数组名>| |FROM ARRAY <数组名 |FROM MEMVAR 数组名 功能: 功能:对指定的表追加一条记录 说明:若表尚未打开,则在一新工作区中打开( 说明:若表尚未打开,则在一新工作区中打开(但当前工作 区不改变) 若表已在非当前工作区中打开, 区不改变)。若表已在非当前工作区中打开,追加 后,原当前工作区不变。 原当前工作区不变。
第五章 结构化查询语言SQL 结构化查询语言SQL
2. 表的删除
格式: DROP TABLE [<数据库名 ]表名 格式: 数据库名>. 表名 数据库名 功能: 功能:从数据库中删除表 例:将工资表删除 DROP TABLE 工资
一次只能删 除一个表
第五章 结构化查询语言SQL 结构化查询语言SQL
第五章 结构化查询语言SQL 结构化查询语言SQL
格式三: ALTER TABLE <表名 DROP <字段名 格式三: 表名> 字段名>… 表名 字段名 功能:该格式可以删除字段、可以修改字段名、可以定义、 功能:该格式可以删除字段、可以修改字段名、可以定义、修改
和删除表一级的有效性规则等。 和删除表一级的有效性规则等。 例1:删除工资表“补贴”字段的有效性规则。 :删除工资表“补贴”字段的有效性规则。 ALTER TABLE 工资 ALTER 补贴 DROP CHECK 例2:将工资表“补贴”字段名改为“补助”。 :将工资表“补贴”字段名改为“补助” ALTER TABLE 工资 RENAME COLUMN 补贴 TO 补助 例3:删除职工表“电话号码”字段。 :删除职工表“电话号码”字段。 ALTER TABLE 职工 DROP COLUMN 电话号码
第五章 结构化查询语言SQL 结构化查询语言SQL
例2: 把‘104’的课程名改为大学语文 的课程名改为大学语文 UPDATE KC SET 课程名 大学语文; 课程名=大学语文 大学语文; WHERE 课程号 课程号=‘104’ 例3: 将英语成绩在 分与 分之间的学生成绩提高 将英语成绩在50分与 分之间的学生成绩提高10% 分与59分之间的学生成绩提高 UPDATE CJ SET 成绩=1.1*成绩 成绩 成绩 WHERE 英语 英语>=50 AND 英语 英语<=59
[<数据库名. >]指出将新建立的表存放于该数据库中。 数据库名 指出将新建立的表存放于该数据库中 指出将新建立的表存放于该数据库中。 新建的表将在编号最小的可用工作区中以独占方式打开, 新建的表将在编号最小的可用工作区中以独占方式打开,并可 通过别名访问它。 通过别名访问它。
第五章 结构化查询语言SQL 结构化查询语言SQL
第五章 结构化查询语言SQL 结构化查询语言SQL
(3)使用数组追加记录 )
DIMESION LS(4) LS(1)=“990105” LS(2)=“汪力” 汪力” 汪力 LS(3)=“男” ) 男 LS(4)={05-12-82} INSERT INTO XS FROM ARRAY USE XS LIST LS
行更新;省略WHERE子句,则更新全部记录。 子句, 行更新;省略 子句 则更新全部记录。
例1: 将工资表中全体职工的工资增加 元,并修改实发数。 : 将工资表中全体职工的工资增加10元 并修改实发数。
UPDATE 工资 SET 工资 工资 工资=工资 工资+10 UPDATE 工资 SET 实发数=工资 补贴-应扣数 实发数 工资+补贴 应扣数 工资 补贴 USE 工资 LIST
第五章 结构化查询语言SQL 结构化查询语言SQL
2. 更新
格式: 表名> 字段名1>=表达式1 1>=表达式 格式: UPDATE <表名> SET <字段名1>=表达式1 [,<字段名2>=表达式2 <条件 条件>] [,<字段名2>=表达式2…][WHERE <条件>] 字段名2>=表达式 功能:根据WHERE子句指定的条件,对指定记录的字段值进 子句指定的条件, 功能:根据 子句指定的条件
第五章 结构化查询语言SQL 结构化查询语言SQL
(1) <字段名清单 为数据表指定的字段,省略,按数据表字段 字段名清单>为数据表指定的字段 省略, 字段名清单 为数据表指定的字段, 的顺序依次赋值。 的顺序依次赋值。 (2) VALUES <表达式清单 为要追加的记录的各字段值。 表达式清单>为要追加的记录的各字段值 表达式清单 为要追加的记录的各字段值。 (3) FROM ARRAY <数组名 表示将已存在的数组的内容赋给 数组名>表示将已存在的数组的内容赋给 数组名 字段。 字段。 (4) FROM MEMVAR表示把同名内存变量的内容赋给字段。 表示把同名内存变量的内容赋给字段。 表示把同名内存变量的内容赋给字段
注意: 命令是逻辑删除记录, 注意:SQL DELETE命令是逻辑删除记录,如果要物理删除 命令是逻辑删除记录 记录需要继续使用PACK命令。 命令。 记录需要继续使用 命令
第五章 结构化查询语言SQL 结构化查询语言SQL
例1: 把学号为020101的学生从表 中删除 把学号为 的学生从表XS中删除 的学生从表 DELETE FROM XS WHERE 学号 学号=‘020101’ 例2: 删除学生表中所有数学成绩不及格的学生记录 DELETE FROM XS WHERE 学号 IN; ; (SELECT 学号 FROM CJ WHERE 数学 数学<60)
第五章 结构化查询语言SQL 结构化查询语言SQL
5.2
SQL的数据查询功能 SQL的数据查询功能
第五章 结构化查询语言SQL 结构化查询语言SQL
一. SELECT查询命令
格式: 检索项表> 格式: SELECT <检索项表 检索项表
FROM <基本表或(和)视图集合 基本表或( 视图集合> 基本表或 [WHERE <连接条件 ] 连接条件> 连接条件 [GROUP BY <字段名集合 字段名集合>] 字段名集合 [HAVING <过滤条件 过滤条件>] 过滤条件 [ORDER BY <排序项 排序项>[ASC/DESC] 排序项 [,<排序项 排序项>[ASC/DESC]…]] 排序项
例1:用命令建立职工管理数据库,并在库中建立一个数据 :用命令建立职工管理数据库,
表职工.DBF, 由以下字段组成 : 职工号 ( C,5) , 姓名 , 由以下字段组成: 职工号( 表职工 ) (C,6),性别(C,2),出生日期 ,婚否 。并按职 ) 性别( ) 出生日期(D),婚否(L)。 工号建立主索引。 工号建立主索引。 CREATE DATABASE 职工管理 CREATE TABLE 职工 职工号 C(5) PRIMARY KEY,姓 职工(职工号 姓 名 C(6),性别 C(2),出生日期 D,婚否 L) 性别 出生日期 婚否 用MODIFY DATABASE命令打开数据库设计器可以看到 命令打开数据库设计器可以看到 职工.DBF。 。 职工
第五章 结构化查询语言SQL 结构化查询语言SQL
格式二: 表名> 字段名>… 格式二: ALTER TABLE <表名 ALTER <字段名 表名 字段名 功能:该格式主要用于定义、 功能:该格式主要用于定义、修改和删除有效性规则和默 认值定义。 认值定义。 例:修改或定义工资表“补贴”字段的有效性规则。 修改或定义工资表“补贴”字段的有效性规则。 ALTER TABLE 工资 ALTER 补贴 SET CHECK 补 补贴大于100! 贴>=100 ERROR “补贴大于 !" 补贴大于