orcale database 学习笔记

本贴最后更新于 3271 天前,其中的信息可能已经斗转星移
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
    131 引用 • 397 回帖 • 3 关注
  • orcale
    1 引用 • 1 回帖

相关帖子

欢迎来到这里!

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

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

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

推荐标签 标签

  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖 • 1 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 244 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖 • 1 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    25 引用 • 373 回帖
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 50 关注
  • 自由行
    2 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 2 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 689 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 149 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 1 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    6 引用 • 35 回帖
  • 30Seconds

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

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

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 80 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 4 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 233 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 18 关注
  • Flume

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

    9 引用 • 6 回帖 • 675 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    51 引用 • 200 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 114 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 440 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖
  • HTML

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

    108 引用 • 295 回帖 • 3 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 201 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1448 引用 • 10087 回帖 • 491 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 138 关注