Base de datos MySQL: agregue campos a la tabla de datos MySQL (tres formas)

Una tabla de datos de MySQL se compone de filas y columnas. Por lo general, la "columna" de la tabla se denomina campo (Field), y la "fila" de una tabla se denomina registro (Record). A medida que cambia el negocio, puede ser necesario agregar nuevos campos a las tablas existentes.

MySQL permite agregar campos al principio, medio y final.

Agregar campos al final

Un campo completo incluye el nombre del campo, el tipo de datos y las restricciones. El formato de sintaxis de los campos de adición de MySQL es el siguiente:

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

El formato de sintaxis se explica de la siguiente manera:                                       

  • <nombre de la tabla> es el nombre de la tabla de datos;
  • <nuevo nombre de campo> es el nombre del campo que se agregará;
  • <tipo de datos> es el tipo de datos que puede almacenar datos para el campo que se agregará;
  • [Restricciones] es opcional y se usa para restringir los campos agregados.

Este formato de sintaxis por defecto agrega nuevos campos al final de la tabla (después de la última columna).

Nota: En esta sección solo agregamos nuevos campos, no sus restricciones.

Ejemplo 1

Cree una nueva tabla de datos de estudiantes en la base de datos de prueba, la instrucción SQL y los resultados en ejecución son los siguientes:

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 para ver la estructura de la tabla de estudiantes, la declaración SQL y los resultados de ejecución son los siguientes:

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)

Utilice la declaración ALTER TABLE para agregar una edad de campo de tipo INT, la declaración SQL y los resultados en ejecución son los siguientes:

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

Use DESC para ver la estructura de la tabla de estudiantes y verifique si el campo de edad se agregó correctamente. La instrucción SQL y los resultados de la ejecución son los siguientes:

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)

Como se puede ver en los resultados de ejecución, el campo de edad se ha agregado a la tabla de estudiantes, y este campo está en la última posición de la tabla, y el campo se agregó correctamente.

Agregar campos al principio

De forma predeterminada, MySQL agrega un nuevo campo al final de la tabla. Si desea agregar un nuevo campo al principio (antes de la primera columna), puede usar la palabra clave FIRST. La sintaxis es la siguiente:

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

La palabra clave FIRST generalmente se coloca al final de la declaración.

Ejemplo 2

Utilice la instrucción ALTER TABLE para agregar el campo stuId de tipo INT a la primera columna de la tabla. La instrucción SQL y los resultados de la ejecución se muestran a continuación.

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)

Como se puede ver en los resultados de ejecución, el campo stuId se ha agregado a la tabla de estudiantes, y este campo está en la primera posición de la tabla, y el campo se agregó correctamente.

Agregar campos en el medio

Además de permitir que se agreguen campos al principio y al final de la tabla, MySQL también permite agregar campos en el medio (después del campo especificado). En este caso, se debe usar la palabra clave AFTER. La sintaxis es la siguiente sigue:

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

DESPUÉS se utiliza para agregar un nuevo campo después de un campo existente.

Tenga en cuenta que un nuevo campo solo se puede agregar después de un campo existente, no delante de él.

Ejemplo 3

Utilice la declaración ALTER TABLE para agregar un campo llamado stuno con un tipo de datos de INT en la tabla de estudiantes, y el campo stuno se encuentra detrás del campo de nombre. La instrucción SQL y los resultados de la ejecución son los siguientes:

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)

Como se puede ver en los resultados de ejecución, el campo stuId se agregó a la tabla de estudiantes, y este campo está detrás del campo de nombre, y el campo se agregó correctamente.

Programador de caballos oscuros Entrada de la base de datos MySQL a la competencia, desde la instalación de mysql hasta mysql avanzado, optimización de mysql todo cubierto

Supongo que te gusta

Origin blog.csdn.net/Itmastergo/article/details/130237790
Recomendado
Clasificación