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はデータ操作言語コマンドであることです。