orcale database 学习笔记

本贴最后更新于 2800 天前,其中的信息可能已经斗转星移
SQL> --清屏
SQL> host clr

SQL> host crl

SQL> host cls

SQL> --当前用户
SQL> show user
USER 为 "SCOTT"
SQL> --当前用户的表
SQL> select * from tab;

TNAME TABTYPE CLUSTERID 
------------------------------ ------- ---------- 
DEPT TABLE 
EMP TABLE 
BONUS TABLE 
SALGRADE TABLE

SQL> desc EMP
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)

SQL> --查询所有员工信息
SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
DEPTNO 
---------- 
7369 SMITH CLERK 7902 17-12月-80 800 
20 

7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 
30 

7521 WARD SALESMAN 7698 22-2月 -81 1250 500 
30

EMPNO ENAME JOB MGR HIREDATE SAL COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
DEPTNO 
---------- 
7566 JONES MANAGER 7839 02-4月 -81 2975 
20 

7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 
30 

7698 BLAKE MANAGER 7839 01-5月 -81 2850 
30

EMPNO ENAME JOB MGR HIREDATE SAL COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
DEPTNO 
---------- 
7782 CLARK MANAGER 7839 09-6月 -81 2450 
10 

7788 SCOTT ANALYST 7566 19-4月 -87 3000 
20 

7839 KING PRESIDENT 17-11月-81 5000 
10

EMPNO ENAME JOB MGR HIREDATE SAL COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
DEPTNO 
---------- 
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 
30 

7876 ADAMS CLERK 7788 23-5月 -87 1100 
20 

7900 JAMES CLERK 7698 03-12月-81 950 
30

EMPNO ENAME JOB MGR HIREDATE SAL COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
DEPTNO 
---------- 
7902 FORD ANALYST 7566 03-12月-81 3000 
20 

7934 MILLER CLERK 7782 23-1月 -82 1300 
10

已选择14行。

SQL> --设置行和列 宽
SQL> set linesize 150\
SP2-0268: linesize 选项的编号无效
SQL> set linesize 150
SQL> col ename for a8
SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 
---------- -------- --------- ---------- -------------- ---------- ---------- ---------- 
7369 SMITH CLERK 7902 17-12月-80 800 20 
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 
7566 JONES MANAGER 7839 02-4月 -81 2975 20 
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 
7782 CLARK MANAGER 7839 09-6月 -81 2450 10 
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 
7839 KING PRESIDENT 17-11月-81 5000 10 
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 
7876 ADAMS CLERK 7788 23-5月 -87 1100 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 
---------- -------- --------- ---------- -------------- ---------- ---------- ---------- 
7900 JAMES CLERK 7698 03-12月-81 950 30 
7902 FORD ANALYST 7566 03-12月-81 3000 20 
7934 MILLER CLERK 7782 23-1月 -82 1300 10

已选择14行。

SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 
---------- -------- --------- ---------- -------------- ---------- ---------- ---------- 
7369 SMITH CLERK 7902 17-12月-80 800 20 
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 
7566 JONES MANAGER 7839 02-4月 -81 2975 20 
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 
7782 CLARK MANAGER 7839 09-6月 -81 2450 10 
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 
7839 KING PRESIDENT 17-11月-81 5000 10 
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 
7876 ADAMS CLERK 7788 23-5月 -87 1100 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 
---------- -------- --------- ---------- -------------- ---------- ---------- ---------- 
7900 JAMES CLERK 7698 03-12月-81 950 30 
7902 FORD ANALYST 7566 03-12月-81 3000 20 
7934 MILLER CLERK 7782 23-1月 -82 1300 10

已选择14行。

SQL> select empno,ename,sal from emp;

EMPNO ENAME SAL 
---------- -------- ---------- 
7369 SMITH 800 
7499 ALLEN 1600 
7521 WARD 1250 
7566 JONES 2975 
7654 MARTIN 1250 
7698 BLAKE 2850 
7782 CLARK 2450 
7788 SCOTT 3000 
7839 KING 5000 
7844 TURNER 1500 
7876 ADAMS 1100

EMPNO ENAME SAL 
---------- -------- ---------- 
7900 JAMES 950 
7902 FORD 3000 
7934 MILLER 1300

已选择14行。

SQL> --改错误sql语句
SQL> select empno,ename,sal
2 form emp;
form emp
*
第 2 行出现错误: 
ORA-00923: 未找到要求的 FROM 关键字


SQL> --使用c 命令 chang
SQL> c 2 /form/from
SP2-0023: 未找到字符串
SQL> 2
2* form emp
SQL> c /form/from
2* from emp
SQL> --使用/调用上一条sql语句
SQL> /

EMPNO ENAME SAL 
---------- -------- ---------- 
7369 SMITH 800 
7499 ALLEN 1600 
7521 WARD 1250 
7566 JONES 2975 
7654 MARTIN 1250 
7698 BLAKE 2850 
7782 CLARK 2450 
7788 SCOTT 3000 
7839 KING 5000 
7844 TURNER 1500 
7876 ADAMS 1100

EMPNO ENAME SAL 
---------- -------- ---------- 
7900 JAMES 950 
7902 FORD 3000 
7934 MILLER 1300

已选择14行。

