一、环境安装
1. 登录:以管理员身份登录
sqlplus 登录名/密码
管理员身份登录:sqlplus system/123456
2. 登录后,导入案例。下载scott.sql文件,执行下面一行的命令
SQL>@"E:\兄弟连文档\oracle\java 19\day01\script\scott.sql";
此时我们拥有非管理员的用户:scott
3. 激活scott的账号,激活用scott可登录
alter user scott identified by tiger;
alter user 登录 identified by 登录密码;
此时如果成功:
SQL> show user
显示:USER 为 "SCOTT"
4. 退出system管理登录,重新以scott/tiger登录
C:\..\sqlplus scott/tiger
登录成功
SQL> desc dept;
如成功

名称 是否为空? 类型
----------------------------------------- -------- ------------------

DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
---------------------------------------------------------------------------------------------
二、sql命令
0. 在Oracle环境下清空屏幕
SQL> host cls;
1. 查看表结构
SQL> desc 表名;
例如: desc dept; 查看dept部门表的表结构
desc emp; 查看emp员工表的表结构
2.专业词汇
数据库:存储数据的仓库。
数据存储经历的阶段
人工阶段 -- 很久很久以前...有一个屋子放置一台(巨大个的)计算机,用于实现科学计算。
文件阶段 -- 用文件实现【永久存储】
数据库阶段--用数据库实现存储
常见关系型数据库
DB2 -- IBM
Oracle -- Oracle公司(甲骨文)
Sql Server -- 微软
MySQL -- Oracle公司

java程序猿必备关系数据库:Oracle\MySql
数据库分类
非关系型数据库: 后续课程有说
关系型: 层次结构、网状结构、关系型数据库
数据库系统
DB -- 数据库
RDB -- 关系型数据库
RDBMS -- 关系型数据库管理系统
数据库存储的基本单位
表(实体描述) -- class Student{... ...}
字段(列) -- 属性
值(行) -- 实体对象值
dept表 列
行 DEPTNO DNAME LOC
------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
Oracle常见数据类型:
数值型 number(有效长度,小数点保留位数); 举栗:number(10,2) 12345678.12
字符
可变长度字符 varchar2(有效长度) 举栗:varchar2(5) 'ab' 实际存 'ab'
varchar2(5) 'abcde' 最多存5个
不可变长度字符 char(有效长度) 举栗:char(5) 'ab' 实际存 'ab '
char(5) 'abcde' 最多存5个
char当实际存储字符不足时补空格,varchar2按实际字符长度存储不补空格
日期 date ... 月/日/年 小时:分钟:秒 ...

3.查询一个表的内容:from子句
前导条件:登录名scott 密码tiger
3.1 查询dept部门表的所有字段信息
select * from dept;
*表示所有的列字段: deptNo,dName,loc

3.2 查询显示emp员工表中:员工编号、员工姓名、工资、奖金、部门编号
语法:select 列名1,列名2,...,列名N from 表名;
练习:select empNo,eName,sal,comm,deptNo from emp;

3.3 查询显示dept部门的:部门编号,部门名称,所在地区
select deptNo,dName,loc from dept;

--【总结】from子句-------------------------------------------------------------------------------------
查询一个表的所有字段:字段名可用* 代替。

select 列名1,列名2,... ... ,列名N from 表名;

select * from 表名;

4. from 子句进阶
4.1 别称,给当前字段或这个表起外号:显示部门时统一部门字段标题dXxx的格式。
语法:select 列名1 别称1,列名2 别称2,... ,列名N 别称N from 表名;
默认:select deptNo,dName,loc from dept;
练习:select deptNo dNo,dName,loc dLoc from dept;
思考:
员工表emp里有字段:empNo,eName...deptNo(部门编号)
部门表dept里有字段:deptNo(部门编号),dName,loc
列字段同名了,此时必须用别称来区分

