ALTER |
AUDIT |
COMMENT |
|
CREATE |
|
DROP |
GRANT |
|
LOCK |
NO AUDIT |
RENAME |
REVOKE |
|
|
|
VALIDATE |
$ |
|
ACCEPT |
|
BREAK |
BTITLE |
|
|
COPY |
|
DISCONNECT |
|
EXIT |
|
HELP |
HOST |
|
|
NEWPAGE |
QUIT |
REMARK |
|
|
|
|
|
SQLPLUS |
|
TIMING |
TTITLE |
UNDEFINE |
データの検索
表中のデータを検索(問い合わせ)する時に使用します。
SQL> SELECT column_name[,column_name...] FROM table_name ;
SQL> SELECT * FROM table_name;
重複行を排除して、データ検索を行います。
SQL> SELECT DISTINCT column_name[,column_name...] FROM table_name ;
SELECT句で列の別名を指定すると、見出しに使えます。
SQL> SELECT column_name midashi[,column_name midashi ...] FROM table_name ;
特定の行を検索する為には、WHERE句で条件を指定します。
SQL> SELECT column_name[,column_name...] FROM table_name WHERE condition;
・条件のデータ型が文字型と日付型の値は、単一引用符(')で囲む必要があります。
・日付型のデータ値のデフォルト・フォーマット形式は、YY-MM-DDです。
・比較演算子は、=,!=,<>,>,<=,<,<=,BETWEEN x AND y,IN(LIST),IS
NULL,LIKE,NOT
・LIKE(文字パターンの一致)で、マッチング文字を使用します。
% 値の中の複数文字(0文字以上),_ 値の中の1文字
・条件に複数の条件を指定する場合は、AND,OR,NOT を使用します。
表示順序を並び替える場合は、ORDER BY を指定します。(昇順)
SQL> SELECT column_name FROM table_name WHERE jyouken ORDER BY column_name;
・降順にならべる場合は、ORDER BY column_name DESC を指定する。
・複数の列を指定して、並び替える場合は、ORDER BY column_name[,column_name,...]となる。
行の追加
表に行を追加します。
SQL> INSERT INTO table_name [(column1,column2,...)] VALUES (value1,value2...);
行の更新
表中の値を更新(変更)します。
SQL> UPDATE table_name SET column1 = value, column2 = value ... [WHERE condition];
行の削除
表中の行を削除します。
SQL> DELETE FROM table_name [WHERE condition];
トランザクション処理
現行のトランザクションを終了し、トランザクションで実行した変更をすべて確定します。
SQL> COMMIT;
現行のトランザクションに対する処理を取り消します。
SQL> ROLLBACK;
・SQL> SAVEPOINT A; と、セーブポイントを指定した場合に、そこまで、ロールバックする時は、
ROLEBACK TO A; と、セーブポイントを、指定します。
WHERE句で指定できる条件に,比較演算子が使用できます。
SQL> SELECT column_name FROM table_name WHERE condition;
conditionにより,行の選択が行われる。
演算子 |
説明 |
= |
等しい |
!= <> ^= |
等しくない |
> |
より大きい |
>= |
以上 |
< |
より小さい |
<= |
以下 |
RETWEEN x AND y |
x以上y以下の範囲 |
IN(list) |
(list)の中のいずれかと等しい |
IS NULL |
NULL 値である |
LIKE |
文字パターンと一致する。 |
GROUP BY句を使用すると、式の値に基づいて行のグループが集められます。
SQL> SELECT column_name,COUNT(*) FROM table_name GROUP
BY column_name;
column_name の値毎にグループされ、カウントされる。
関数 |
列 |
説明 |
AVG | AVG(SAL) | 給与の平均を戻す。 |
COUNT | COUNT(COM)
COUNT(*) |
歩合給のNULLでない行数を戻す。
すべての行数を戻す。 |
MAX | MAX(SAL) | 給与の最大値を戻す。 |
MIN | MIN(SAL) | 給与の最小値を戻す。 |
SUM | SUM(COMM) | 歩合給の合計値を戻す。 |
行をグループにしていない列とグループ関数を同時に選択すると、エラーになります。
OK SQL> SELECT depstno,COUNT(*) FROM emp GROUP BY deptno;
NG SQL> SELECT ename,MIN(hiredate) FROM emp;
データ・ディクショナリは,表(オブジェクト),ユーザー,権限等,データベースのあらゆる情報を含む,表,ビューの集合です。
SQL> SELECT table_name FROM user_tables;
データ・ディクショナリuser_tables から,table_name列を表示する。
名前 |
説明 |
user_catalog | ユーザーが作成した表,ビュー,シノニム,順序の情報 |
user_constraints | ユーザーが作成した,表の制約の情報 |
user_indexes | ユーザーが作成した,索引の情報 |
user_sequences | ユーザーが作成した,順序の情報 |
user_synonyms | ユーザーが作成した,シノニムの情報 |
user_tables | ユーザーが作成した,表の情報 |
user_users | ユーザー(自身)の情報 |
user_views | ユーザーが作成した,ビューの情報 |
all_tables | ユーザーがアクセス可能な表の情報 |
表中の列属性を表示する時に使用します。
SQL> DESCRIBE table_name;
SQL*Plusコマンドで、SQLバッファを編集する事が出来ます。
コマンド |
説明 |
A[PPEND] text | カレント行の末尾にtext を追加します。 |
C[HANGE] | カレント行の文字を変更する。 例:C/ENP/EMP |
CLE[AR] BUFFER | SQLバッファをクリアする。 |
DEL | カレント行を削除する。 |
I[NPUT] | カレント行の次の行に文字を追加する。 <RETURN>入力後に、次の文字を入力する。 |
L[IST] | SQLバッファ内の全行をリストする。 |
L[IST} n | SQLバッファ内のn行をリストする。 |
R[UN] | SQLバッファ内のコマンドを表示後、実行する。 |
/ | SQLバッファ内のコマンドを実行する。 |
n | カレント行をn行目にセットする。 |
n <text string> | n行目を<text string>に置き換える。 |
環境設定
システム変数を設定します。
SQL> SET <system_variable value>;
システム変数を表示します。
SQL> SHOW ALL;
システム変数 |
説明 |
デフォルト |
ECHO{OFF|ON} | STARTコマンドを使用してコマンド・ファイル内の実行コマンドを表示させるか否かを指定する。ONにすると、コマンドが表示され、OFFにすると表示されない。 | OFF |
FEED[BACK] {6|n|OFF|ON} | 問い合わせのレコード数が、最低n以上だった場合に、その数を表示する。ONにすると、nは1、OFFにすると、nは0に設定される。 | 6 |
NULL text | SELECTコマンドの実行結果におけるNULL値を表すtextを設定する。textを入力しないと、NULLの部分は空白として表示される。 | |
SPA[CE] {1|n} | 出力データの各列間のスペースを設定する。 | 1 |
PAGES[IZE] {14|n} | 各ページの行数を指定する。 | 14 |
PAU[SE] {OFF|ON|text} | 検索データを表示する際に、画面をスクロールする事ができます。ONにすると、データを表示する際、各ページの冒頭で一時停止します。[RETURN]キーを押すとページごとスクロールして表示します。textは停止時に表示するメッセージを指定します。 | OFF |
問い合わせ結果の出力
問い合わせ結果をファイルまたはプリンターに出力します。
SQL> SPO[OL] {file_name[.ext] | OFF | ON ];
・ファイル名に拡張子無しの場合は、.lst が付きます。
・書き出しを完了するには、SPOOL OFF を行う必要があります。
ホストシステムにSQLコマンドファイルを作成しておけば、そのファイルをバッチ的に実行する事が出来ます。
コマンド | 用途 |
@file[.sql] | file(コマンドファイル)を実行します。
\@file[.sql] |
EDIT [file[.sql]] | エディタ(オペレーティングシステム)を使用してfileを編集します。
fileを省略するとSQLバッファを編集します。 |
GET file[.sql] | fileをSQLバッファへロードします。 |
SAV[E] file[.sql] | SQLバッファをfileに保存します。 |
STA[RT] file[.sql] | file(コマンドファイル)を実行します。 |
!system_command | オペレーションシステムのコマンドを実行します。
例)!ls !vi test.sql !cd /tmp |
SQL*Plusからテキストエディタを使用するには、システム変数の登録が必要です。
DEFINE_EDITOR = vi