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とは何ですか?
データ定義言語は、データベース構造またはスキーマを定義するのに役立ちます。 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 |
---|---|---|
Basic | データ定義言語 (DDL) は、データベース構造またはスキーマを定義するのに役立ちます。 | データ操作言語 (DML コマンド) を使用すると、データベースに保存されているデータを管理できます。 |
データベーススキーマの作成にはDDLコマンドを使用します。 | DML コマンドは、データベースの設定と操作に使用されます。 | |
カテゴリ | DDL はそれ以上分類されていません。 | DML は、手続き型 DML と非手続き型 DML に分類されます。 |
コマンドの使用法 |
DDL 言語で一般的に使用されるコマンドは次のとおりです。
|
DML 言語で一般的に使用されるコマンドは次のとおりです。
|
定義する | テーブルの列を定義します。 | テーブルの行を追加または更新します |
効果 | DDL ステートメントはテーブル全体に影響します。 | DML は XNUMX つ以上の行に影響します。 |
ロールバック | SQL ステートメントはロールバックできません | SQL ステートメントはロールバックになる可能性があります |
DDL と DML のどちらかを選択する方法
DDL はデータベースの構造を定義するために使用されますが、DML はすべて内部のデータに関するものであり、それぞれが重要な役割を果たすことがわかります。