DBMSにおけるDDLコマンドとDMLコマンドの違い:What is?

DDLとは?

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

このDMLとDDLの違いに関するチュートリアルでは、以下のことを学びます。

  • DDL とは何ですか。
  • DML とは何ですか。
  • なぜ DDL なのですか。
  • なぜ DML なのですか?
  • DBMSにおけるDDLとDMLの違い
  • DDL用コマンド
  • DML用コマンド
  • DDLコマンド例
  • DMLコマンド例

DMLとは

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

以下は、DBMSにおけるDDLとDMLの主な違いです:

KEY DIFFERENCES:

  • Data Definition Language (DDL) では、データベース構造またはスキーマを定義でき、Data Manipulation Language (DML コマンド) では、データベース内のデータを管理することができます。
  • DDL コマンドはデータベース スキーマの作成に使用され、DML コマンドはデータベースへの入力と操作に使用されます。
  • DDL と DML を比較すると、DDL 文はテーブル全体に影響するのに対し、DML コマンドは 1 行または複数行のみに影響します。
  • DDL では、SQL ステートメントはロールバックできませんが、DML SQL ステートメントはロールバックできます。
  • DDL は宣言的手法ですが、DML は命令的手法です。 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATEなどであり、重要なDMLコマンドは以下の通りです。

Why DDL?

ここで、DDLメソッドを使用する理由を説明します。

  • 共有データの保存が可能
  • データの独立性、整合性の向上
  • 複数ユーザーの使用が可能
  • セキュリティの向上 効率的なデータアクセス

DMLはなぜ必要か

DMLの利点/長所を以下に挙げます。

  • DML ステートメントにより、データベースに格納されているデータを変更できます。
  • ユーザーは必要なデータを指定できます。
  • システムとの効率的な人間同士の対話を提供します。

DBMS における DDL と DML の違い

DDL vs DML

ここで、DDL と DML コマンド間の主な相違点を説明します。

DDL DML
データ定義言語(DDL)は、データベース構造またはスキーマを定義するのに役立ちます。 Data Manipulation Language (DML コマンド) は、データベースに格納されたデータを管理するのに使用します。
DDL コマンドは、データベース スキーマを作成するために使用されます。 DML コマンドは、データベースの入力と操作に使用されます。
DDL はさらに分類されることはありません。 DML は手続き型と非・手続き型の DML に分類されます。
CREATE, ALTER, DROP, TRUNCATE AND COMMENT, RENAMEなど。 INSERT、UPDATE、DELETE、MERGE、CALLなど。
テーブルのカラムを定義します。 テーブルの行を追加または更新します
DDL 文はテーブル全体に影響を与えます。 DML は 1 つまたは複数の行に影響します。
SQL ステートメントはロールバックできません SQL ステートメントはロールバックできます
DDL は宣言的です。 DML は命令型です。

DDLのコマンド

DDLコマンドの種類は5つです。

CREATE

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

構文。

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES); 

たとえば、次のようになります。

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

DROP

ドロップコマンドは、RDBMSからテーブルとデータベースを削除します。

構文。

DROP TABLE ; 

たとえば、以下のようになります。

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

ALTER

Altersコマンドは、データベースの構造を変更することができます。

構文。

テーブルに新しいカラムを追加する

ALTER TABLE table_name ADD column_name COLUMN-definition; 

テーブルの既存のカラムを変更する。

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

たとえば、次のようになります。

Alter table guru99 add subject varchar;

TRUNCATE:

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

構文。

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 

たとえば、以下のようになります。

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

DELETE:

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

構文。

DELETE FROM table_name ;

たとえば、以下のようになります。

DELETE FROM students WHERE FirstName = 'Jhon';

DDLコマンド例

CREATE

構文:

CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);

ここで、

  • パラメータ tableName は作成するテーブルの名前を示します。
  • パラメータ column_1, column_2… はテーブルに追加する列を示します。
  • 列には NULL または NOT NULL を指定しなければなりません。 指定しない場合、SQL Server は NULL をデフォルトとして扱います

例。

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

ALTER

構文。

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

例:

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

DROP

Syntax:

DROP TABLE <tableName>;

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

例です。

DROP TABLE COURSE_NAMES;

DMLコマンド例

INSERT

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;

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

この場合、値は別に与えられないので、キーワード「VALUES」は存在してはいけません。

DELETE

以下は、テーブル

を削除するシンタックスです。

DROP TABLE <TableName>;

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

例:

DROP TABLE COURSE_NAMES;

SELECT

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

Syntax:

SELECT expressionFROM tableName;

例:

SELECT * FROM Course;

コメントを残す

メールアドレスが公開されることはありません。