MySQLは追加を変更して複数のフィールド位置を増やしますか? modify column ステートメントの使用法の詳細な説明

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チャンネルへようこそ。最新のアップデートを入手できます!

🔔 貴重な「ChatGPT コンテンツ マーケティング AI ツール使用ガイド」をチャンネル トップ ディレクトリでいち早く入手してください! 🌟
📚 このガイドには非常に価値のある内容が含まれています。🌟これはめったにない機会です、お見逃しなく! ⏰⌛💨
気に入ったらシェア&いいね!
あなたの共有といいねは、私たちの継続的な動機です!

 

发表评论

あなたのメールアドレスが公開されることはありません。 必須アイテム * 标注

トップにスクロールします