DBMS における DDL と DML の違い

DDL と DML の主な違い

  • データ定義言語 (DDL) はデータベースの構造またはスキーマを定義するのに役立ち、データ操作言語 (DML コマンド) を使用するとデータベースに格納されているデータを管理できます。
  • DDL コマンドはデータベース スキーマの作成に使用され、DML コマンドはデータベースの設定と操作に使用されます。
  • DDL と DML を比較すると、DDL ステートメントはテーブル全体に影響しますが、DML コマンドは XNUMX つ以上の行にのみ影響します。
  • DDL では SQL ステートメントをロールバックできませんが、DML では SQL ステートメントをロールバックできます。
  • DDL は宣言型メソッドですが、DML は命令型メソッドです。
  • 重要な DDL コマンドは、1) CREATE、2) ALTER、3) DROP、4) TRUNCATE などです。重要な DML コマンドは、1) INSERT、2) UPDATE、3) DELETE、4) MERGE などです。
DBMS における DDL と DML の違い
DBMS における DDL と DML の違い

ここでは、DDL と DML の違いを分析し、それぞれの長所と短所を総合的に評価します。

DDLとは何ですか?

データ定義言語は、データベース構造またはスキーマを定義するのに役立ちます。 DDL コマンドは、データベースおよび他のデータベース オブジェクトの構造を作成するのに役立ちます。 そのコマンドは自動コミットされるため、変更はデータベースに永続的に保存されます。 DDL の完全な形式はデータ定義言語です。

DDLコマンド

DDL コマンドには次の XNUMX 種類があります。

CREATE

CREATE ステートメントは、データベース構造スキーマを定義するために使用されます。

構文:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]); 

例えば、:

Create database university;
Create table students;
Create view for_students;

DROP

Drops コマンドはテーブルとデータベースを削除します。 RDBMS.

構文:

DROP TABLE ;  

例:

Drop object_type object_name;
Drop database university;
Drop table student;

変更する

Alters コマンドを使用すると、 データベース.

構文:

テーブルに新しい列を追加するには

ALTER TABLE table_name ADD column_name COLUMN-definition;  

テーブル内の既存の列を変更するには:

ALTER TABLE MODIFY(COLUMN DEFINITION....); 

例:

Alter table guru99 add subject varchar;

切り捨てる

このコマンドは、テーブルからすべての行を削除し、テーブルを含むスペースを解放するために使用されます。

構文:

TRUNCATE TABLE table_name;  

例:

TRUNCATE table students;

DDL コマンドの例

CREATE

構文:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

ここでは、

  • パラメータ tableName は、作成するテーブルの名前を示します。
  • パラメータ column_1、column_2… は、テーブルに追加される列を示します。
  • 列は NULL または NOT NULL として指定する必要があります。 ご指定がない場合は、 SQLサーバー デフォルトとして NULL を受け取ります

例:

CREATE TABLE Students
(
Student_ID Int,
Student_Name Varchar(10)
)

変更する

構文:

Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

例:

ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);

DROP

構文:

DROP TABLE <tableName>;

パラメータ tableName は、削除するテーブルの名前です。

例:

DROP TABLE COURSE_NAMES;

DDL コマンドを使用する理由

ここでは、DDL 方式を好む理由を説明します。

  • 共有データを保存できます
  • データの独立性により整合性が向上
  • 複数のユーザーを許可
  • セキュリティの向上と効率的なデータアクセス

DMLとは何ですか?

DML コマンドは、データベースに格納されているデータを管理するために使用しますが、DML コマンドは自動的にコミットされません。また、永続的ではありません。そのため、操作をロールバックすることが可能です。DML の完全な形式は、データ操作言語です。

DMLコマンド

重要な DML コマンドをいくつか取り上げたいと思います。

  • INSERT
  • UPDATE
  • DELETE

INSERT

これは SQL クエリであるステートメントです。 このコマンドは、テーブルの行にデータを挿入するために使用されます。

構文:

