orcale database 学习笔记

本贴最后更新于 2705 天前,其中的信息可能已经斗转星移
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命令行数据 打印到文件

推荐标签 标签

  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 2 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 2 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • abitmean

    有点意思就行了

    21 关注
  • Ubuntu

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

    123 引用 • 168 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 318 关注
  • sts
    2 引用 • 2 回帖 • 146 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖 • 3 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18592 引用 • 69190 回帖
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 126 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 642 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 38 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    1 引用 • 11 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 604 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    368 引用 • 1212 回帖 • 576 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 9 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 350 关注
  • 倾城之链
    23 引用 • 66 回帖 • 96 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖
  • Kotlin

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

    19 引用 • 33 回帖 • 25 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 1 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 182 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 1 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 43 关注