SQL/PLSQL基础


1.sql plus 内部命令

SQL> select * from scott.emp

 2  where sal>2000

 3  order by ename;

 

    EMPNO ENAME      JOB          MGR HIREDATE          SAL  COMM

---------- ---------- --------- ---------------------- ---------- ----------

   DEPTNO

----------

     7698 BLAKE      MANAGER         7839 01-MAY-81         2850

      30

 

     7782 CLARK      MANAGER         7839 09-JUN-81          2450

      10

 

     7902 FORD       ANALYST           7566 03-DEC-81          3000

      20

 

 

    EMPNO ENAME      JOB          MGR HIREDATE          SAL  COMM

---------- ---------- --------- ---------------------- ---------- ----------

   DEPTNO

----------

     7566 JONES      MANAGER         7839 02-APR-81          2975

      20

 

     7839 KING       PRESIDENT    17-NOV-81          5000

      10

 

     7788 SCOTT      ANALYST          7566 19-APR-87          3000

      20

 

 

6 rows selected.

 

SQL> l                             【列出上一条命令】

 1  select * from scott.emp

 2  where sal>2000

  3*order by ename

SQL> l 2                           【列出上一条命令的第2行(并将其改变为当前行)】

  2*where sal>2000

SQL> l 1 2                                          【列出上一条命令的第1到第2行】

 1  select * from scott.emp

  2*where sal>2000

 

SQL> i order by sal                        【在当前行后增加一行】

SQL> del 4                                     【删除指定行】

SQL> l

 1  select * from scott.emp

 2  where sal>2000

  3*order by sal

SQL> c/by sal/by abc                      【修改当前行中指定字串】

  3*order by abc

SQL> c/by abc                           【删除当前行指定字串】

  3*order

SQL> a by sal                                         【在当前行尾添加指定字串 (两个空格)】

  3*order  by sal

 

SQL> save aaa;                                                     【将当前命令存盘为aaa.sql】

SQL> get aaa;                                                          【读入aaa.sql】

 1  select * from scott.emp

 2  where sal>2000

 3  order by sal

 4  /

 5  select * from scott.emp

 6  where sal>2000

 7  order by sal

 8  /

 9  select * from scott.emp

 10 where sal>2000

 11 order by sal

 12  /

 13 select * from scott.emp

SQL> @aaa                       【不读入而直接调用执行aaa.sql

    EMPNO ENAME      JOB          MGR HIREDATE          SAL  COMM

---------- ---------- --------- ---------------------- ---------- ----------

   DEPTNO

----------

     7782 CLARK      MANAGER         7839 09-JUN-81          2450

      10

 

     7698 BLAKE      MANAGER         7839 01-MAY-81         2850

      30l/

 

 

 

SQL> spool bbb;【将以下 所有内容全部保存到文件bbb.lst中直至遇到spool off】

SQL> select * from scott.emp;

 

    EMPNO ENAME      JOB          MGR HIREDATE              SAL   COMM    DEPTNO

---------- ---------- --------- ----------------------------- ---------- ---------- ----------

      33jkl

     7369 SMITH      CLERK        7902 1980-12-17 00:00:00        800                20

 