4.2 数学运算:+ - * / 求当前员工的年薪(忽略奖金) = 月薪*12. 显示员工姓名、月薪、年薪
select eName,sal, sal*12 from emp; 显示标题eName,sal,sal*12

select eName,sal, sal*12 yearSal from emp; 显示标题eName,sal,yearSal

思考:员工当月实发工资=工资sal+提成comm ,显示员工姓名和实发工资
select eName,sal,comm,sal+comm from emp; 此时没奖金的人没有实发工资,
oracle中 运算数1+运算数2 任何1个是null结果是null
当某个员工没有绩效奖金comm是,工资sal+奖金comm显示结果是null
没有控制处理时:select eName,sal,comm,sal+comm money from emp;
ENAME SAL COMM MONEY
-------------------- ---------- ---------- ----------
SMITH 800
... ...
4.3 null值的处理,查询奖金是null时依然计算实发工资
语法:nvl(字段,新值) 功能:将字段里时null的内容替换成新值
s
练习:将奖金是null的显示0
select eName,nvl(comm,0) from emp;
练习:当奖金是Null时依然计算实发工资(sal+comm)
select eName,sal,nvl(comm,0) cm, sal+nvl(comm,0) money from emp;
显示结果:
ENAME SAL CM MONEY
-------------------- ---------- ---------- ----------
SMITH 800 0 800
... ...

练习:查询所有员工年薪和年度提成(显示员工姓名、年薪yearSal、年度提成yearComm)
ename sal*12 nvl(comm,0)*12==对

select eName, sal*12 , nvl(comm,0)*12 from emp;
完美要求可加入别称
select eName, sal*12 yearSal, nvl(comm,0)*12 yearComm from emp;

4.4 字符链接。 当需要有显示前缀、后缀、中间链接赋的时候可用

练习:显示 部门名_所在地区
java的字符链接: "abc"+"123" 结果是 "abc123"
oracle的字符链接:'abc'||'123' 结果是 'abc123' select 'abc'||'123' from dual;
答:select dName||'_'||loc from dept;

练习:要求姓名以 Mr.开头

答:select 'Mr.'||eName,sal from emp;

思考:显示 abc 成 'abc' 即显示结果中有'号,特殊符号的处理
思考答1:select '''abc''' from dual;
思考答2:select ''''||'abc'||'''' from dual;

5、where子句 :有条件查询 ,表达满足什么条件显示数据。结合from使用

5.1 查工资大于1000的员工
select * from emp where sal>=1000; --显示当前工资在1000及以上员工的所有字段
select eName,sal from emp where sal>=1000; --查询工资大于1000及以上员工的姓名和工资

5.2 姓名是WARD的员工
select * from emp where eName = 'WARD';
select * from emp where eName = 'Ward'; 还能出来结果吗?答不出,'值'区分大小写

5.3 查询部门所在地区纽约的部门信息是什么?
select * from dept where loc='NEW YORK';

5.4 查没奖金的员工信息。
你们认为:select eName,comm from emp where comm = null;
答案1:select eName,comm from emp where nvl(comm,0) = 0 ;

6、order by 子句:排序,按指定规则排序
6.1 按部门编号从大到写显示部门信息
思路:排序依据是部门编号,排序规则是从大到小
答:select * from dept order by deptNo desc; --desc降序从大到小的排序规则。asc升序
6.2 按部门名称升序排列显示
答: select * from dept order by dname asc;

