oracle學習筆記--sqlplus基本命令

sqlplus基本命令如下:

    1、查看錶結構DESC,

SQL> DESC emp;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 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)
    2、修改SQLPLUS顯示屏幕字符寬度,SET LINE[SIZE] {80|n},80爲默認值,n爲自然數,該命令標識將顯示屏的的顯示輸出設置爲n個字符那麼寬。

未修改前:

SQL> SELECT *
  2  FROM emp;

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

      7499 ALLEN      SALESMAN        7698 20-FEB-81          1600        300
        30

      7521 WARD       SALESMAN        7698 22-FEB-81          1250        500
        30
修改後:

SQL> SET line 100
SQL> SELECT * FROM EMP;

     EMPNO ENAME      JOB              MGR HIREDATE            SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ------------ ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80           800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81          1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81          1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81          2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81          1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81          2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81          2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87          3000                    20
      7839 KING       PRESIDENT            17-NOV-81          5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81          1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87          1100                    20
    3、輸入錯誤的sql語句之後的修改。L(List)列出剛纔輸入的SQL語句,n text修改剛纔出錯的行,‘/’執行剛纔的sql語句

輸入sql語句執行報錯,並顯示報錯行號

SQL> SELECT empno,ename,job,sal
  2  FROM dept
  3  WHERE sal>=1500
  4  ORDER BY job,sal DESC;
WHERE sal>=1500
      *
ERROR at line 3:
ORA-00904: "SAL": invalid identifier
修改報錯的語句並顯示:

SQL> 2 FROM emp
SQL> L
  1  SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4* ORDER BY job,sal DESC
自行修改之後的語句:

SQL> /

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7788 SCOTT      ANALYST         3000
      7902 FORD       ANALYST         3000
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7839 KING       PRESIDENT       5000
      7499 ALLEN      SALESMAN        1600
      7844 TURNER     SALESMAN        1500
    4、刪除緩存中sql語句的一行。,del n

SQL> SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4  ORDER BY job,sal DESC;


     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7788 SCOTT      ANALYST         3000
      7902 FORD       ANALYST         3000
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7839 KING       PRESIDENT       5000
      7499 ALLEN      SALESMAN        1600
      7844 TURNER     SALESMAN        1500


8 rows selected.


SQL> L
  1  SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4* ORDER BY job,sal DESC
刪除第四行:

SQL> DEL 4
SQL> l
  1  SELECT empno,ename,job,sal
  2  FROM emp
  3* WHERE sal>=1500
SQL> /

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7499 ALLEN      SALESMAN        1600
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7788 SCOTT      ANALYST         3000
      7839 KING       PRESIDENT       5000
      7844 TURNER     SALESMAN        1500
      7902 FORD       ANALYST         3000
    5、修改緩存中sql文件字符,C(HANGE)

SQL> SELECT empno,ename,job,sal
  2  FROM dept
  3  WHERE sal>=1500
  4  ORDER BY job,sal DESC;
WHERRE sal>=1500
       *
ERROR at line 3:
ORA-00933: SQL command not properly ended
將表名dept修改成emp:

SQL> C /dept/emp
SP2-0023: String not found.
報錯是因爲單前行不是第二行,首先定位到第二行:

SQL> 2
  2* FROM dept
SQL> C dept/emp
SP2-0023: String not found.
SQL> C /dept/emp
  2* FROM emp
'L'查看當前sql,再運行‘/’:

SQL> L
  1  SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4* ORDER BY job,sal DESC
SQL> /

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7788 SCOTT      ANALYST         3000
      7902 FORD       ANALYST         3000
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7839 KING       PRESIDENT       5000
      7499 ALLEN      SALESMAN        1600
      7844 TURNER     SALESMAN        1500
    6、生成腳本文件,save命令把sql緩衝區的內容存入指定的文件。

SQL> SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4  ORDER BY job,sal DESC;

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7788 SCOTT      ANALYST         3000
      7902 FORD       ANALYST         3000
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7839 KING       PRESIDENT       5000
      7499 ALLEN      SALESMAN        1600
      7844 TURNER     SALESMAN        1500

8 rows selected.

SQL> SAVE D:/SQL/TEST2.sql
Created file D:/SQL/TEST2.sql
備註:需要首先建好SQL文件夾。sqlplus的命令不會寫入腳本文件中去

    7、將腳本文件讀入緩衝區命令get

SQL> get d:\SQL\TEST2.sql
  1  SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4* ORDER BY job,sal DESC
SQL> l
  1  SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4* ORDER BY job,sal DESC
SQL>
    8、使用ed命令對腳本文件進行編輯

SQL> ed d:\SQL\TEST2


    9、直接運行腳本文件,@或者START命令是把腳本文件的內容裝入緩衝區並運行

SQL> @D:\SQL\TEST2.sql

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7788 SCOTT      ANALYST         3000
      7902 FORD       ANALYST         3000
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7839 KING       PRESIDENT       5000
      7499 ALLEN      SALESMAN        1600
      7844 TURNER     SALESMAN        1500

8 rows selected.
    10、把屏幕上內容輸出到文件,SPOOL命令。SPOOL後面跟一個文件名,他會把命令下的內容輸出到OUTPUT文件,並且只有輸出SPOOL OFF是才能看到文件中的內容。
文件。

SQL> SPOOL D:\SQL\OUTPUT
SQL> SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal>=1500
  4  ORDER BY job,sal DESC;

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7788 SCOTT      ANALYST         3000
      7902 FORD       ANALYST         3000
      7566 JONES      MANAGER         2975
      7698 BLAKE      MANAGER         2850
      7782 CLARK      MANAGER         2450
      7839 KING       PRESIDENT       5000
      7499 ALLEN      SALESMAN        1600
      7844 TURNER     SALESMAN        1500

8 rows selected.

SQL> SPOOL OFF;




    

















發佈了71 篇原創文章 · 獲贊 12 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章