ホームページ  >  記事  >  データベース  >  mysqlのテーブルに列(フィールド)を追加するにはどうすればよいですか?

mysqlのテーブルに列(フィールド)を追加するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-09-28 10:12:1129412ブラウズ

テーブルに列を追加する Mysql メソッド: 1. 「ALTER TABLE テーブル名 ADD 新しいフィールド名のデータ型 [制約];」を使用して最後に列を追加します; 2. 「ALTER TABLE テーブル名 ADD」を使用しますnew フィールド名 データ型 [制約] FIRST;" 先頭に列を追加します。

mysqlのテーブルに列(フィールド)を追加するにはどうすればよいですか?

(推奨チュートリアル: mysql ビデオ チュートリアル )

MySQL データ テーブルは行と列で構成されており、通常はテーブルの「列」をフィールドといい、テーブルの「行」をレコードといいます。ビジネスの変化に応じて、既存のテーブルに新しいフィールドを追加することが必要になる場合があります。

MySQL では、先頭、中間、最後にフィールドを追加できます。

最後にフィールドを追加します

完全なフィールドには、フィールド名、データ型、制約が含まれます。 MySQL でフィールドを追加する構文形式は次のとおりです:

ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];

構文形式は次のように説明されます:

  • 249823cbf09623dd508dcdf0f05edb2a はデータ テーブルの名前です。 ;

  • 02bd2435d4cc62349b684d1f6c167ac0 は追加するフィールドの名前です;

  • d917f957b009fa8ea73db043073ffd0e は追加するフィールドですデータを保存できます データ型;

  • [制約] はオプションであり、追加されたフィールドを制約するために使用されます。

この構文形式では、デフォルトでテーブルの最後の位置 (最後の列の後) に新しいフィールドが追加されます。

注: このセクションでは、新しいフィールドを追加するだけであり、その制約には注意を払いません。

例 1

テスト データベースに新しい学生データ テーブルを作成します。SQL ステートメントと実行結果は次のとおりです:

mysql> USE test;
Database changed
mysql> CREATE TABLE student (
    -> id INT(4),
    -> name VARCHAR(20),
    -> sex CHAR(1));
Query OK, 0 rows affected (0.09 sec)

DESC を使用して学生を表示します。テーブル構造、SQL ステートメント、実行結果は次のとおりです。

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 を追加します。SQL ステートメントと実行結果は次のとおりです。 ##

mysql> ALTER TABLE student ADD age INT(4);
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

DESC を使用して Student テーブルの構造を表示し、年齢フィールドが正常に追加されたかどうかを確認します。 SQL ステートメントと実行結果は次のとおりです。


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 テーブルに追加され、フィールドはテーブルの最後の位置にあります。テーブル。フィールドは正常に追加されました。

先頭にフィールドを追加

MySQL のデフォルトでは、テーブルの最後の位置に新しいフィールドが追加されます。新しいフィールドを先頭 (最初の列の前) に追加するには、FIRST キーワードを使用できます。構文形式は次のとおりです。

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;

FIRST キーワードは通常、ステートメントの最後に配置されます。 。

例 2

ALTER TABLE ステートメントを使用して、テーブルの最初の列に INT 型フィールド stuId を追加します。SQL ステートメントと実行結果は次のとおりです。

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)

実行結果から、stuId フィールドが Student テーブルに追加され、そのフィールドがテーブルの最初の位置にあることがわかります。フィールドは正常に追加されました。

中間にフィールドを追加する

MySQL では、テーブルの先頭と末尾にフィールドを追加できることに加えて、フィールドも追加できます。中央 (指定されたフィールドの後) に追加するには、AFTER キーワードを使用する必要があります。構文形式は次のとおりです:

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;

AFTER の機能は、既存のフィールドの後に新しいフィールドを追加することです。

新しいフィールドは既存のフィールドの後にのみ追加でき、その前には追加できないことに注意してください。

例 3

ALTER TABLE ステートメントを使用して、データ型 INT の stuno という名前のフィールドを Student テーブルに追加します。stuno フィールドは、name フィールドの後に配置されます。 SQL ステートメントと実行結果は次のとおりです:

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)

実行結果からわかるように、stuId フィールドが Student テーブルに追加され、フィールドは name フィールドの後ろにあります。正常に追加されました。

関連する推奨事項:

php トレーニング

以上がmysqlのテーブルに列(フィールド)を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。