IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle基础语句 -> 正文阅读

[大数据]Oracle基础语句

账号管理

? 使用DBA登录:

? 1、运行命令行工具

sqlplus /nolog
conn sys/admin@orcl as sysdba;

? 2、解锁命令

alter user scott account unlock    |     lock     (解锁|加锁)

? 3、测试

conn scott/tiger@orcl;

创建数据库

? 在开始菜单Oracle-…中,找到 Database configuration Assistant

常用命令

  1. ? sqlplus /nolog
  2. conn scott/tiger@msb; //进入自己创建的数据库
  3. show user; //查看当前用户
  4. set linesize 150; //修改每一行可以显示多少个字符
  5. set pagesize 200; //修改每一页可以显示多少个字符
  6. passw; //修改密码(统一密码 tiger )

SQL语言

? Sql分类

  • 数据操纵语言 DML: ----对表数据的增删改查操作
  • 数据定义语言 DDL: ----对数据库的创建,修改操作
  • 数据控制语言 DCL: —对数据库的权限操作

实验用的数据表

  1. select * from tab; //查看用户下的所有表
  2. select * from user_tables; //详细查询当前用户下的所有表
  3. desc 表名; //查看表结构

表的介绍

  1. emp表–雇员表(employee)
  2. dept表–部门表(department)
  3. salgrade表–公司制度表
  4. bonus表–奖金表

添加注释

–给表添加注释
comment on table emp is ‘雇员表’;
–给列添加注释
comment on column emp.empno is ‘雇员工号’;

SELECT (A)

? 格式:

? SELECT [DISTINCT] {*,column alias,…}

? FROM table alias

? Where 条件表达式

注释:

  • DISTINCT 去重复
  • alias 别名

–查询雇员表工部门编号是10的员工

? select empno,ename from emp where deptno = 10;

–去除重复数据(去重复也可以针对多个字段)
select distinct deptno from emp;

–在查询的过程中可以给列添加别名,同时也可以给表添加别名
select e.empno 雇员编号,e.ename 雇员名称,e.job 雇员工作 from emp e where e.deptno = 10;

注:

  1. 给列起别名可以加 as 也可以不加
  2. 给列齐别名,如果别名中包含空格,那么需要整体用双引号包含起来
  3. 注意只查询固定数据的时候,建议不要使用 * ,效率低

where (A)

/*
Where(A)
条件比较
– =,!=,<>,<,>,<=,>=,any,some,all 判断语句
– is null,is not null 检查是否为空
– between x and y 包含 x 和 Y 的值
– in(list),not in(list) 某些值的等值判断的时候
– exists(sub-query)
– like _ ,%,escape ‘\‘ _% escape ‘\’
*/

– =
select * from emp where deptno = 10;
– !=
select * from emp where deptno != 10;
– <> 不等于
select * from emp where deptno <> 10;
– < 小于
select sal from emp where sal < 1500;
– > 大于
select sal from emp where sal > 1500;
– <= 小于等于
select sal from emp where sal <= 1500;
– >= 大于等于
select sal from emp where sal >= 1500;
– any 取其中任意一个进行判断条件
select sal from emp where sal > any(1000,2000,3000);
– some some跟any是统一效果,只要大于其中某一个值都会成立
select sal from emp where sal > some(1000,2000,3000);
– all 大于所有的值才会成立
select sal from emp where sal > all(1000,2000,3000);

–is null 在sql的语法中,null表示一个特殊的含义, null != null 不能使用=,!=进行判断,需要使用is或者is null
select comm from emp where comm is null;
–is not null
select * from emp where comm is not null;

–between x and y 包含 x 和 Y 的值
select * from emp where sal between 1000 and 2000;
select * from emp where sal >= 1000 and sal <=2000;

–需要进行某些值的等值判断的时候可以使用 in 和 not in
–in (list)
select * from emp where deptno in(10,20);
–可以使用and和or关键字,and 相当于是 与 操作,or相当于是 或 操作
–and和or可能出现在同一个sql语句中,此时需要注意and和or的优先级
–and的优先级要高于or,所以要将or相关操作用括号()括起来,提高优先级
select * from emp where deptno = 10 or deptno = 20;
–not in (list)
select * from emp where deptno not in(10.20);

–exists(sub-query),当exists中的子查询语句能查到对应效果的时候,意味着条件满足
– 相当于双层for循环,
–通过外层循环来规范内层的循环
select *
from emp e
where exists (select deptno
from dept d
where (deptno = 10 or deptno = 20)
and e.deptno = d.deptno);

–模糊查询
–like _ ,%,escape ‘\‘ _% escape ‘\’
/*
在like语句中,需要使用占位符或者通配符
_(下划线) :某个字符或者数字仅出现一次
% :任意字符出现次数
escape :使用转义字符,可以自己规定转义字符

使用like的时候要慎重,因为like的效率比较低
使用lile可以参考使用索引,但是要求不能以%开头
*/
–查询以S开头的用户
select * from emp where ename like(‘S%’);
–查询名字以S开头且倒数第二个字符以T的用户
select * from emp where ename like(‘S%T_’);
–查询名字中带%的用户
select * from emp where ename like(’%%%’)escape(’’);

order by (A)

/*
order by 进行排序操作
默认情况下完成的升序
asc :是默认的排序方式,表示升序
desc :表示降序排序的操作
1、排序是按照自然顺序进行排序的,如果是数值,就按照从大到小
2、如果是字符串,就按照字典进行排序
3、在进行排序的时候可以指定多个字段,而且多个字段可以使用不用的排序方式
4、在每次执行order by 的时候,相当于做了全排序,思考全排序的效率
*/
–order by 排序操作
– 对emp中的工资进行升序排序
select * from emp order by sal;
– 对emp中的工资进行降序排序
select * from emp order by sal desc;
–多个字段的排序
select * from emp order by sal desc,ename asc;

创建计算字段(A)

–字符串连接符
select 'my name is ’ || ename name from emp;
select concat('my name is ',ename) from emp;
–计算所有员工的年薪;
select ename,(e.sal + nvl(e.comm,0)) * 12 from emp e;

通用函数 nvl (A)

? 引入函数:nvl(arg1,arg2),如果arg1是空,那么返回arg2,如果不是空,则返回原来的值

–计算所有员工的年薪;
select ename,(e.sal + nvl(e.comm,0)) * 12 from emp e;

并集、全集、交集、差集

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:54:27  更:2021-11-16 18:54:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:50:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码