mysql では、「ALTER TABLE」ステートメントと ADD キーワードを使用して列 (フィールド) を追加できます。構文は「ALTER TABLE テーブル名 ADD 新しいフィールド名 データ型 [制約];」です。 kind 構文形式では、データ テーブルの最後に列 (フィールド) が追加されます。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL データ テーブルは行と列で構成されており、通常、テーブルの「列」はフィールド (Field) と呼ばれ、テーブルの「行」はレコード (Record) と呼ばれます。ビジネスの変化に応じて、既存のテーブルに新しいフィールドを追加することが必要になる場合があります。
mysql では、「ALTER TABLE」ステートメントと ADD キーワードを使用して列 (フィールド) を追加できます。
文法:
ALTER TABLE 表名 ADD 新字段名 数据类型[约束条件];
構文形式は次のように説明されます:
テーブル名
:データ テーブルの名前;
新しいフィールド名
: 追加するフィールドの名前です。
データ型
: 追加するフィールドのデータを格納できるデータ型;
[制約]
: オプションであり、制約するフィールドを追加するために使用されます。
この構文形式では、デフォルトでテーブルの最後の位置 (最後の列の後) に新しいフィールドが追加されます。
例:
学生データ テーブルがあります。DESC を使用して学生テーブルの構造を表示します。
mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
ALTER TABLE ステートメントを使用して、INT 型フィールド age を追加します。 Student テーブルの構造を見てください
mysql> ALTER TABLE student ADD age INT(4); Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
年齢フィールドが Student テーブルに追加され、そのフィールドがテーブルの最後の位置にあることがわかります。フィールドは正常に追加されました。
それでは、先頭または途中にフィールドを追加したい場合はどうすればよいでしょうか?
先頭 (最初の列の前) に新しいフィールドを追加する場合は、FIRST
キーワード##を使用する必要があります。
AFTER キーワードを使用する必要があります
ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] FIRST; ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] AFTER <已经存在的字段名>;
例:
mysql> ALTER TABLE student ADD stuId INT(4) FIRST; Query OK, 0 rows affected (0.14 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | stuId | int(4) | YES | | NULL | | | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)
A stuId フィールドが Student テーブルに追加され、フィールドはテーブルの最初の位置に配置されます。
mysql> ALTER TABLE student ADD stuno INT(11) AFTER name; Query OK, 0 rows affected (0.13 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | stuId | int(4) | YES | | NULL | | | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | stuno | int(11) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
A stuId フィールドStudent テーブルに追加され、そのフィールドは name フィールドにあります。
[関連する推奨事項:
mysql ビデオ チュートリアル以上がmysqlにカラム(フィールド)を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。