Oracle数据库应用开发技术(上篇)大三课程

数据库应用开发技术

前言:这篇博客是大三Oracle课程,我根据数据库老师的PPT复习做的总结。写这篇的目的一是为了我自己巩固加强Oracle基础内容,二是给未学习、刚学习的小伙伴,提供一丝丝便利吧。大家一起在学习中得到提升,是最大的目的。我也会把老师讲过的题,敲一遍,放在博客中,希望小伙伴在学习的时候也要打开Oracle数据库,敲出来的才叫代码。

​ 没做总结之前,看那些PPT不起眼,总结起来,害~

​ 感谢老师辛苦付出!!!【打call】【打call】【打call】

​ (小伙伴们也要养成记笔记的好习惯哦~)

内容:学习并掌握面向Oracle数据库的开发与管理
参考书籍:Oracle 11g数据库基础教程(第2版),xx著

工欲善其事必先利其器

​ Oracle版本:Oracle 11g R2 64位
​ 官网地址:https://www.oracle.com/database/technologies/112010-win64soft.html

Oracle数据库的简介

Oracle(甲骨文)公司推出的一款大型关系型数据库管理系统。
拉里·埃里森(Larry Ellison)以及另外三位创始人以此开发了商用的关系型数据库,并且命名为Oracle(希腊语里代表神谕、预言)

​ 这是老师为我们找的图片,在此谢过了。【抱拳】【抱拳】【抱拳】[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iNURbkkU-1605014479443)(C:\Users\Y7000\AppData\Roaming\Typora\typora-user-images\image-20201110190208291.png)]

Oracle数据库的特点

​ 目前应用最广泛的数据库之一(其他如Mysql,SqlServer等)

  • 支持C/S或者B/S架构

  • 支持分布式数据库管理

  • 提供支持SQL的统一数据库访问接口语言PL/SQL

  • 稳定,安全,可扩展性强

  • 免费

    对于知之甚少的我,这些特点可能会在以后的实际开发中,理解到吧…

Oracle数据库操作和管理方法

  1. 命令行方式

  2. 通过图形化界面

    图形化界面,可视化好,入手难度低,规范化的图形界面。

    所以,我们选择命令行方式_

    进入Oracle数据库命令行操作

    首先在服务里开启Oracle数据库 ,不用的时候关闭服务。也可以不关(电脑足够好的话555)
    win +r ->输入: services.msc 回车 ->找到Oracle服务启动(禁用的不要开启!!!)
    进入Oracle数据库的命令行
    win +r ->输入: sqlplus 确定 ->输入: 用户名/密码 (或者 用户名回车,密码回车)
    												win===>四个■的键(操碎了心)
    												
    忘了密码的小伙伴,请到这边排队:用户名/密码 ---> sys/change_on_install as sysdba				
    老师专业版本:
    如果在Oracle安装过程中忘记设置用户和密码,则可以命令行来重新设置。
    参考链接:https://jingyan.baidu.com/article/eae078278680c11fec548509.html
    

注意:学习Oracle可不象是SQL Server 、Mysql 那样,先从建库、表的一系列操作(增删改查)开始,而是从查询语句开始,至于为什么呢?我也不知道。。。

Oracle数据库用户类型

  • 数据库管理员

  • 安全官员

  • 网络管理员

  • 应用程序开发员

  • 应用程序管理员

  • 数据库用户

    这些用户都是做什么的?…

Oracle数据库创建了一些用户

用户名描述
SYS在后来的学习中,我想创建表、视图等操作没有权限的时候,授权用过。
SYSTEM没有用过
SCOTT做练习,几乎都是用这个
SH作业中用过

敷衍吧,学生就是学生,最后还得是老师_

用户名描述
SYS数据库管理帐户系统用户,数据字典所有者,只能以系统管理员(sysdba)或系统操作员(sysoper) 的权限登录
SYSTEM数据库默认管理用户,拥有DBA角色权限,通常用来创建一些用户查看管理信息的表或视图。不建议使 用 system 用户来创建一些与管理无关的表或者视图。
SCOTT提供了一些学习 oracle 操作的数据表。如: emp、dept、 salgrade、bonus 表
SH实验、测试用户,含有例表customers,products等

SQLPlus常用基础命令

​ 清屏 命令: clear scr 或 ho cls (DOS清屏命令:cls)

​ 退出命令:exit 或者 quit (DOS退出命令: exit)

​ 查看命令:show user 查看当前用户

​ 设置命令:set linesize 100 设置每行长度100

​ set pagesize 200 设置每行页数200

​ 帮助命令:help【指令】

​ 注意:sql 语句记得加 分号“ ; ” , 或者斜杠“ / ” 其他命令加不加均可。所以设置命令的时候,不要纠结加不加分号。都对!

切换用户 :conn 用户名 /密码

​ 如果是sys用户,需要加上as sysdba

​ 用户密码修改: alter user 用户名 identified by 密码

​ 锁定用户:alter user 用户名 account lock/unlock

​ 查看表结构:desc 表名;

SQLPlus 文件操作(特别好用)

​ 编辑文件:edit 文件名.后缀名

​ 执行文件:@文件名.后缀名

​ 例如

​ edit test.sql --> 编写完代码 -->Ctrl +s (保存) -->关闭 -->@ test.sql

