数据库基本原理和应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
数据库基本概念
数据查询 数据操作
表和视图
数据库操作语句DML
语 句 INSERT UPDATE DELETE 插入新行 修改(更新)已经存在的行 删除表中已经存在的行 描 述
数据库操作语句
插入数据
可以使用INSERT命令,向已经存在的表插入数据,语法格式如下:
INSERT INTO 表 名
[( 字 段 列 表 )] {VALUES( 表 达 式 1, 表 达 式
2,...)|QUERY语句}; 修改数据 修改数据的语句UPDATE对表中指定字段的数据进行修改,一般需要 通过添加WHERE条件来限定要进行修改的行,如果不添加WHERE条 件,将对所有的行进行修改。 (1)修改数据的语句UPDATE的基本语法如下:UPDATE 表名 SET 字段 名1=表达式1, 字段名2=表达式2, ... WHERE 条件; (2)UPDATE语句的另外一种用法:UPDATE 表名 SET(字段名1, 字段名 2, ...)=SELECT (字段名1, 字段名2, ...) FROM 另外的表名WHERE条件;
ASC 升序(默认)|DESC 降序 SELECT ename, sal FROM emp ORDER BY sal; 可以按多列进行排序,先按第一列,然后按第二列 如果要对计算列排序,可以为计算列指定别名,然后按别名排
序。
Eg:select* from emp order by mgr asc,hiredate desc;
SQL查询语句
查询语句是最常见的SQL语句,它从给定的表中,把满足条件的内容检
索出来。以下是最基本的SELECT语句语法。 SELECT (字段名列表|*) FROM 表名 [WHERE 条件]; SELECT为查询语句的关键字,该关键字不能省略。 字段名列表代表要查询的字段。 FROM 也是查询语句关键字,后面跟要查询的表名,该关键字不能 省略。 WHERE条件限定检索特定的记录,满足“条件”的记录被显示出来, 不满足条件的被过滤掉。 语句查询的结果往往是表的一部分行和列。如果字段名列表使用*, 将检索全部的字段。如果省略WHERE条件,将检索全部的记录。 SELECT * FROM emp WHERE deptno=10;
要对显示的行进行限定,可在 FROM 从句后使用 WHERE 从句,
条件查询
复合条件查询
可以用逻辑运算符构成复合的条件查询,即把两个或多个
条件,用逻辑运算符连接成一个条件。有3个逻辑运算符, 如下表所示。 运算的优先顺序是NOT,AND,OR。如果要改变优先顺序, 可以使用括号。
运算符 AND OR NOT 说 明 实 Select * from emp where sal>1000 and sal<2000 Select * from emp where deptno=10 or deptno=20 Select * from emp where not job='MANAGER' 例 逻辑与,表示两个条件必须同时满足 逻辑或,表示两个条件中有一个条件满足即可 逻辑非,返回与某条件相反的结果
子查询
我们可能会提出这样的问题,在雇员中谁的工资比SCOTT高??
第一步查询雇员SCOTT的工资 第二步查询工资高于SCOTT的雇员。
通过把一个查询的结果作为另一个查询的一部分,可以实现这样的查
询功能。
第一个查询可以作为第二个查询的一部分出现在第二个查询的条件中,
这就是子查询。出现在其他查询中的查询称为子查询,包含其他查询 的查询称为主查询。 子查询一般出现在 SELECT 语句的 WHERE 子句中, Oracle 也支持在 FROM或HAVING子句中出现子查询。子查询比主查询先执行,结果作 为主查询的条件,在书写上要用圆括号扩起来,并放在比较运算符的 右侧。子查询可以嵌套使用,最里层的查询最先执行。子查询可以在 SELECT、INSERT、UPDATE、DELETE等语句中使用。
基本查询语句
4 连接运算符
在前面,我们使用到了包含数值运算的计算列,显示结果也是数值型的。我们
也可以使用字符型的计算列,方法是在查询中使用连接运算。连接运算符是双 竖线“||”。通过连接运算可以将两个字符串连接在一起。
5 使用别名 as
我们可以为表的列起一个别名,它的好处是,可以改变表头的显示。特别是对
基本查询语句
1基本查询 select * from dept; 2显示行号 ROWNUM oracle特有的
每个表都有一个虚列ROWNUM,它用来显示结果中记录的行号。我们在查询中也可以显示这 个列。SELECT rownum,ename FROM emp;
select * from(select rownum no ,id,name from student) where no>2; select * from (select rownum no ,id,name from student where rownum<=3)where no
>=2;
where rownum>XXX不能输出结果,因为where 每次去select 时遇到不符合的就 直接删除,所以num一直不能满足条件。但是可以先将rownum搜出来后形成 一个虚表,再调用。
3显示计算列
在查询语句中可以有算术表达式,它将形成一个新列,用于显示计算的结果,通常称为计算列。 表达式中可以包含列名、算术运算符和括号。括号用来改变运算的优先次序。常用的算术运算 符包括: +:加法运算符。 ?:减法运算符。 *:乘法运算符。 /:除法运算符。
GRANT 、 ROLLBACK 、 COMMIT 、 INSERT 、 SELECT 、 COMMENT 、 LOCK 、 UPDATE 、 CREATE 、 NOAUDIT 、 VALIDATE 、 DELETE 、 RENAME等。
SQL语言的分类
按照SQL语言的不同功用,可以进一步对SQL语言进行划分。下表给出了SQL语言 的分类和功能简介。
特殊条件查询
Between..and In Is [Not] Null
LIKE
使用LIKE操作符可完成按通配符查找字符串的查询操作,该操作符
适合于对数据进行模糊查询。其语句法为:
[NOT] LIKE 匹配模式 匹配模式中除了可以包含固定的字符之外,还可以包含以下的通配
符:
条件查询
简单条件查询
在WHERE从句中给出限定的条件,因为限定条件是一个表达 式,所以称为条件表达式。条件表达式中可以包含比较运算, 表达式的值为真的记录将被显示。 例子:…
运算符 >,< >=.<= = !=,<>,^= 功 大于,小于 大于等于,小于等于 等于 不等于 能 实 例 Select * from emp where sal>2000 Select * from emp where sal>=2000 Select * from emp where deptno=10 Select * from emp where deptno!=10
于计算列,可以为它起一个简单的列别名以代替计算表达式在表头的显示。 说明:表头显示的是列别名,转换为汉字显示。在列名和别名之间要用AS分隔, 如ename和它的别名“名称”之间用 AS隔开。AS也可以省略,如sal和它的别 名“工资”之间用空格分割。 注意:如果用空格分割,要区别好列名和别名,前面为列名,后面是别名。 别名如果含有空格或特殊字符或大小写敏感,需要使用双引号将它引起来。
基本查询语句
6.消除重复行 如果在显示结果中存在重复行,可以使用的关键字 DISTINCT 消除重复显示。ቤተ መጻሕፍቲ ባይዱ SELECT DISTINCT job FROM emp; 7. 查询结果的排序
SELECT 字段列表 FROM 表名 WHERE 条件ORDER BY 字段名
1 [ASC|DESC][,字段名 [ASC|DESC]...];
还为数据的安全性、完整性、并发控制和数据恢复提供了 保证 。数据库管理系统的核心是一个用来存储大量数据的
数据库。
目录
数据库基本概念
数据查询 基本语法 条件查询 高级查询
数据操作 表和视图
数据库查询语言SQL
主要特点:
SQL语言可以在Oracle数据库中创建、存储、更新、检索和维护数
据,其中主要的功能是实现数据的查询和数据的插入、删除、修改 等操作。 SQL语言在书写上类似于英文,简洁清晰,易于理解。它由关键字、 表名、字段名,表达式等部分构成。 分类:
SQL语言按功能可分为DDL语言、DML语言、DCL语言和数据库事务处理
语言四个类别。
SQL 语 言 的 主 要 关 键 字 有 : ALTER 、 DROP 、 REVOKE 、 AUDIT 、
类 别 数据库控制语言 (DCL) 数据库定义语言 (DDL) 数据库操纵语言 (DML) 数据库事务处理 功 能 控制对数据库的访问,启 动和关闭等 用来创建、删除及修改数 据库对象 用来操纵数据库的内容, 包括查询 实现对数据的交易过程的 完整控制 举 例 对 系 统 权 限 进 行 授 权 和 回 收 的 GRANT 、 REVOKE 等语句 创 建 表 和 索 引 的 CREATE TABLE 、 ALTER INDEX 等语句 查询、 插入、 删除、 修改和锁定操作的 SELECT、 INSERT、UPDATE、DELETE、LOCK TABLE 等 语句 与 数 据 库 事 物 处 理 相 关 的 COMMIT 、 ROLLBACK、 SAVEPOINT、 SET TRANSACTION 等语句
主要内容
数据库基本概念 数据库 数据库管理系统 数据查询 数据操作 表和视图
基本概念
数据库和数据库管理系统
数据库是在计算机上组织、存储和共享数据的方法,数据
库系统是由普通的文件系统发展而来的。数据库系统具有 较高的数据独立性,即不依赖于特定的数据库应用程序; 数据库系统的数据冗余小,可以节省数据的存储空间;另 外数据库系统还很容易实现多个用户的数据共享。 数据库系统成熟的标志就是数据库管理系统的出现。数据 库管理系统(DataBase Managerment System,简称DBMS) 是对数据库的一种完整和统一的管理和控制机制。数据库 管理系统不仅让我们能够实现对数据的 快速检索和维护,
%:代表0个或多个任意字符。 _ :代表一个任意字符。
目录
数据库基本概念
数据查询 基本语法 条件查询 高级查询
数据操作 表和视图
高级查询
多表联合查询
通过连接可以建立多表查询,多表查询的数据可以来自多个表,
但是表之间必须有适当的连接条件。为了从多张表中查询,必 须识别连接多张表的公共列。一般是在WHERE子句中用比较运 算符指明连接的条件。 忘记说明表的连接条件是常见的一种错误,这时查询将会产生 表连接的笛卡尔积(即一个表中的每条记录与另一个表中的每条 记录作连接产生的结果)。一般N个表进行连接,需要至少N-1个 连接条件,才能够正确连接。两个表连接是最常见的情况,只 需要说明一个连接条件。 相等连接。 不等连接。 外连接。 自连接。
删除数据
DELETE FROM表名 WHERE 条件;
目录
数据库基本概念
数据查询 数据操作
表和视图 表的创建和操作
Oracle数据库对象
对 象 名 表 视图 索引 聚簇 序列 同义词 数据库链接 存储过程和函数 包和包体 触发器 称 作 用 TABLE VIEW INDEX CLUSTER SEQUENCE SYNONYM DATABASE LINK STORED PROCEDURE、 FUNCTION PACKAGE 、 PACKAGE BODY TRIGGER 用于存储数据的基本结构 以不同的侧面反映表的数据, 是一种逻辑上的表 加快表的查询速度 将不同表的字段并用的一种特殊结构的表集合 生成数字序列, 用于在插入时自动填充表的字段 为简化和便于记忆,给对象起的别名 为访问远程对象创建的通道 存储于数据库中的可调用的程序和函数 将存储过程、 函数及变量按功能和类别进行捆绑 由 DML 操作或数据库事件触发的事件处理程序