1. 安装Oracle,配置环境 2. 实现查询From子句 3. 实现查询where子句 4. 实现查询order by子句
一、环境安装
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子句的更多相关文章
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- Xamarin.Forms教程下载安装JDK配置环境变量
Xamarin.Forms教程下载安装JDK配置环境变量 Xamarin.Form环境配置下载安装JDK JDK是编程Java程序必须的软件.也许有人会问我们用的C#为什么还有Java呢?这是因为我们 ...
- JDK和TOMCAT的安装与配置环境变量
一.JDK该怎么安装与配置环境变量 步骤1.安装JDK选择安装目录,安装jdk1.8.0_77过程中会出现安装提示. 步骤2.(1)安装jdk随意选择目录 只需把默认安装目录\java之前的目录修改即 ...
- Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录
Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录 Hadoop 2.6 的安装与配置(伪分布式) 下载并解压缩 配置 .bash_profile : ...
- Golang入门(1):安装与配置环境变量的意义
摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...
- jdk 安装过程配置环境变量 error 的解决过程
jdk 安装过程配置环境变量 error 的解决过程 问题背景: 我在安装 jdk 过程中在JAVA_HOME和path中添加路径后, cmd 中输入java 和javac均出现错误,因为之前在 D ...
- JDK下载、安装、配置环境变量笔记
自己总是在下载.安装.配置JDK的环境变量,但是这些需要的专业知识并不难,但有很多细节很重要,总是记不住,而且这些细节一旦出错影响还是很严重的,在网上查到的信息很多都比较零散,而且讲解得也不是很详细, ...
- Linux CentOS7.0下JAVA安装和配置环境变量
一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...
- jdk在linux下安装、配置环境变量
1.jdk下载: 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 2. 3. 4.解压jdk到/usr/loca ...
随机推荐
- 国际化实现之基于jquery
jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. jQuery.i18n.properties 采用 .properties 文件对 Jav ...
- Golang panic用法
Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...
- centos6.5下yum安装mysql5.5
第一步就是看linu是否安装了mysql,经过rpm -qa|grep mysql查看到centos下安装了mysql5.1,那就开始卸载咯 2 接下来就是卸载mysql5.1了,命令:rpm -e ...
- sql中的分页实现
1.两种方式 1.1:row_number() over()函数 1.2:OFFSET ....FETCH OFFSET { integer_constant | offset_row_count_e ...
- SVN版本控制——SVN 合并的六种方式
合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里.如果当前工作副本是主干,则合并的范围是分支上的改动,如果工作副本是分 ...
- 三:vim常用快捷键
窗口移动操作: j或者Ctrl+e(就是Ctrl+e):向下细微滚动窗口. k或者Ctrl+y:向上细微滚动窗口. h:向左细微滚动窗口. l:向右细微滚动窗口. gg:跳转到页面的顶部. G(就是s ...
- FastJson的忽略字段和格式日期用法
1.指定序列化顺序 缺省fastjson序列化一个java bean,是根据fieldName的字母序进行序列化的,你可以通过ordinal指定字段的顺序.这个特性需要1.1.42以上版本. pub ...
- 聊聊MyBatis缓存机制【美团-推荐】
聊聊MyBatis缓存机制 2018年01月19日 作者: 凯伦 文章链接 18778字 38分钟阅读 前言 MyBatis是常见的Java数据库访问层框架.在日常工作中,开发人员多数情况下是使用My ...
- 说说HTML5中label标签的可访问性问题——张鑫旭
一.开篇叨叨 一般稍微有些经验的页面制作人员都知道label标签可以优雅地扩大表单控件元素的点击区域,例如,单纯的单选框点击区域就鼻屎那么大的地方,经常会点不到位置.因此,label标签的使用对于提高 ...
- 转:Jquery如何获取某个元素前(后)的文本内容?
原文:[解决]Jquery如何获取某个元素前(后)的文本内容? <span> text here... <a id="target_element">百万创 ...