SQLのALTERとUPDATEの違いとは?

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


SQLにおけるALTERとUPDATEの主な違いは、ALTERがデータ定義言語コマンドであるのに対して、UPDATEはデータ操作言語コマンドであることです。

SQL(Structured Query Language)は、RDBMSに格納されているデータに対して操作を行うことができる言語です。

SQLコマンドは主に3つのカテゴリーに分けられる。

データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)です。

DDLコマンドはデータベースやテーブルなどを変更するのに役立ち、DMLコマンドはRDBMS内のデータを操作するのに役立ちます。

一方、DCLコマンドは、データベースにアクセスできるユーザーを定義するのに役立ちます。

簡単に言うと、ALTERはDDLコマンドであり、UPDATEはDMLコマンドです。

スポンサーリンク

SQLにおけるALTERとは

「ALTER” は、データベースやテーブルのような関連オブジェクトの構造を変更するのに役立つ DDL コマンドです。

ALTERコマンドには多くの用途があります。

次の文は、departmentという列をemployeeテーブルに追加します。

ALTER TABLE employee ADD(

department VARCHAR(30)

);

次の文は、department、address、date_of_basisという複数のカラムをemployeeテーブルに追加しています。

ALTER TABLE従業員ADD(

department VARCHAR(30),

address VARCHAR(100),

date_of_birth DATE

);

また、既存のテーブルのカラムのデータ型を変更することも可能です

当初、上記のdepartmentフィールドの文字数は30でした。

しかし、以下のステートメントにより、departmentフィールドの文字数を50文字に変更します。

ALTER TABLE employee MODIFY(

department VARCHAR(50)

);

また、ALTERを使用して列の名前を変更することもできます。

次のステートメントは、date_of_basisカラムの名前をdobに変更します。

ALTER TABLE employee RENAME

date_of_birth TO dob;

さらに、テーブルからカラムを削除することも可能です

次のステートメントは、employeeテーブルからカラムaddressを削除する。

ALTER TABLE employee DROP (address);

SQLにおけるUPDATEとは

“UPDATE “は、テーブル内のレコードを変更するのに役立つDMLコマンドです。

たとえば、従業員100の最初の部署がITだとします。

次のステートメントは、その従業員の部門をHRに変更します。

UPDATE employee SET department = ‘HR’ WHERE emp_id =100;

さらに、複数のカラムの値を変更することができます。

次のステートメントは、従業員100の部署をHRに、住所をSydneyに変更します。

UPDATE employee SET department = ‘HR’, address= ‘Sydney’ WHERE emp_id=100;

SQLにおけるALTERとUPDATEの違い

定義

ALTER は RDBMS のデータベース、テーブルなどを変更する SQL コマンドで、UPDATE は RDBMS のテーブルの行を変更する SQL コマンドです。

これが SQL における ALTER と UPDATE の基本的な違いです。

カテゴリー

SQLにおけるALTERとUPDATEの主な違いは、ALTERがDDLコマンドであるのに対して、UPDATEはDMLコマンドであることです。

使用方法

ALTERコマンドはデータベースの構造や関連するオブジェクトを変更するのに役立ち、UPDATEコマンドはデータベースのテーブル内のレコードを変更するのに役立ちます。

したがって、これもSQLにおけるALTERとUPDATEの違いの1つです。

結論

SQLとは、RDBMSに格納されているデータに対して操作を行うための言語です。

“ALTER “と “UPDATE “は、そのようなコマンドの一つです。

SQLにおけるALTERとUPDATEの主な違いは、ALTERがデータ定義言語コマンドであるのに対し、UPDATEはデータ操作言語コマンドであることです。

タイトルとURLをコピーしました