列は、テキスト、数値、画像を含むテーブル内の一連のセルです。すべての列には、テーブルの各行に 1 つの値が格納されます。このセクションでは、既存のテーブルに列を追加または削除する方法について説明します。
MySQL テーブルに列を追加するにはどうすればよいでしょうか?
MySQL を許可します ALTER TABLE 列の追加 既存のテーブルに新しい列を追加するコマンド。これを行うための構文は次のとおりです。
ALTER TABLE table_name ADD COLUMN column_name column_definition [FIRST|AFTER existing_column];
上記では、
- まず、テーブル名を指定する必要があります。
- 次に、ADD COLUMN 句の後に、新しい列の名前をその定義とともに指定する必要があります。
- 最後に、FIRST または AFTER キーワードを指定する必要があります。 FIRST キーワードは、テーブルの最初の列として列を追加するために使用されます。 AFTER キーワードは、既存の列の後に新しい列を追加するために使用されます。これらのキーワードを指定しなかった場合、MySQL はデフォルトで新しい列をテーブルの最後の列として追加します。
追加が必要な場合もあります 複数の列 既存のテーブルに追加します。次に、次のように構文を使用できます。
ALTER TABLE table_name ADD COLUMN column_name1 column_definition [FIRST|AFTER existing_column], ADD COLUMN column_name2 column_definition [FIRST|AFTER existing_column];
MySQL の ADD COLUMN の例
さまざまな例を使ってそれを理解しましょう。ここでは、という名前のテーブルを作成します。 'テスト' 次のステートメントを使用します。
ローカル日付Java
CREATE TABLE Test ( Stude_id int AUTO_INCREMENT PRIMARY KEY, Name varchar(55) NOT NULL );
テーブル構造は次の図のようになります。
テーブルを作成した後、City という名前の新しい列を Test テーブルに追加します。カラム名の後に新しいカラムの位置を明示的に指定していないため、MySQL はそれを最後のカラムとして追加します。
ALTER TABLE Test ADD COLUMN City VARCHAR(30) NOT NULL;
次に、という名前の新しい列を追加します。 電話番号 に テスト テーブル。今回は、MySQL が指定された場所にカラムを追加するように、新しいカラムの位置を明示的に指定します。
ALTER TABLE Test ADD COLUMN Phone_number VARCHAR(20) NOT NULL AFTER Name;
以下の出力では、2 つの列が指定された位置に正常に追加されたことがわかります。
振幅変調
次のコマンドを使用して、Test テーブルにデータを追加してみましょう。 INSERT ステートメント 次のように:
INSERT INTO Test( Name, Phone_number, City) VALUES ('Peter', '34556745362', 'California'), ('Mike', '983635674562', 'Texas');
このようになります。
複数の列を追加したいとします。 (支店、メール) テストテーブル内。その場合は、次のようにステートメントを実行します。
ALTER TABLE Test ADD COLUMN Branch VARCHAR(30) DEFAULT NULL After Name, ADD COLUMN Email VARCHAR(20) DEFAULT NULL AFTER Phone_number;
Branch 列と Email 列にはデフォルト値が割り当てられていることに注意してください。 ヌル 。ただし、Test テーブルにはすでにデータがあるため、MySQL はそれらの新しい列に null 値を使用します。
以下のように、Test テーブルのレコードを確認できます。
誤って既存の列名で新しい列を追加した場合、MySQL は エラーをスローする 。たとえば、エラーを発行する以下のステートメントを実行します。
ALTER TABLE Test ADD COLUMN City VARCHAR(30) NOT NULL;
次のエラーメッセージが表示されます。
MySQL テーブルの列の名前を変更するにはどうすればよいですか?
MySQL では、 ALTER TABLE 変更列 ステートメントを使用して、古い列を新しい名前に変更します。これを行うための構文は次のとおりです。
文字列から最後の文字を削除する
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name column_definition [FIRST|AFTER existing_column];
上記では、
- まず、テーブル名を指定する必要があります。
- 次に、CHANGE COLUMN 句の後に、古い列名と新しい列名をその定義とともに指定する必要があります。列定義が変更されない場合でも、列定義を指定する必要があります。
- 最後に、FIRST または AFTER キーワードを指定する必要があります。特定の位置の列名を変更する必要がある場合に指定するのはオプションです。
MySQL RENAME COLUMN の例
この例は、MySQL テーブルの列名を変更する方法を示しています。
Javaの歴史
ALTER TABLE Test CHANGE COLUMN Phone_number Mobile_number varchar(20) NOT NULL;
このステートメントは列名を変更します 電話番号 新しい名前で 携帯電話番号 テストテーブル内。以下の出力は、それをより明確に説明しています。
MySQL テーブルから列を削除するにはどうすればよいでしょうか?
場合によっては、テーブルから 1 つまたは複数の列を削除したいことがあります。 MySQL では、 テーブルドロップカラムの変更 テーブルから列を削除するステートメント。これを行うための構文は次のとおりです。
ALTER TABLE table_name DROP COLUMN column_name;
上記では、
- まず、指定する必要があります テーブル名 そこから列を削除します。
- 次に、 ドロップカラム 句では、テーブルから削除する列名を指定する必要があります。 COLUMN キーワードは DROP COLUMN 句ではオプションであることに注意してください。
削除したい場合は 複数の列 表から、次のステートメントを実行します。
ALTER TABLE table_name DROP COLUMN column_1, DROP COLUMN column_2, ......;
MySQL の DROP COLUMN の例
この例では、MySQL テーブルから列を削除する方法を説明します。ここでテーブルに着きます 'テスト' これは以前に作成したもので、以下の画像のようになります。
100万いくつ 0
列名を削除したいとします。 '支店' テストテーブルから。これを行うには、以下のステートメントを実行します。
ALTER TABLE Test DROP COLUMN Branch;
実行が成功すると、テーブルから列 Branch が削除された以下の結果を確認できます。
場合によっては、テーブルから複数の列を削除する必要があります。これを行うには、以下のステートメントを実行する必要があります。
ALTER TABLE Test DROP COLUMN Mobile_number, DROP COLUMN Email;
このコマンドは両方の列を削除します。以下の画像に示されているクエリを使用して確認できます。
テーブルから列を削除する前に、次の重要な点に注意してください。
MySQL は、あるテーブルのスキーマが別のテーブルのカラムに依存する可能性があるリレーショナル データベースで動作します。したがって、1 つのテーブルから列を削除すると、依存するすべてのテーブルにも影響します。列を削除するときは、以下の点を考慮してください。
- テーブルから列を削除すると、トリガー、ストアド プロシージャ、ビューなど、関連するすべてのオブジェクトに影響します。トリガー内で参照している列を削除するとします。列を削除すると、トリガーは無効になります。
- 削除された列は他のアプリケーションのコードに依存しているため、変更する必要があり、時間と労力がかかります。
- 大きなテーブルから列を削除すると、削除中のデータベースのパフォーマンスに影響します。