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 などです。
DDL と DML の主な違い
DDL と DML の比較

DDLとは何ですか?

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

DMLとは何ですか?

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

DBMS における DDL と DML の違い

DBMS における DDL コマンドと DML コマンドの主な違いは次のとおりです。

DDL DML
データ定義言語 (DDL) は、データベース構造またはスキーマを定義するのに役立ちます。 データ操作言語 (DML コマンド) を使用すると、データベースに保存されているデータを管理できます。
データベーススキーマの作成にはDDLコマンドを使用します。 DML コマンドは、データベースの設定と操作に使用されます。
DDL はそれ以上分類されていません。 DML は、手続き型 DML と非手続き型 DML に分類されます。
作成、変更、削除、切り捨て、コメント、名前変更など。 挿入、更新、削除、マージ、呼び出しなど。
テーブルの列を定義します。 テーブルの行を追加または更新します
DDL ステートメントはテーブル全体に影響します。 DML は XNUMX つ以上の行に影響します。
SQL ステートメントはロールバックできません SQL ステートメントはロールバックになる可能性があります
DDL は宣言型です。 DML は不可欠です。

なぜ DDL なのか?

DDL メソッドを使用する理由は次のとおりです。

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

なぜ DML なのか?

ここでは、DML の利点/長所を示します。

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

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;

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';

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;

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;