SQL では、テーブルや列の名前変更、新しい列の追加、データ型の変更など、データベースの構造変更が必要になることがよくあります。 ALTER TABLE コマンドを使用すると、既存のデータに影響を与えることなく、これらの変更を効率的に行うことができます。これは、アプリケーション要件の進化に応じてデータベース スキーマを管理および更新するために不可欠なコマンドです。
例: まず、ALTER コマンドをデモンストレーションするサンプル Student テーブルを作成しましょう。
クエリ:
ALTER TABLE students
RENAME TO learners;
出力:
ALTER コマンドの構文
ALTER TABLE コマンドを使用するための一般的な構文形式は次のとおりです。
1. テーブルの名前を変更する
ALTER TABLE テーブル名
新しいテーブル名に名前を変更します。
2. 列の名前を変更する
ALTER TABLE テーブル名
列の名前を古い列名から新しい列名に変更します。
3. 新しい列の追加
ALTER TABLE テーブル名
ADD 列名データ型;トラとライオンの違い
ALTER TABLE テーブル名
MODIFY COLUMN 列名 新しいデータ型;
SQL での ALTER コマンドの例
以下に、さまざまなシナリオで ALTER コマンドを効果的に使用する方法を理解するのに役立つ実際的な例を示します。これらの例には、テーブルまたは列の名前変更、新しい列の追加、または 列を変更する データ型。
1. サンプルテーブルの作成
まずはサンプル Student を作成しましょう ALTER を示す表 指示:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
alter コマンドについて理解を深めるために、データを挿入してから ALTER 操作を実行してみましょう。
INSERT INTO Student (id name age email phone)
VALUES
(1 'Amit' 20 '[email protected]' '9999999999')
(2 'Rahul' 22 '[email protected]' '8888888888')
(3 'Priya' 21 '[email protected]' '7777777777')
(4 'Sonia' 23 '[email protected]' '6666666666')
(5 'Kiran' 19 '[email protected]' '5555555555');
出力
例 1: 列の名前を変更する
Student テーブルの列名を FIRST_NAME に変更します。既存のテーブルの列名を変更するには、変更する既存の列名を記述する前に Column キーワードを使用する必要があります。
構文
ALTER TABLE Student RENAME COLUMN Column_NAME を FIRST_NAME に変更します。
クエリ:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;出力
出力例 2: テーブルの名前を変更する
この例では、テーブルの名前を次のように変更します。StudentにStudent_Detailsを使用してALTER TABLEよりわかりやすい名前にするコマンド そしてその内容に関連するもの。
クエリ:
ALTER TABLE Student RENAME TO Student_Details;出力
例 3: 新しい列を追加する
既存のテーブルに新しい列を追加するには、まず ALTER TABLE コマンド table_name でテーブルを選択し、次に ADD column_name で新しい列の名前とそのデータ型を書き込みます。 データ型。よりよく理解するために以下を見てみましょう。
構文
ALTER TABLE テーブル名
ADD 列名データ型;Javaは文字列内の文字を置換します
クエリ:
ALTER TABLE Student ADD marks INT;出力
この例では、phoneからコラムが更新されましたVARCHAR(20)にBIGINT 数値データをより効率的に保存し、 不要な文字を含まない電話番号のデータ整合性。
構文
ALTER TABLE テーブル名
MODIFY COLUMN 列名 新しいデータ型;
クエリ:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
出力
| ID | 名前 | 年 | 電子メール | 電話 |
|---|---|---|---|---|
| 1 | 何 | 20 | [email protected] | 9999999999 |
| 2 | ラーフル | 22 | ラーフル@yahoo.com | 8888888888 |
| 3 | プリヤ | 21 | [email protected] | 7777777777 |
| 4 | ソニア | 23 | ソニア@gmail.com | 6666666666 |
| 5 | 電話 | 19 | [email protected] | 5555555555 |
説明 :
- Phone 列には、大きな数値を格納するのに適した BIGINT データ型が追加されました。
- 既存のデータは変更されませんが、整数として保存されます 文字列の代わりに。
追加の ALTER コマンドの使用例
1. 列の削除 : 場合によっては、列を削除する必要があるかもしれません。これを行うには、DROP COLUMN 構文を使用できます。
ALTER TABLE Student_Details
DROP COLUMN マーク;
このコマンドは、テーブルからマーク列を完全に削除します。
2. 列のデフォルト値の変更 : SET DEFAULT 句を使用して列のデフォルト値を変更することもできます。
ALTER TABLE Student_Details
列の年齢を変更してデフォルトの 18 を設定します。
メガバイトとギガバイトの違いは何ですか
3. 異なるデータベースのテーブルまたは列の名前を変更する : SQL 構文はデータベース システムによって異なる場合があることに注意してください。 MySQL MariaDB でテーブルまたはカラムの名前を変更する方法は次のとおりです。 オラクル :
- MySQL / マリアDB 注: 列の名前を変更する構文は似ていますが、列の名前を変更するには CHANGE COLUMN コマンドも使用する必要があります。
ALTER TABLE 学生
CHANGE COLUMN old_column_name new_column_name データ型;
- オラクル : Oracle は RENAME COLUMN 構文をサポートしていますが、テーブルの名前を変更するには別の構文が必要です。
クイズの作成ALTER TABLE Student RENAME COLUMN old_column_name TO new_column_name;