`
luhai1992
  • 浏览: 58084 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Oracle小结1

阅读更多

Oracle常用命令

一、打开Oracle数据库方式

a)        Dos sqlplus

快捷方式:Windows徽标键+ R 快速打开运行窗口,键入CMD

打开Dos 然后按照提示输入用户名密码

b)        图形化工具:开始-说有程序-oracle程序-应用程序开发-sqlplus

c)        浏览器方式打开:

     http://127.0.0.1:5560/isqlplus

        http://localhost:5560/isqlpus

     注:oracle11g开始就不支持isqlplus

二、Oracle客户端

a)        PL/SQL

b)        Toad

三、SQL语句

1、更改用户

    alter user scott account unlock;

       解锁scott用户

 

2、显示数据库表信息

    1.desc 表名

3select语句

1)        查询条件若在双引号中则区分大小写

若查询条件中含有“号 则可用\” 转译

2)        select 3*3 from dualdual是系统自带的一张空表,计算数据时可以使用该表

3)        任何含有空值的算术表达式的计算结果是空值

4)        set linesize 200;--用于设定每行显示的宽度

5)        set pagesize 30;--设置显示的页数

 

4distinct

    1.select distinct a from ;

    2.select distinct a,b from ;

       去除查询结果中相同内容

5where

a)        select * from emp where empno = 10;

b)        select * from emp where empno <> 10;

c)        select * from emp where ename = 'hebe';

d)        select * from emp where sal (not) between 800 and 1500;

e)        select * from emp where comm is (not) null;

f)         select * from emp where ename (not) in ('smith','philip','jay');

g)        select * from emp where ename like '_A%';

h)        select * from emp where ename like '_\%a%';系统默认转义符是\,可以自己指定转义符

select * from emp where ename like '_$%a%' escape '$';

以上说明$为用户自定义的转义符

也可以用两个 代表的转译

 

6order by 语句

    1.select * from dept;

    2.select * from dept order by dept desc;(默认为asc)

            注意: desc为降序 asc 为升序

3.select ename, sal, deptno from emp where sal > 2000 order by deptno asc,ename   desc;

 

7sql函数 

1.select ename from emp where ename not like '_A%' and sal > 1500

    order by sal desc;

    2.select lower(ename) from emp;

    3.select ename from emp where lower(ename) like '_a%';

 4.select substr(ename,2,3) from emp;从第二字符截,一共截三个字符。

    5.select chr(65) from dual;结果为A  ASCII码转成字符

    6.select ascii('a') from dual;结果为65 的到字符的ASCII

    7.select round(35.572) from dual;结果为36

    8.select round(35.572,2) from dual;结果为35.57

    9.select round(35.572,-1) from dual;结果为40

910 两例 解析:以 . 为起点左为负右为正,得到取近似值的位数 然后进行四舍五入计算

    10.select to_char(sal,'$99,999.9999') from emp;

to_char函数主要用于对日期和数字进行格式化

11.select to_char(sal,'L99,999.9999') from emp;人民币符号,L代表本地符号。

    12.select birthdate from emp;

    显示为:BIRTHDATE

    ---------------------

    22-3-87

    改为:select to_char(birthdate,'YYYY-MM-DD HH24:MI:SS') from emp;

    13.to_data函数

select ename,birthdate from emp where birthdate > to_date('1987-3-22 11:22:33','YYYY-MM-DD HH24:MI:SS');不能直接写birthdate>'1987-2-22 11:22:33'会出现格式不匹配,因为表中格式为DD-MM月-YY,

    14.select sal from emp where sal > to_number('$12,444.99','$99,999.99');

15.select ename, sal*12+nvl(comm,0) from 这样防止comm为空时,sal*12相加也为空的情况

                               如果你某个字段为空,但是你想让这个字段显示0

nvl(字段名,0),就是当你选出来的时候,这个字段虽然为空,但是显示的是0,当然这个0也可以换成其他东西,如:12

8Group function 组函数

    1.select max(sal) from emp;

    2.select min(sal) from emp;

    3.select to_char(avg(sal), '$999,999,999.99') from emp;

    4.select round(sum(sal),2) from emp;

    5.select count(*) from emp where sal > 1500;

    6.select count(comm) from emp;

    7.select count(distinct deptno) from emp;

 

9Group by语句

    1.select avg(sal) from emp group by deptno;

    2.select deptno,avg(sal) from emp group by deptno;

    3.select deptno,job,max(sal) from emp group by deptno,job;

 4.求薪水值最高的人的名称select ename,max(sal) from emp;出错,因为max只能有一个值,但是ename的值可能有好几个,不能匹配。

    Group by 语句应注意,出现在select中的字段,如果没有出现在组函数中,必须出现在Group  by语句中。

 

10Having对分组结果筛选

    1.where是对单条记录进行筛选,Having是对分组结果进行筛选

select avg(sal),deptno from emp group by deptno having avg(sal) > 2000;

2.查询工资大于2000的雇员,按照部门编号进行分组,分组后平均薪水大于1500,按工资倒序排列 ,且显示平均工资

select deptno,avg(sal) from emp where sal > 2000 group by deptno having avg(sal) >  1500 order by avg(sal) desc;

 

11、子查询

    1.select 语句中嵌套select 语句,求哪些人工资在平均工资之上.

    select ename,sal from emp where sal > (select avg(sal) from emp);

    2.查找每个部门挣钱最多的那个人的名字.

 select ename, deptno from emp where sal in (select max(sal) from emp group by deptno) 查询会多值.正确写法是:

    应把select max(sal),deptno from emp group by deptno当成一个表,语句如下:

    select ename,sal from emp join (select max(sal) max_sal,deptno from emp group by         deptno) t on (emp.sal = t.max_sal and emp.deptno = t.deptno);

分享到:
评论

相关推荐

    Oracle数据库函数小结

    对Oracle数据库所使用的函数进行了总结,可以速查这些函数的用法并且附带例子

    oracle小结.ppt

    本文将根据提供的"oracle小结.ppt"内容,对Oracle数据库系统及其相关知识点进行详细总结。 1. 数据库系统概述: - 数据:描述事物的符号记录,是数据库中的基本元素。 - 数据库:存储在计算机内,有组织且可共享的...

    oracle环境变量学习小结.

    ### Oracle环境变量学习小结 #### 一、Oracle环境变量的重要性及作用 Oracle数据库系统作为全球最流行的数据库管理系统之一,在企业级应用中占有极其重要的地位。为了更好地管理和配置Oracle数据库,Oracle利用了...

    oracle 小结 sqlplus 系统表

    从给定的文件信息中,我们可以总结出一系列与Oracle数据库管理相关的知识点,涵盖SQL*Plus命令、系统表操作、性能优化、以及Oracle数据库的启动和关闭等关键领域。以下是详细的知识点归纳: ### SQL*Plus命令及性能...

    oracle命令小结

    本文将深入解析“oracle命令小结”这一主题,重点介绍Oracle数据库的日志管理和表空间管理两个关键领域中的常用SQL语句,帮助读者更全面地理解和掌握Oracle数据库的管理技巧。 ### 一、日志管理 #### 1. 强制切换...

    Oracle时间问题小结

    Oracle数据库在处理时间数据时提供了丰富的函数和格式化选项,使得日期和时间的处理变得灵活且强大。在Oracle中,日期存储为内部的原始格式,但当我们需要与用户交互或在查询中显示日期时,就需要将这些日期转换为可...

    ORACLE审计小结

    ### ORACLE审计小结 #### 一、Oracle审计概述 Oracle数据库提供了强大的审计功能,用于监控用户对数据库的操作。审计信息可以保存到操作系统文件中,默认路径是 `$ORACLE_BASE/admin/$ORACLE_SID/adump/`,也可以...

    oracle字段类型小结

    1. **CHAR**: CHAR是固定长度的字符串类型,最大长度为2000字节。无论实际输入的数据多长,Oracle都会填充空格以达到指定的长度。这在存储固定格式的数据时很有用,但可能会造成空间浪费。 2. **VARCHAR2**: ...

    OracleASM常用知识小结

    ### Oracle ASM 常用知识小结 #### 一、ASM 概述 **ASM (Automatic Storage Management)** 是 Oracle 10g 引入的一种新型的存储管理技术,旨在为数据库提供高性能、高可用性以及易管理性的存储解决方案。通过 ASM...

    Oracle优化小结

    Oracle数据库优化是数据库管理员日常工作中至关重要的一环,尤其是在Oracle 10g这样的企业级数据库系统中。优化不仅仅是针对SQL语句的改进,而是涵盖了整个数据库系统,包括硬件、操作系统、数据库配置以及应用设计...

    Oracle ASM 常用知识小结

    Oracle ASM 常用知识小结 !!!!!!!

    oracle知识小结

    1. 用户管理: - 创建用户:使用`CREATE USER`语句可以创建新的用户,如`CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 3M ON users;`。`IDENTIFIED BY`...

    oracle学习小结1.1

    - 需要在`C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN`目录下修改配置文件以更新IP地址。 ### 7. 解锁用户账号 - **解锁用户**:使用`ALTER USER`语句解锁用户账号。 - `ALTER USER username ACCOUNT UNLOCK;`...

    Oracle JOB 用法小结

    1. `Broken()`过程用于更新已提交作业的状态,通常用于将一个破碎的作业标记为未破碎。它接受三个参数:作业号(job)、是否破碎(broken)以及下次运行时间(next_date)。 2. `Change()`过程允许更改指定作业的...

    关于Oracle课程小结.docx

    在这个Oracle课程小结中,我们将探讨几个核心概念:DUAL表、NULL值处理以及常用的SQL函数。 首先,DUAL表在Oracle数据库中扮演着特殊的角色。它是一个只有一行一列的系统表,属于SYS模式,并通过PUBLIC SYNONYM公开...

    oracle数据库小结

    Oracle数据库是世界上最流行的数据库管理系统之一,它被广泛用于企业级应用和数据存储。本文将对在使用Oracle数据库过程中的一些常见操作进行总结。 首先,我们关注的是如何查询Oracle数据库中的外键信息。外键是...

    韩顺平玩转oracle学习小结

    ### 韩顺平玩转Oracle学习小结 #### 1. Oracle基础介绍 ##### 1.1 基本概念 **实例**: 在Oracle中,“实例”指的是数据库中的相关进程被启动并加载到内存中形成的一个整体。这些进程协同工作以支持数据库的正常...

Global site tag (gtag.js) - Google Analytics