Home  >  Article  >  Database  >  How to add columns (fields) to a table in mysql?

How to add columns (fields) to a table in mysql?

青灯夜游
青灯夜游Original
2020-09-28 10:12:1129353browse

Mysql method to add columns to a table: 1. Use "ALTER TABLE table name ADD new field name data type [constraints];" to add columns at the end; 2. Use "ALTER TABLE table name ADD new Field Name Data Type [Constraint] FIRST;" Add columns at the beginning.

How to add columns (fields) to a table in mysql?

(Recommended tutorial: mysql video tutorial)

MySQL data table is composed of rows and columns, usually The "columns" of the table are called fields, and the "rows" of the table are called records. As your business changes, you may need to add new fields to existing tables.

MySQL allows adding fields at the beginning, middle and end.

Add fields at the end

A complete field includes field name, data type and constraints. The syntax format for adding fields in MySQL is as follows:

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

The syntax format is explained as follows:                                                        

  • 249823cbf09623dd508dcdf0f05edb2a is the name of the data table;

  • 54a54d14e22f2e75e56c180fa5bad895 is the name of the field to be added;

  • 4cd7266a2a3b9d11d200585237d5f70a is the field that can store data Data type;

  • [Constraints] is optional and is used to constrain the added fields.

This syntax format adds a new field at the last position of the table (after the last column) by default.

Note: In this section we only add new fields and do not pay attention to its constraints.

Example 1

Create a new student data table in the test database. The SQL statements and running results are as follows:

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)

Use DESC to view students The table structure, SQL statements and running results are as follows:

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)

Use the ALTER TABLE statement to add an INT type field age, the SQL statements and running results are as follows:

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

Use DESC to view the student table structure, Verify whether the age field is added successfully. The SQL statement and running results are as follows:

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)

As you can see from the running results, the age field has been added to the student table, and the field is at the last position of the table. The field was added successfully.

Add fields at the beginning

MySQL defaults to adding a new field at the last position of the table. If you want to add a new field at the beginning (before the first column ) to add a new field, you can use the FIRST keyword, the syntax format is as follows:

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

The FIRST keyword is generally placed at the end of the statement.

Example 2

Use the ALTER TABLE statement to add the INT type field stuId in the first column of the table. The SQL statement and running results are as follows.

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)

You can see from the running results that the stuId field has been added to the student table, and the field is at the first position in the table. The field was added successfully.

Add fields in the middle

In addition to allowing fields to be added at the beginning and end of the table, MySQL also allows fields to be added in the middle ( After the specified field), you need to use the AFTER keyword. The syntax format is as follows:

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

The function of AFTER is to add a new field after an existing field.

Note that you can only add a new field after an existing field, but not in front of it.

Example 3

Use the ALTER TABLE statement to add a field named stuno with data type INT in the student table. The stuno field is located after the name field. The SQL statement and running results are as follows:

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)

As can be seen from the running results, the stuId field has been added to the student table, and the field is located behind the name field. The field was added successfully.

Related recommendations: php training

The above is the detailed content of How to add columns (fields) to a table in mysql?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn