2009-08-26 12 views

答えて

1

データ定義言語(DDL)ステートメントは、データベース構造またはスキーマを定義するために使用されます。 CREATE - データベースにオブジェクトを作成する ALTER - データベースの構造を変更します。 DROP - データベースからオブジェクトを削除します。 TRUNCATE - テーブルからすべてのレコードを削除します。レコードに割り当てられたすべてのスペースを削除します。 COMMENT - データ辞書にコメントを追加する RENAME - オブジェクトの名前を変更する

データ操作言語(DML)文は、スキーマ・オブジェクト内のデータを管理するために使用されます。 SELECT - データベースからデータを取得する INSERT - データをテーブルに挿入する UPDATE - テーブル内の既存データを更新する DELETE - テーブルからすべてのレコードを削除すると、レコードのスペースが残る MERGE - UPSERT操作(挿入または更新) CALL - EXPLAIN PLANをPL/SQLまたはJavaサブプログラム 呼び出す - データ LOCK TABLEへのアクセスパスを説明 - 制御同時実行を

1

古典的には、DML文は次のとおりです。

    • SELECT
    • INSERTは
    • UPDATE
    • MERGE(ブロック上の新人)他

    何も削除しますDDL - 合意いくつかの定義のセットを使用します。

    「その他のステートメント」の中には、「セッション制御」ステートメントのようなものがあります。実際にはDMLではなく、実際にはDDLではありません。

    これらの文を検出する場合は、文を準備(および記述)するか、返された情報を調べて、上記のDML文の1つであるかどうかを診断したり、文中の最初の非コメントの単語。これは実際のケースの大部分をカバーしています。複数のステートメント(おそらく種類が異なる)が1つの文字列に含まれている場合は、自分で決定する必要があります。とにかくすべてのDBMSがそれを許可するわけではありません。

  • +0

    あなたはDCL-データ制御言語 – knittl

    +0

    と呼ばれている 'セッション制御' によって何を意味しますかDCLはそれのための合理的な名前です - 私はそれがその文脈で使用されて聞いたことはありませんが、それは私にとって最も確かに意味があります。 –

    1

    DDLは、のデータ定義言語を表します。データ定義の変更を引き起こすステートメントはDDLステートメントです。通常の混乱は、INSERT、UPDATE DELETE(およびJonathanの記述-MERGE)ステートメントにあります。テーブルにデータを追加しても、構造を変更したり、データ定義に何かを追加することはありません。 DDLステートメントは、通常、新しいレコード/情報をデータ辞書に追加します(クエリ統計を除く)。しかし、これは必ずしも真実である必要はありません。

    DDLでないものは、のデータ操作言語を表すDMLです。

    +0

    +1「DDLのデータ辞書による混乱」 –

    関連する問題