一、环境安装
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. 生产环境部署node记录(一)

    云服务器厂商:京东云 我选择的操作系统为公共镜像CentOS7.2. 步骤: 首先登陆服务器:使用ssh 用户名@IP地址  登陆 1. wget命令下载Node.js安装包 登陆node的官网复制下 ...

  2. C#语法之委托和事件

    从大学就开始做C#这块,也做C#几年了,最近又从ios转回.Net,继续做C#,之前也没有写博客的习惯,写博客也是从我做ios的时候开始的,现在既然又做回了.net,那就写点关于.Net的博客,可能在 ...

  3. FileStream类的使用(文件流)

    1.什么是FileStream类 FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道.标准输入和标准输出.读写操作可以指定为同步 ...

  4. SEDA架构程序实现

    一.SEDA SEDA全称是:stage event driver architecture,中文直译为“分阶段的事件驱动架构”,它旨在结合事件驱动和多线程模式两者的优点,从而做到易扩展,解耦合,高并 ...

  5. Linux:网络工具 nc

    虽然叫nc不过用起来非常方便. 选项 - Use IPv4 only - Use IPv6 only -U, --unixsock Use Unix domain sockets only -C, - ...

  6. java网络编程(UDP详解)

    UDP详解 一,TCP/IP协议栈中,TCP协议和UDP协议的联系和区别? 联系: TCP和UDP是TCP/IP协议栈中传输层的两个协议,它们使用网络层功能把数据包发送到目的地,从而为应用层提供网络服 ...

  7. CSS属性display的浅略探讨

    display 的属性值有:none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|tab ...

  8. 自己编写jQuery插件 之 放大镜

    一. 效果图 二. 原理讲解 1. 用到了两张图片,一张小图,一张大图. 2. 小图用于直接在页面上显示,大图则用于放大镜内显示 3. 放大镜实际是一个div,而大图则是这个div的背景图 4. 小图 ...

  9. Android Studio cannot resolve symbols

    引入了第三方类库,不管怎么编译  clean 都找多到类库 关闭重新打开android studio就好了.....  

  10. 前端 ajax 获取后台json数据 解析

    先贴代码 function edit(node) { ).text(); alert(customerid) $.ajax({ type: "post", url: "/ ...