SQL> --查询 员工号 员工名 员工 年薪 年收入
SQL> select empno,ename,(sal*12),(sal*12+comm) from emp;

EMPNO ENAME (SAL*12) (SAL*12+COMM) 
---------- -------- ---------- ------------- 
7369 SMITH 9600 
7499 ALLEN 19200 19500 
7521 WARD 15000 15500 
7566 JONES 35700 
7654 MARTIN 15000 16400 
7698 BLAKE 34200 
7782 CLARK 29400 
7788 SCOTT 36000 
7839 KING 60000 
7844 TURNER 18000 18000 
7876 ADAMS 13200

EMPNO ENAME (SAL*12) (SAL*12+COMM) 
---------- -------- ---------- ------------- 
7900 JAMES 11400 
7902 FORD 36000 
7934 MILLER 15600

已选择14行。

SQL> --对出错情况的解决
SQL> --无奖金无收入
SQL> /*
SQL> sql语句的控制问题
SQL> c /控制/null
SQL> 2.包含null的表达式都是null
SQL> 1.null永远!=null
SQL> *、
SQL> */
SQL> */
SP2-0042: 未知命令 "*/" - 其余行忽略。
SQL> select empno,ename,(sal*12),(sal*12+nvl(comm,0)) from emp;

EMPNO ENAME (SAL*12) (SAL*12+NVL(COMM,0)) 
---------- -------- ---------- -------------------- 
7369 SMITH 9600 9600 
7499 ALLEN 19200 19500 
7521 WARD 15000 15500 
7566 JONES 35700 35700 
7654 MARTIN 15000 16400 
7698 BLAKE 34200 34200 
7782 CLARK 29400 29400 
7788 SCOTT 36000 36000 
7839 KING 60000 60000 
7844 TURNER 18000 18000 
7876 ADAMS 13200 13200

EMPNO ENAME (SAL*12) (SAL*12+NVL(COMM,0)) 
---------- -------- ---------- -------------------- 
7900 JAMES 11400 11400 
7902 FORD 36000 36000 
7934 MILLER 15600 15600

已选择14行。

SQL> --nvl(a,b) if a==null return b else return a
SQL> ed
已写入 file afiedt.buf

1* select empno "员工号",ename "员工名",(sal*12) "年薪",(sal*12+nvl(comm,0)) "年收入" from emp
SQL> /

员工号 员工名 年薪 年收入 
---------- ---------- ---------- ---------- 
7369 SMITH 9600 9600 
7499 ALLEN 19200 19500 
7521 WARD 15000 15500 
7566 JONES 35700 35700 
7654 MARTIN 15000 16400 
7698 BLAKE 34200 34200 
7782 CLARK 29400 29400 
7788 SCOTT 36000 36000 
7839 KING 60000 60000 
7844 TURNER 18000 18000 
7876 ADAMS 13200 13200

员工号 员工名 年薪 年收入 
---------- ---------- ---------- ---------- 
7900 JAMES 11400 11400 
7902 FORD 36000 36000 
7934 MILLER 15600 15600

已选择14行。

SQL> --distinct
SQL> select depton from emp;
select depton from emp
*
第 1 行出现错误: 
ORA-00904: "DEPTON": 标识符无效


SQL> select deptno from emp;

DEPTNO 
---------- 
20 
30 
30 
20 
30 
30 
10 
20 
10 
30 
20

DEPTNO 
---------- 
30 
20 
10

已选择14行。

SQL> select distinct deptno from emp;

DEPTNO 
---------- 
30 
20 
10

SQL> select connect("hello","world") from
2 dual;
select connect("hello","world") from
*
第 1 行出现错误: 
ORA-00936: 缺失表达式


SQL> select concat("hello","world") from dual;
select concat("hello","world") from dual
*
第 1 行出现错误: 
ORA-00904: "world": 标识符无效


SQL> select concat('hello','world') from dual;

CONCAT('HE 
---------- 
helloworld

SQL> select ename||'的月薪是'||sal from emp;

ENAME||'的月薪是'||SAL 
---------------------------------------------------------- 
SMITH的月薪是800 
ALLEN的月薪是1600 
WARD的月薪是1250 
JONES的月薪是2975 
MARTIN的月薪是1250 
BLAKE的月薪是2850 
CLARK的月薪是2450 
SCOTT的月薪是3000 
KING的月薪是5000 
TURNER的月薪是1500 
ADAMS的月薪是1100

ENAME||'的月薪是'||SAL 
---------------------------------------------------------- 
JAMES的月薪是950 
FORD的月薪是3000 
MILLER的月薪是1300

已选择14行。

SQL> exit
  • SQL
    124 引用 • 296 回帖 • 3 关注
  • orcale
    1 引用 • 1 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone

    通过spool命令将 sql命令行数据 打印到文件

推荐标签 标签

  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 616 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    16 引用 • 7 回帖 • 2 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 613 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 51 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    544 引用 • 3531 回帖
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 2 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖 • 1 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 196 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注
  • 分享

    有什么新发现就分享给大家吧!

    245 引用 • 1776 回帖 • 1 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 473 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1234 回帖 • 441 关注
  • abitmean

    有点意思就行了

    39 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    54 引用 • 85 回帖
  • gRpc
    11 引用 • 9 回帖 • 49 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 8 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 613 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 580 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    171 引用 • 814 回帖
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 641 关注