1. 安装Oracle,配置环境 2. 实现查询From子句 3. 实现查询where子句 4. 实现查询order by子句的更多相关文章

  1. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...

  2. Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...

  3. Xamarin.Forms教程下载安装JDK配置环境变量

    Xamarin.Forms教程下载安装JDK配置环境变量 Xamarin.Form环境配置下载安装JDK JDK是编程Java程序必须的软件.也许有人会问我们用的C#为什么还有Java呢?这是因为我们 ...

  4. JDK和TOMCAT的安装与配置环境变量

    一.JDK该怎么安装与配置环境变量 步骤1.安装JDK选择安装目录,安装jdk1.8.0_77过程中会出现安装提示. 步骤2.(1)安装jdk随意选择目录 只需把默认安装目录\java之前的目录修改即 ...

  5. Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录

    Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录     Hadoop 2.6 的安装与配置(伪分布式) 下载并解压缩 配置 .bash_profile : ...

  6. Golang入门(1):安装与配置环境变量的意义

    摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...

  7. jdk 安装过程配置环境变量 error 的解决过程

    jdk 安装过程配置环境变量 error 的解决过程 问题背景: 我在安装 jdk 过程中在JAVA_HOME和path中添加路径后, cmd 中输入java 和javac均出现错误,因为之前在 D ...

  8. JDK下载、安装、配置环境变量笔记

    自己总是在下载.安装.配置JDK的环境变量,但是这些需要的专业知识并不难,但有很多细节很重要,总是记不住,而且这些细节一旦出错影响还是很严重的,在网上查到的信息很多都比较零散,而且讲解得也不是很详细, ...

  9. Linux CentOS7.0下JAVA安装和配置环境变量

    一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...

  10. jdk在linux下安装、配置环境变量

    1.jdk下载: 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 2. 3. 4.解压jdk到/usr/loca ...

随机推荐

  1. python while嵌套循环

    while循环1.输出打印以#组成的长方形,自己定义长和宽.# -*-encoding:utf-8-*-'''This is script for start docker containor!Aut ...

  2. 软工网络15-Alpha阶段敏捷冲刺

    一.Alpha 阶段全组总任务 二.各个成员在 Alpha 阶段认领的任务 三. 整个项目预期的任务量 四.明日各个成员的任务安排 任务 预计时长 负责人 授权界面 2h 王华俊 难度选择界面 1h ...

  3. bzoj 2138: stone

    Description 话说Nan在海边等人,预计还要等上M分钟.为了打发时间,他玩起了石子.Nan搬来了N堆石子,编号为1到N,每堆 包含Ai颗石子.每1分钟,Nan会在编号在[Li,Ri]之间的石 ...

  4. OpenStack Identity(Keystone)概述及示例

    OpenStack 的验证服务有两个主要功能: 1. 用户管理(租户.用户.权限) 2. Service catalog,管理服务的目录和它们的endpoint. 相关概念 1. User User即 ...

  5. 【原】通过Dubbo注解实现RPC调用

    启动Dubbo服务有2个方式,1是通过xml配置,2是通过注解来实现,这点和Spring相似. 采用XML配置如下: <?xml version="1.0" encoding ...

  6. 【原】Spring整合Shiro基础搭建[3]

    1.前言 上个Shiro Demo基础搭建是基于官方的快速入门版本,没有集成其他框架,只是简单的通过Main方法来执行Shiro工作流程,并测试一下比较核心的函数:但在企业开发中一般都会集成Sprin ...

  7. 序列化模块1 json

    ......得到一个 字符串 的结果 过程就叫序列化 字典 / 列表 / 数字 /对象 -序列化->字符串 为什么要序列化 # 1.要把内容写入文件 序列化 # 2.网络传输数据 序列化 字符串 ...

  8. 搭建本地svn

      1. 下载并安装TortoiseSVN,下载地址为:http://tortoisesvn.net/downloads.html.        2. 在本地创建一个文件夹,作为SVN服务的文件夹. ...

  9. 报错”Cannot read property 'addEventListener' of null“

    1.报错:Cannot read property 'addEventListener' of null 2.解决方案: 把代码放到window.onload=function(){...}里面,因为 ...

  10. 产品相关 细说软件产品和业务 & 业务过程(流程) & 业务逻辑

    细说软件产品和业务& 业务过程(流程) & 业务逻辑   by:授客 QQ:1033553122   作为一名测试人猿,需要懂产品,不懂产品的测试猿不是好测试猿猴.而业务逻辑是软件产品 ...