​ 也可以在其他位置创建文件 :文件名前面加上路径(绝对路径) d:\test\test.sql

​ 另外sql类型文件,可以省略后缀名。

SQLPlus调用系统命令

​ SQL> host copy d:\test\test.sql d:\

这个操作,我快学完了,也没用到-_-‘’‘

SQL 语言

贴心的老师~

SQL简介

SQL,指结构化查询语言,全称是 Structured Query Language。
通过SQL 可以访问和处理数据库。
SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。
SQL是IBM提出的数据库语言标准,经过几十年的发展,成为了行业内的事实标准。
	注意:除了SQL标准之外,大部分SQL数据库程序都拥有自己的专有扩展。
SQL语言分类

DML(Data Manipulation Language)数据操作语言(数据操作)
	增加—INSERT,删除—DELETE,修改—UPDATE,查询—SELECT
DDL(Data Definition Language)数据定义语言(数据库,表等对象操作)
	创建—CREATE,修改—ALTER,删除—DROP
DCL(Data Control Language)数据控制语言(用来设置或者更改数据库用户或角色权限)
	授权—GRANT,拒绝授权—DENY,授权回收—REVOKE

TCL(Transaction Control Language)事务控制语言
	COMMIT—提交,SAVEPOINT—保存点,ROLLBACK—回滚

看着这些定义,我心里五味杂陈。定睛一看,原来我已经用了这么久啊

DML :就是 增删查改

DDL :就是 创建 修改 删除

DCL : 授权 (在出现权限问题的时候,grant 会格外的醒目)

TCL : 打扰了。。。 暂时学习阶段没有碰到

下面就要边学习边敲代码了哦~~~

​ 首先,了解将要操作表的结构,查询,不清楚表的结构怎么查询呢?

SCOTT用户表结构

EMP(雇员表)在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

​ 了解表的结构了,开始吧~~~
顺便提一句:不要眼高手低,寻思题很简单,看一眼就出答案,要用代码说话。打基础阶段,不怕麻烦。
简单查询

​ SELECT 语句从数据库中选取数据,结果被存储在一个结果表中,称为结果集。

语法:

​ SELECT [DISTINCT] *| 列名1 ,列名2…

​ FROM 表名;

​ 结束时记得加分号!!!

​ DISTINCT消除重复字段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Poex6xTo-1605014479455)(C:\Users\Y7000\AppData\Roaming\Typora\typora-user-images\image-20201110204320626.png)]

温馨提示:输出样式。如果出现没对齐情况,请回忆设置命令。数值:200

在温馨提示:方向键可以有妙用哦 ,可以查看历史命令。

最后温馨提示,此时自行盖住答案!!!自觉!!!

set linesize 200
set pagesize 200
1.

select * 
from emp;

2.

select empno ,ename,sal
from emp;

3.

select job
from emp;

4.

select ename,sal*12  yearsal
from emp;


​ 此时,老师给出的技术小结,美滋滋!

在这里插入图片描述

限定查询

​ WHERE +条件 (用于查询在满足指定条件下的记录)

​ select

​ from

​ where 条件

​ 条件:主要运算符 -->

  • ​ 逻辑运算 AND OR NOT

  • ​ 关系运算 > , < ,= ,<> ,>=, !=

  • ​ 特殊运算符(BETWEEN AND LIKE IN )

    题来咯~~~
    在这里插入图片描述

set linesize 200
set pagesize 200
/*
1.
select * 
from emp
where sal>1500;
2.
select job ,sal
from emp
where ename='SMITH';
3.
select *
from emp
where  sal between 1000 and 2000  and job !='SALESMAN';
4.
select * 
from emp 
where job ='CLERK' or job ='MANAGER';


select * 
from emp 
where to_char(HIREDATE,'yyyy')=to_char(to_date('1981','yyyy'),'yyyy'); 


select * 
from emp 
where hiredate like '%81%'; 

*/

//注意审题!!! 最终答案

5.
select * 
from emp 
where to_char(hiredate,'yyyy-mm-dd') between '1981-10-01' and '1981-12-31' ; 

在这里插入图片描述
模糊查询LIKE
LIKE 可以用过匹配符号‘ _’和’%'实现对特定需求的信息筛选。
LIKE 包含% 或者_的字符串
_ : 对应一个字符。
%:对应多个字符。
在这里插入图片描述

/*
select *
from emp
where ename like '%S%';

select *
from emp
where ename like '_M%';

select *
from emp
where empno like '77%';

*/

select *
from emp
where to_char(hiredate,'yyyy-mm-dd') not like '%80%';


LIKE技术总结
在这里插入图片描述
NULL值
在这里插入图片描述
习题:
在这里插入图片描述

/*
select *
from emp
where comm =0 or comm is NULL;
*/

select *
from emp
where comm is not NULL and comm !=0;

IN操作符
在这里插入图片描述
在这里插入图片描述

/*
select empno,ename,sal
from emp
where  ename in ('SMITH','ALLEN','WARD','JONES');

*/

select *
from emp
where job not in ('SALESMAN','CLERK');

IN技术小结
在这里插入图片描述
查询排序 order by
升序:ASC
降序:DESC
在这里插入图片描述

/*
select *
from emp
order by ename ASC;

*/

select ename,job,sal ,deptno
from emp 
order by deptno ASC,sal DESC; 


在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值