Oracle(一)基础和简单查询

基础

一)oracle概述

(1)了解一些关于数据库的概念
数据:在数据库领域看来,数据是存储的基本单位,包含文本,图片,视频,音频
数据库:就是数据仓库,存储数据的地方,特指计算机设备中的硬盘,以二进制压缩文本的形式存放
该文件不能直接操作,必须由各数据库公司提供的工具方可操作,该文件的格式是每个数据库公司内部
定义的,不是统一规则
数据库对象:在Oracle中,例如:表,视图,索引,函数,过程,触发器。。。
关系型数据库:简单的说,以行列结构的形式,将数据库中的信息表示出来的对象,即二维表
常见流行的关系型数据库:Oracle&MySQL/Oracle–>DB2/IBM—>SQLServer/Microsoft–>。。。

(2)了解oracle11g背景

(3)oracle数据库服务器由二部份组成
(A)实例:理解为对象,看不见的
(B)数据库:理解为类,看得见的,E:\app\Administrator\oradata\orcl*.DBF

(4)oracle服务器与orcl数据库的关系
一个oracle数据库服务器中包括多个数据库,例如:orcl,orm,oa,bbs,tax,erp等等
在E:\oracleDB\oradata\目录下,有多少个文件夹,就有多少个数据库,例如:orcl文件夹=orcl数据库
我们向数据库中存储的所有数据库,最终都会存放在对应库的*.DBF文件中,以二进制压缩形式存放
在oracle服务器中创建数据库:参见《在oracle服务器中创建数据库.JPG》
注意:我们在安装oracle时,已经创建好了一个数据库,默认名叫orcl,除非你当时改了数据库名字

(5)sqlplus和sqldeveloper,orcl实例,orcl数据库之间的关系
sqlplus是oracle11g自带的一个客户端黑屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库
sqldeveloper是oracle11g自带的一个客户端彩屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库
如果你觉得这二款客户端工具不喜欢,可以上网下载第三方的客户端工具
(6)以sys超级用户名,dba角色,即超级管理员身份解锁scott方案/用户,并为scott设置一个密码为tiger
解锁用户:alter user scott/hr account unlock;
设置密码:alter user scott/hr identified by tiger/lion;
普通用户scott
密码tiger

(7)使用客户端sqlplus工具进入与退出orcl数据库
------以超级管管理员角色进入
c:/>sqlplus / as sysdba
sql>exit
------以普通用户进入
c:/>sqlplus scott/tiger
sql>exit
声明:我们以普通用户的身份进入

二)Java工程师,oracleSQL和oracle的关系

(1)第四代语言:SQL【结构化查询语言,面向关系的】
第一代:机器语言
第二代:汇编
第三代:C/C++/C#/Java/VB/…
第四代:SQL
将来。。。

(2)SQL92/【99】标准的四大分类
(A)DML(数据操纵语言):select,insert,update,delete
(B)DDL(数据定义语言):create table,alter table,drop table,truncate table 。。。
(C)DCL(数据控制语言):grant 权限 to scott,revoke 权限 from scott 。。。
(D)TCL(事务控制语言):commit,rollback,rollback to savepoint 。。。

(3)oracleSQL与SQL92/99的关系
SQL92/99标准,访问任何关系型数据库的标准
oracleSQL语言,只访问Oracle数据库服务器的专用语言

(4)Java技术和oracleSQL的关系
JDBC–>使用OracleSQL语法–>Oracle服务器—>orcl数据库–>表–>记录
Hibernate–>使用OracleSQL语法–>Oracle服务器
MyBatis–>使用OracleSQL语法–>Oracle服务器

简单查询

1.使用password命令修改密码
password
2.退出sqlplus工具
exit
3.查询当前用户
show user
4.查询hr用户下的所有对象,使用tab表,tab表每个用户下都有,作用是查询该用户都有哪些表

select * from tab;

5.设置显示的列宽(字符型)

column 列名 format a16;

6.设置显示的列宽(数字型)只能用9一个9代表一位

column 列名 format 9999;

7.查看表结构

desc emp;
更改表的样式、结果

col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;   
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
set pagesize 20;
col tname for a20;
set pagesize 80; 

8.查询所有内容(*代表通配,表示查询出该表中所有的字段,一般不推荐使用)

SELECT * FROM EMP;
SELECT EMPNO , ENAME , JOB, MGR, COMM FROM EMP;

查询员工的编号,姓名,月薪,年薪(月薪*12)

SELECT empno,ename,sal,sal*12 ’年薪‘ FROM EMP;

查询员工的编号,姓名,月薪,年薪,年收入(年薪+奖金)别名不能使用单引号,因为oracle认为单引号为字符类型或日期类型

select empno 员工编号,ename 名字,sal 月薪,sal*12 年薪,sal*12+comm 年收入 from emp;

解决NULL的问题,使用NVL()函数,NVL(a,b):如果a为null则用b替代,如果a不是null就直接返回a

select nvl(null,10) from dual; -- dual为哑表

使用dual哑表,使用字符串连接符号||,输出"hello world",在oracle中from是必须写的

select 'hello' || 'world' from dual;

使用sysdate显示当前时间

select sysdate from dual;

where子句:筛选

查询EMP表中20号部门的员工

select * from emp where deptno=20;

查询员工为SMITH的员工,字符串使用’’,内容大小写敏感

SELECT * FROM emp WHERE ename='SMITH';

查询在2003年6月17号入职的员工

select * from emp where hiredate = '17-12月-80';

查询工资不等于3000美金的员工【!=或者<>】

SELECT * FROM emp WHERE sal <> 3000;

查询薪水在1300到1600的员工,包含1300到1600

SELECT * FROM EMP WHERE SAL>=1300 AND SAL<=1600;
	或
SELECT * FROM EMP WHERE SAL BETWEEN 1300 AND 1600;

查询入职时间在"1981-2月-20"到"1982-1月-23"之间的员工

select * from emp where hiredate between '20-2月-81' and '23-1月-82';

注意:
1)对于数值型,小数值在前,大数值在后
2)对于日期型,年长值在前,年小值在后

查询姓名以大写字母S开头的员工

SELECT * FROM EMP WHERE ename LIKE 'S%';

查询员工信息,对有佣金的员工,按佣金降序排列,当order by 和 where 同时出现时,order by 在最后

	select *
	from emp
	where comm is not null
	order by comm desc;

查询员工信息,按工资降序排列,相同工资的员工再按入职时间降序排列

select *
	from emp
	order by sal desc,hiredate desc;
	select *
	from emp
	order by sal desc,hiredate asc;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值