記事ディレクトリ
MySQL add を変更して複数のフィールド位置を増やしますか? modify column ステートメントの使用法の詳細な説明
MySQL ALTER コマンド
データ テーブル名またはデータ テーブル フィールドを変更する必要がある場合は、MySQL ALTER コマンドを使用する必要があります。
このチュートリアルを開始する前に、testalter_tbl という名前のテーブルを作成しましょう。
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
テーブル フィールドの削除、追加、または変更
次のコマンドは、DROP 句を指定した ALTER コマンドを使用して、上で作成したテーブルの i 列を削除します。
mysql> ALTER TABLE testalter_tbl DROP i;
データ テーブルにフィールドが XNUMX つしか残っていない場合、DROP を使用してフィールドを削除することはできません。
The ADD clause is used in MySQL to add columns to the data table. 次の例では、i フィールドをテーブル testalter_tbl に追加し、データ型を定義します。
mysql> ALTER TABLE testalter_tbl ADD i INT;
上記のコマンドを実行すると、i フィールドがデータ テーブル フィールドの最後に自動的に追加されます。
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
新しいフィールドの場所を指定する必要がある場合は、MySQL が提供するキーワード FIRST を使用できます (setポジショニング最初の列)、AFTER フィールド名 (フィールドの後に設定)。
次の ALTER TABLE ステートメントを試し、正常に実行されたら、SHOW COLUMNS を使用してテーブル構造の変更を表示します。
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
FIRST および AFTER キーワードは ADD 句でのみ使用されるため、データ テーブル フィールドの位置をリセットする場合は、最初に DROP を使用してフィールドを削除し、次に ADD を使用してフィールドを追加し、位置を設定する必要があります。
フィールドの種類と名前を変更する
フィールドのタイプと名前を変更する必要がある場合は、ALTER コマンドで MODIFY または CHANGE 句を使用できます。
たとえば、フィールド c のタイプを CHAR(1) から CHAR(10) に変更するには、次のコマンドを実行します。
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
CHANGE 句を使用すると、構文が大きく異なります。CHANGE キーワードの直後に、変更するフィールドの名前を指定し、新しいフィールドの名前とタイプを指定します。次の例を試してください。
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Null 値およびデフォルト値に対する ALTER TABLE の影響
フィールドを変更する場合、含めるか、デフォルト値を設定するかを指定できます。
次の例では、フィールド j が NOT NULL であり、デフォルト値が 100 であることを指定しています。
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
デフォルト値を設定しない場合、MySQL はデフォルトでフィールドを自動的に NULL に設定します。
フィールドのデフォルト値を変更
ALTER を使用してフィールドのデフォルト値を変更できます。次の例を試してください。
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
次の例のように、ALTER コマンドを DROP 句とともに使用して、フィールドのデフォルト値を削除することもできます。
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
データ テーブル タイプの変更は、ALTER コマンドと TYPE 句を使用して行うことができます。テーブル testalter_tbl のタイプを MYISAM に変更する次の例を試してください。
注:データ テーブル タイプを表示するには、SHOW TABLE STATUS ステートメントを使用できます。
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
テーブル名を変更する
データ テーブルの名前を変更する必要がある場合は、ALTER TABLE ステートメントで RENAME 句を使用できます。
次の例を試して、データ テーブル testalter_tbl の名前を alter_tbl に変更してください。
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
ALTER コマンドを使用して、MySQL テーブルのインデックスを作成および削除することもできます。これについては、次の章で説明します。
他の用途を変更する
ストレージ エンジンの変更: myisam に変更します。
alter table tableName engine=myisam;
外部キーの制約を削除します: keyName は外部キーのエイリアスです
alter table tableName drop foreign key keyName;
変更されたフィールドの相対位置: ここで name1 は変更されるフィールド、type1 はフィールドの元のタイプ、first と after を選択できます。これは明らかなはずです。first は最初に配置され、after は name2 の後に配置されます。分野
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang ブログ ( https://www.chenweiliang.com/ ) 共有 "MySQL は複数のフィールド位置を増やすために add を変更しますか? Modify Column ステートメントの使用方法の詳細な説明」が役に立ちます。
この記事のリンクを共有することを歓迎します。https://www.chenweiliang.com/cwl-495.html
Chen WeiliangのブログのTelegramチャンネルへようこそ。最新のアップデートを入手できます!
📚 このガイドには非常に価値のある内容が含まれています。🌟これはめったにない機会です、お見逃しなく! ⏰⌛💨
気に入ったらシェア&いいね!
あなたの共有といいねは、私たちの継続的な動機です!