SQLのALTERコマンドとUPDATEコマンドの違いをわかりやすく解説
SQLには、データベースを操作するためのコマンドが多数用意されています。その中でも「ALTERコマンド」と「UPDATEコマンド」は、どちらも既存のテーブルに変更を加えるという点で似ていますが、実際には役割や操作対象がまったく異なります。
この記事では、ALTERコマンドとUPDATEコマンドそれぞれの特徴・構文・使い分けのポイントを解説します。
ALTERコマンドとは
データ定義言語(DDL:Data Definition Language)に分類されるコマンドです。
データそのものではなく、テーブルの構造レベルに対して操作を行います。
データベース内のテーブルに対して、列(カラム)の追加・削除、属性の変更などを行う際に使用します。
新しい列を追加した場合、デフォルトでは既存タプル(行)の該当値はすべてNULLで初期化されます。
つまり、ALTERコマンドは「テーブルの構造そのもの」を変更するコマンドです。
ALTERコマンドの構文
列を追加する場合:
ALTER TABLE テーブル名 ADD 列名 データ型;
列を削除する場合:
ALTER TABLE テーブル名 DROP COLUMN 列名;
UPDATEコマンドとは
データ操作言語(DML:Data Manipulation Language)に分類されるコマンドです。
テーブルの構造ではなく、データ(レコード)レベルに対して操作を行います。
データベース内にすでに存在するレコードを更新するために使用します。
SET句を使って、タプル(行)内の指定した列に新しい値を設定します。
つまり、UPDATEコマンドは「テーブルの中身のデータ」を変更するコマンドです。
UPDATEコマンドの構文
UPDATE テーブル名
SET 列1 = 値1, 列2 = 値2 .... 列N = 値N
[ WHERE 条件 ];
ALTERとUPDATEの違いまとめ
| 比較項目 | ALTERコマンド | UPDATEコマンド |
|---|---|---|
| 分類 | DDL(データ定義言語) | DML(データ操作言語) |
| 操作対象 | テーブルの構造 | テーブル内のデータ |
| 主な用途 | 列の追加・削除、属性変更 | 既存レコードの値の更新 |
| WHERE句 | 不要(使用できない) | 条件を指定して更新範囲を絞れる |
| ロールバック | 原則不可(自動コミットされる場合が多い) | トランザクション内なら可能 |
まとめ
ALTERコマンドはテーブルの「構造」を変更するDDLであり、UPDATEコマンドはテーブル内の「データ」を変更するDMLです。この違いを理解しておけば、「テーブル設計を変えたいのか、登録済みの値を書き換えたいのか」に応じて適切なコマンドを選択できるようになります。SQL実務において頻出の概念なので、ぜひしっかり押さえておきましょう。
-
グラフと木(ツリー)の違いとは?定義・実装・用途を徹底比較
プログラミングにおいて、データ型とはユーザーが扱うデータの種類や性質を表すものです。コンパイラやインタプリタはこのデータ型に基づいて処理を行い、主記憶上に適切な格納領域を割り当てます。そして、データを効率的に保存・管理するために、データの性質に応じたさまざまなデータ構造が考案されてきました。 データは大きく「線形データ」と「非線形データ」に分類されます。線形データには配列やリストなどが用いられますが、非線形データを表現するためには「グラフ」と「木(ツリー)」という2つの代表的なデータ構造が使われます。 グラフと木の共通点 グラフと木はどちらも非線形データを表現するための構造であり、以下のような
-
データ型とデータ構造の違いとは?5つの重要な相違点を徹底解説
プログラミングはすべてデータを中心に展開されます。ビジネスロジックはデータの上に実装され、アプリケーションやプロジェクトの機能はデータの流れによって成り立っています。そのため、データを最適に活用し、優れたデータモデルで効果的なプログラミングを行うには、データの整理と保存が非常に重要になります。 一般的に、データ型とデータ構造はどちらもデータの性質や整理方法に関わるため、同じもののように見えることがあります。しかし、両者は明確に異なる概念です。一方はデータの種類と性質を記述するものであり、もう一方はデータを格納するコレクション(集合)を表すものです。 データ型とデータ構造の主な違い 以下の表は、