orcale database 学习笔记

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

相关帖子

欢迎来到这里!

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

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

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

推荐标签 标签

  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 2 关注
  • RYMCU

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

    4 引用 • 6 回帖 • 50 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    946 引用 • 943 回帖
  • Notion

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

    7 引用 • 40 回帖
  • Sandbox

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

    409 引用 • 1246 回帖 • 587 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 1 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 391 回帖
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • 自由行
    4 关注
  • 服务器

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

    125 引用 • 588 回帖
  • SQLServer

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

    21 引用 • 31 回帖 • 4 关注
  • 导航

    各种网址链接、内容导航。

    42 引用 • 175 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    288 引用 • 4485 回帖 • 663 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 3 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 147 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 2 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 26 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 221 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 666 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 724 关注
  • 996
    13 引用 • 200 回帖 • 11 关注
  • 负能量

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

    88 引用 • 1235 回帖 • 410 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