INSERT INTO TABLE_NAME  (col1, col2, col3,.... col N)  
VALUES (value1, value2, value3, .... valueN);  
Or 
INSERT INTO TABLE_NAME    
VALUES (value1, value2, value3, .... valueN);    

例:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');

UPDATE

このコマンドは、テーブル内の列の値を更新または変更するために使用されます。

構文:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]   

例:

UPDATE students    
SET FirstName = 'Jhon', LastName=' Wick' 
WHERE StudID = 3;

DELETE

このコマンドは、テーブルから XNUMX つ以上の行を削除するために使用されます。

構文:

DELETE FROM table_name [WHERE condition];

例:

DELETE FROM students 
WHERE FirstName = 'Jhon';

DML コマンドの例

INSERT

In PL / SQLのを使用して、任意のテーブルにデータを挿入できます。 SQL コマンド INSERT INTO。 このコマンドは、テーブル名、テーブル列、および列の値を入力として受け取り、その値をベース テーブルに挿入します。

INSERT コマンドは、各列の値を指定するのではなく、「SELECT」ステートメントを使用して別のテーブルから直接値を取得することもできます。 「SELECT」ステートメントを使用すると、ベース テーブルに含まれる行と同じ数の行を挿入できます。

構文:

BEGIN
  INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>)
     VALUES(<valuel><value2>,...:<value_n>);
END;

上記の構文は INSERT INTO コマンドを示しています。テーブル名と値は必須フィールドですが、挿入ステートメントにテーブルのすべての列の値が含まれている場合、列名は必須ではありません。

上に示したように、値を個別に指定する場合、キーワード「VALUES」は必須です。

構文:

BEGIN
  INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>)
     SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;
END;

上記の構文は、値を直接取得する INSERT INTO コマンドを示しています。 SELECTコマンドを使用します。

この場合、値は個別に指定されないため、キーワード「VALUES」は存在しないでください。

DELETE

以下はテーブルを削除するための構文です

構文:

DROP TABLE <TableName>;

パラメータ TableName は、削除するテーブルの名前です。

例:

DROP TABLE COURSE_NAMES;

SELECT

SQL Server でデータを表示するには、SELECT ステートメントを使用します。

構文:

SELECT expression
FROM tableName
[WHERE condition];

例:

SELECT * FROM Course;

DML コマンドを使用する理由

私たちの集合的な経験から、DML の利点は次のとおりです。

  • DML ステートメントを使用すると、データベースに格納されているデータを変更できます。
  • ユーザーは必要なデータを指定できます。
  • DML は、データベース ベンダー間でさまざまなフレーバーと機能を提供します。
  • これにより、人間によるシステムとの効率的な対話が可能になります。

DBMS における DDL と DML の違い

DDL コマンドと DML コマンドの主な違いについて説明します。 DBMS:

DDL と DML の主な違い
DDL と DML の比較
比較基準 DDL DML
Basic データ定義言語 (DDL) は、データベース構造またはスキーマを定義するのに役立ちます。 データ操作言語 (DML コマンド) を使用すると、データベースに保存されているデータを管理できます。
  データベーススキーマの作成にはDDLコマンドを使用します。 DML コマンドは、データベースの設定と操作に使用されます。
カテゴリ DDL はそれ以上分類されていません。 DML は、手続き型 DML と非手続き型 DML に分類されます。
コマンドの使用法

DDL 言語で一般的に使用されるコマンドは次のとおりです。

  • CREATE
  • 変更する
  • DROP
  • 切り捨てる
  • コメント
  • RENAME

DML 言語で一般的に使用されるコマンドは次のとおりです。

  • INSERT
  • UPDATE
  • DELETE
  • MERGE
  • CALL
定義する テーブルの列を定義します。 テーブルの行を追加または更新します
効果 DDL ステートメントはテーブル全体に影響します。 DML は XNUMX つ以上の行に影響します。
ロールバック SQL ステートメントはロールバックできません SQL ステートメントはロールバックになる可能性があります

DDL と DML のどちらかを選択する方法

DDL はデータベースの構造を定義するために使用されますが、DML はすべて内部のデータに関するものであり、それぞれが重要な役割を果たすことがわかります。