MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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実務において頻出の概念なので、ぜひしっかり押さえておきましょう。

  1. グラフと木(ツリー)の違いとは?定義・実装・用途を徹底比較

    プログラミングにおいて、データ型とはユーザーが扱うデータの種類や性質を表すものです。コンパイラやインタプリタはこのデータ型に基づいて処理を行い、主記憶上に適切な格納領域を割り当てます。そして、データを効率的に保存・管理するために、データの性質に応じたさまざまなデータ構造が考案されてきました。 データは大きく「線形データ」と「非線形データ」に分類されます。線形データには配列やリストなどが用いられますが、非線形データを表現するためには「グラフ」と「木(ツリー)」という2つの代表的なデータ構造が使われます。 グラフと木の共通点 グラフと木はどちらも非線形データを表現するための構造であり、以下のような

  2. データ型とデータ構造の違いとは?5つの重要な相違点を徹底解説

    プログラミングはすべてデータを中心に展開されます。ビジネスロジックはデータの上に実装され、アプリケーションやプロジェクトの機能はデータの流れによって成り立っています。そのため、データを最適に活用し、優れたデータモデルで効果的なプログラミングを行うには、データの整理と保存が非常に重要になります。 一般的に、データ型とデータ構造はどちらもデータの性質や整理方法に関わるため、同じもののように見えることがあります。しかし、両者は明確に異なる概念です。一方はデータの種類と性質を記述するものであり、もう一方はデータを格納するコレクション(集合)を表すものです。 データ型とデータ構造の主な違い 以下の表は、