49 - Agregar campos a una tabla (alter table - add)


Problema:

Trabajamos con la tabla "libros".

Eliminamos la tabla "libros" si existe.

Creamos la tabla "libros" con la siguiente estructura:

 create table libros(
  codigo int unsigned auto_increment,
  titulo varchar(40) not null,
  autor varchar(30),
  editorial varchar (20),
  precio decimal(5,2) unsigned,
  primary key(codigo)
 );

Para agregar el campo "cantidad" de tipo smallint unsigned not null, tipeamos:

 alter table libros
  add cantidad smallint unsigned not null;

Vemos su nueva estructura:

 describe libros;

Ahora la tabla tiene un nuevo campo, el ingresado con "alter table".

Si mostramos todos los registros, vemos que los valores para el nuevo campo se cargaron con su valor por defecto, "0" en el ejemplo porque el campo agregado es de tipo numérico y declarado "not null".

Agreguemos otro campo a la tabla:

 alter table libros
  add edicion date;

Vemos la nueva estructura:

 describe libros;

Si mostramos todos los registros, vemos que los valores para el nuevo campo se cargaron con su valor por defecto, "null" en este caso.

Si intentamos agregar un campo existente aparece un mensaje de error indicando que la columna existe y la acción no se realiza:

 alter table libros
  add precio int;



Retornar