| 1.Oracleにアクセスするには |
- 構造化問合言語(SQL)は、Oracleデータベース内のデータにアクセスするために、全てのプログラム及びユーザが使用する必要がある一連の文です。このSQLを使用してOracleデータベースにアクセスします。
- SQL文で以下の処理ができます。
- データの問合せ
- 表中の行の挿入、更新、削除
- オブジェクトの作成、変更、削除
|
| 2.SQL文の基本 |
- SQLは、もともとはSEQUEL(Structured English
QUEry Language)と書かれ、IBMサンホセ研究所のChamberlinらが、1974年ごろに開発したデータベース用の言語です。
SQLも基本的に通常のプログラミング言語と同じように定められた文法が存在し、その文法通りに記述してデータベースとの対話を実現します。SQL言語の文法は、1つの文で1つの完結した(非手続き型)意味を持つようになっています。データベースとのインターフェースを非手続き的にすることにより、独立対話型のデータベースにも応用できます。基本的には、手続き型の条件分岐や繰り返し処理といった論理的な処理を行うことはできません。
- SQL文では、文の定義の中で空白が入る可能性がある位置に、一つ以上のタブ、改行文字、空白、コメントを記述できます。したがって以下の2つの文は同一と解釈されます。
| SELECT NAME ,SAL*12,MONTHS_BETWEEN(HIREDATE,SYSDATE)
FROM TABLEA; |
SELECT NAME ,
SAL * 12,
MONTHS_BETWEEN(HIREDATE,SYSDATE)
FROM TABLEA; |
- 予約語、キーワード、識別子、パラメータは、大文字、小文字を区別せずに記述できます。テキストリテラルと引用符で囲まれた名前は、大文字と小文字は区別されます。
- SQL文には、以下の機能別にカテゴリーがあります。
データ定義言語
データ操作言語
トランザクション制御文
セッション制御文
システム制御文
|
| 3.データ定義言語(DDL) |
- データ定義言語(DDL )文によって、次のタスクを実行できます。
スキーマ・オブジェクトの作成、変更および削除
権限およびロールの付与および取消し
表、索引またはクラスタ上の情報の分析
監査オプションの構築
データ・ディクショナリへのコメントの追加
- CREATE 、ALTER およびDROP コマンドは、特定のオブジェクトに対して排他的アクセスを必要とします。たとえば、別のユーザーが特定の表でトランザクションをオープンしている場合、ALTER
TABLE 文は実行できません。
- GRANT 、REVOKE 、ANALYZE 、AUDIT およびCOMMENT
コマンドは、特定のオブジェクトに対する排他的アクセスを必要としません。たとえば、他のユーザーが表を更新しているときでも、その表を分析できます。
- Oracle は、暗黙的にすべてのDDL 文の前後で現在のトランザクションをコミットします。DDL
文の多くは、Oracle にスキーマ・オブジェクトを再コンパイルまたは再認可させることができます。Oracle
がスキーマ・オブジェクトを再コンパイルまたは再認可する方法、およびDDL
文によってそれを実行する環境については、『Oracle8i
概要』を参照してください。
- DDL 文は、DBMS_SQL パッケージを使用したPL/SQL
によってサポートされます。
|
| 4.データ制御言語(DML) |
- データ操作言語(DML )文は、既存スキーマ・オブジェクトのデータを問い合せ、操作します。次の文は、現在のトランザクションを暗黙的にコミットしません。
CALL およびEXPLAIN PLAN 文は、動的に実行されるときにのみPL/SQL
でサポートされます。他のすべてのDML 文は、PL/SQL
で完全にサポートされます。
- トランザクションを暗黙的にコミットしないデータ操作言語文
CALL DELETE
EXPLAIN PLAN
INSERT
LOCK TABLE SELECT UPDATE
選択 とは
データベースの行列のうち、行を取り出す操作。ある特定のキーに対する情報収集が可能である。
SELECT 項目 from 表名
射影 とは
データベースの行列のうち、列を取り出す操作。ある特定要因に対する情報収集が可能である。
SELECT * from 表名 whear 射影条件
結合 とは
元となるデータベースの行列の属性と共通するものに関して、取り出すことで新規のデータベースの行列を作成すること。
SELECT * from 表名 whear 結合条件
|