Oracle SQLコマンドラインを使用するサンプル

OracleのSQLコマンドラインを使用するサンプルです。

確認環境
・Oracle 11g Express Edition
・Windows 10

目次

1.SQLコマンドラインでOracleに接続する

1.スタートメニューから「SQLコマンドラインの実行」をクリックして起動します。

 

2.connetコマンドを入力し、ユーザー名とパスワードを入力します。
Oracleへ接続が成功すると4行目のように「接続されました。」と表示されます。

SQL> connect
ユーザー名を入力してください: test1
パスワードを入力してください:
接続されました。
SQL>

 

2.selectを実行する

1.SQLコマンドラインでサンプルとして入っているEMPテーブルを検索してみます。

SQL> select * from EMP;

     EMPNO ENAME                JOB                       MGR HIREDATE
---------- -------------------- ------------------ ---------- --------
       SAL       COMM     DEPTNO
---------- ---------- ----------
      7839 KING                 PRESIDENT                     81-11-17
      5000                    10

      7698 BLAKE                MANAGER                  7839 81-05-01
      2850                    30

      7782 CLARK                MANAGER                  7839 81-06-09
      2450                    10

SQLの実行結果は、横の表示幅が狭いため行の途中で改行されて見づらくなっています。

 

3.表示幅を広げる(set line 数値)

上記のSQL文の結果では、行の途中で改行されていました。
途中で改行されないよう表示幅を広げます。set lineコマンドを入力してからselectを実行します。

SQL> set line 300
SQL> select * from EMP;

     EMPNO ENAME                JOB                       MGR HIREDATE        SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------- ---------- ---------- ----------
      7839 KING                 PRESIDENT                     81-11-17       5000                    10
      7698 BLAKE                MANAGER                  7839 81-05-01       2850                    30
      7782 CLARK                MANAGER                  7839 81-06-09       2450                    10
      7566 JONES                MANAGER                  7839 81-04-02       2975                    20
      7788 SCOTT                ANALYST                  7566 82-12-09       3000                    20

     EMPNO ENAME                JOB                       MGR HIREDATE        SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------- ---------- ---------- ----------
      7876 ADAMS                CLERK                    7788 83-01-12       1100                    20
      7900 JAMES                CLERK                    7698 81-12-03        950                    30
      7934 MILLER               CLERK                    7782 82-01-23       1300                    10

横の表示幅は改善されました。
12行目に再度ヘッダー項目が表示されています。ページ機能によるためです。

 

4.ページの行数を増やす(set pages 数値)

上記のSQL文の結果では、データ行の途中にヘッダー項目が表示されていました。
1ページの行数を増やしてヘッダー項目が表示されないようにします。set pagesコマンドを入力してselectを実行します。

SQL> set pages 100
SQL> select * from EMP;

     EMPNO ENAME                JOB                       MGR HIREDATE        SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------- ---------- ---------- ----------
      7839 KING                 PRESIDENT                     81-11-17       5000                    10
      7698 BLAKE                MANAGER                  7839 81-05-01       2850                    30
      7782 CLARK                MANAGER                  7839 81-06-09       2450                    10
      7566 JONES                MANAGER                  7839 81-04-02       2975                    20
      7788 SCOTT                ANALYST                  7566 82-12-09       3000                    20
      7876 ADAMS                CLERK                    7788 83-01-12       1100                    20
      7900 JAMES                CLERK                    7698 81-12-03        950                    30
      7934 MILLER               CLERK                    7782 82-01-23       1300                    10

今度は途中でヘッダー項目が表示されなくなりました。

 

5.SQL文の実行結果をテキストに出力する(spool)

SQL文の実行結果をテキストに出力する場合は、spoolコマンドを入力します。

SQL> spool e:\Test1\test1.txt
SQL> select * from EMP;

     EMPNO ENAME                JOB                       MGR HIREDATE        SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------- ---------- ---------- ----------
      7839 KING                 PRESIDENT                     81-11-17       5000                    10
      7698 BLAKE                MANAGER                  7839 81-05-01       2850                    30
      7782 CLARK                MANAGER                  7839 81-06-09       2450                    10
      7566 JONES                MANAGER                  7839 81-04-02       2975                    20
      7788 SCOTT                ANALYST                  7566 82-12-09       3000                    20
      7876 ADAMS                CLERK                    7788 83-01-12       1100                    20
      7900 JAMES                CLERK                    7698 81-12-03        950                    30
      7934 MILLER               CLERK                    7782 82-01-23       1300                    10

8行が選択されました。

SQL> spool off

1行目は、EドライブのTest1フォルダ配下にtest1.txtというファイルを出力します。
17行目のspool offで出力を止めます。

 

6.列名と「x行が選択されました。」を非表示にする

上記のSQLで出力された列名を非表示にする場合は、set heading offを入力します。
「x行が選択されました。」を非表示にする場合は、set feedback offを入力します。

SQL> set line 300
SQL> set pages 100
SQL> set heading off
SQL> set feedback off
SQL> select * from EMP;

      7839 KING                 PRESIDENT                     81-11-17       5000                    10
      7698 BLAKE                MANAGER                  7839 81-05-01       2850                    30
      7782 CLARK                MANAGER                  7839 81-06-09       2450                    10
      7566 JONES                MANAGER                  7839 81-04-02       2975                    20
      7788 SCOTT                ANALYST                  7566 82-12-09       3000                    20
      7876 ADAMS                CLERK                    7788 83-01-12       1100                    20
      7900 JAMES                CLERK                    7698 81-12-03        950                    30
      7934 MILLER               CLERK                    7782 82-01-23       1300                    10

上記SQL文の実行結果では、列名と「x行が選択されました。」が非表示になっています。

7.SQLコマンドラインを終了する(exit)

exitと入力するとSQLコマンドラインが閉じます。

関連の記事

SQL INSERT文のサンプル
SQL UPDATE文とDELETE文のサンプル
SQL 重複行を表示しないサンプル(distinct)
SQL 複数の行をまとめる(集約関数/group by/having)

△上に戻る