SQL> set term off[【内容中输出到文件而不输出到屏幕以提高速度】

SQL> @aaa

SQL> spool;【查看spool变量现在的状态】

currently spooling to bbb.lst

SQL> spool off;【关闭spool输出】

SQL> spool;

not spooling currently

SQL> desc scott.emp;【查看指定表结构】

SQL> show user【查看当前用户名】

USER is "SYS"

SQL> clear scr;【清屏】

SQL> host vi a.sql【不退出SQL执行操作系统命令】

SQL> set pause on【设置分屏显示结果】

SQL> set pagesize 30【设置分屏显示结果的行数】

SQL> set linesize 200【设置一行显示的宽度】

SQL> set numformat 999999999【设置所有数字类型列输出宽度】

SQL> set numformat 00000

SQL> set numformat ""  【恢复原有设置】

SQL>column empno format 99999  【修改单个数字列的宽度】

 

SQL>col job for a15 heading '工作职位' justify center;【修改标题居中及宽度】

SQL> select * from scott.emp;

 

 EMPNO ENAME      工作职位         MGR HIREDATE                 SAL   COMM    DEPTNO

------ ---------- ------------------------- ------------------- ---------- ---------- ----------

   33 jkl

 7369 SMITH     CLERK           79021980-12-17 00:00:00    800              20

 

SQL>col mgr just right null ''   【设置空值替换】

SQL> select * from scott.emp;

 

 EMPNO ENAME      工作职位         MGR HIREDATE                 SAL   COMM    DEPTNO

------ ---------- ------------------------- ------------------- ---------- ---------- ----------

   33 jkl                 无

 7369 SMITH     CLERK           79021980-12-17 00:00:00    800              20

 7499 ALLEN      SALESMAN           76981981-02-20 00:00:00       1600       300        30

SQL>col sal for $9999.99     【设置数字输出格式】

SQL> select * from scott.emp;

 

 EMPNO ENAME      工作职位         会话 HIREDATE              SAL  COMM    DEPTNO

------ ---------- ------------------------- ------------------- --------- ---------- ----------

   33 jkl                 无

 7369 SMITH     CLERK           79021980-12-17 00:00:00   $800.00             20

 7499 ALLEN      SALESMAN           76981981-02-20 00:00:00  $1600.00  300        30

 

SQL>col empno【查询指定列设置】

COLUMN     empno ON

FORMAT     99999

 

SQL>col         【查询所有列设置】

COLUMN     sal ON

FORMAT     $9999.99

 

COLUMN     mgr ON

HEADING '会话'

NULL    '无'

JUSTIFY right

 

COLUMN     mgt ON

NULL    '无'

JUSTIFY right

 

COLUMN     job ON

HEADING '工作职位'

FORMAT     a15

JUSTIFY center

 

COLUMN     empno ON

FORMAT     99999

 

COLUMN     result_plus_xquery ON

HEADING 'Result Sequence'

 

COLUMN     other_plus_exp ON

FORMAT     a44

 

COLUMN     other_tag_plus_exp ON

FORMAT     a29

 

COLUMN     object_node_plus_exp ON

FORMAT     a8

 

COLUMN     plan_plus_exp ON

FORMAT     a60

 

COLUMN     parent_id_plus_exp ON

HEADING 'p'

FORMAT     990

 

COLUMN     id_plus_exp ON

HEADING 'i'

FORMAT     990

 

COLUMN     droptime_plus_show_recyc ON

HEADING 'DROP TIME'

FORMAT     a19

 

COLUMN     objtype_plus_show_recyc ON

HEADING 'OBJECT TYPE'

FORMAT     a12

 

COLUMN     objectname_plus_show_recyc ON

HEADING 'RECYCLEBIN NAME'

FORMAT     a30

 

COLUMN     origname_plus_show_recyc ON

HEADING 'ORIGINAL NAME'

FORMAT     a16

 

COLUMN     value_col_plus_show_param ON

HEADING 'VALUE'

FORMAT     a30

 

COLUMN     name_col_plus_show_param ON

HEADING 'NAME'

FORMAT     a36

 

COLUMN     units_col_plus_show_sga ON

FORMAT     a15

 

COLUMN     name_col_plus_show_sga ON

FORMAT     a24

 

COLUMN     ERROR ON

FORMAT     A65

word_wrap

 

COLUMN     LINE/COL ON

FORMAT     A8

 

COLUMN     ROWLABEL ON

FORMAT     A15

 

SQL>show all   【查询所有参数设置】

appinfo is OFF and set to"SQL*Plus"

arraysize 15

autocommit OFF

autoprint OFF

autorecovery OFF

autotrace OFF

 

SQL>col empno clear;【清除指定列设置】

SQL>col empno;

SP2-0046: COLUMN 'empno' not defined

 

SQL>clear columns【清除所有列设置】

columns cleared

SQL> show all;

appinfo is OFF a

 

SQL> col

SP2-0045: * no COLUMN defined

 

SQL(Structured query language)

数据定义DDL(Data definition language)

Create,alter,drop,truncate,grant,revoke,…….

数据操作DML(data manipulation language)

Select,insert,update,delete,locktable,…….

数据控制DCL(data control language)

Commit,savepoint,rollback,…….

数据查询

Selection(to select rows)

修改数据

 

SQL> update  emp set deptno=99 where empno=33;

 

1 row updated.

 

SQL> select * from emp;

 

    EMPNO ENAME   DEPTNO    EMP_ID    EMP_NUM

---------- ---------- ---------- --------------------

      33jkl                99

     7911 KITTY          10

     7499 ALLEN          30

 

SQL> update emp set emp_id=&1 whereename=&2;

Enter value for 1: 1

Enter value for 2: 'jkl'

old  1: update emp set emp_id=&1 where ename=&2

new  1: update emp set emp_id=1 where ename='jkl'

 

1 row updated.

 

SQL> select * from emp;

 

    EMPNO ENAME   DEPTNO    EMP_ID    EMP_NUM

---------- ---------- ---------- --------------------

      33jkl                99       1

     7911 KITTY          10

     7499 ALLEN          30

     7521 WARD         30

     7566 JONES          20

     7654 MARTIN       30

 

 

SQL> select deptno,decode (deptno,10,'会计',20,'yanjiu') from scott.dept;

 

   DEPTNO DECODE

---------- ------

      10会计

      20yanjiu

      30

      40

 

SQL> select * from scott.dept;

 

   DEPTNO DNAME   LOC

---------- -------------- -------------

      10ACCOUNTING       NEW YORK

      20RESEARCH      DALLAS

      30SALES     CHICAGO

      40OPERATIONS   BOSTON

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值