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


Problema:
Trabaje con la tabla "peliculas" de un video club.

1- Elimine la tabla, si existe.

2- Cree la tabla con la siguiente estructura:
 create table peliculas(
  codigo int unsigned auto_increment,
  nombre varchar(30) not null,
  actor varchar(20),
  primary key(codigo)
 );

3- Ingrese algunos registros.

4- Agregue un campo para almacenar la duración de la película, de tipo tinyint unsigned:
  alter table peliculas
   add duracion tinyint unsigned;

5- Visualice la estructura de la tabla con "describe".

6- Agregue el campo "director" para almacenar el nombre del director, de tipo varchar(20):
 alter table peliculas
  add director varchar(20);

7- Visualice la estructura de la tabla con su nuevo campo:
 describe peliculas;

8- Intente agregar un campo existente. Aparece un mensaje de error:
 alter table peliculas
  add actor varchar(20);



 

Otros problemas:
Un comercio que vende por mayor artículos de librería y papelería tiene una tabla 
llamada "articulos".

1- Elimine la tabla, si existe.

2- Cree la tabla con la siguiente estructura:
 create table articulos(
  codigo int unsigned auto_increment,
  nombre varchar(20) not null,
  descripcion varchar(30),
  precio decimal(4,2) unsigned,
  primary key(codigo)
 );

3- Ingrese los siguientes registros:
 insert into articulos (nombre,descripcion,precio)
  values('escuadra','plastico 20 cm.',3.50);
 insert into articulos (nombre,descripcion,precio)
  values('lápices colores','Join x12',4.50);
 insert into articulos (nombre,descripcion,precio)
  values('lápices colores','Join x24',7.50);
 insert into articulos (nombre,descripcion,precio)
  values('regla','30 cm.',2.50);
 insert into articulos (nombre,descripcion,precio)
  values('fibras','Join x12',10.30);
 insert into articulos (nombre,descripcion,precio)
  values('fibras','Join x6',5.10);

4- El comercio, que hasta ahora ha vendido sus artículos por mayor, comenzará la venta por menor. 
Necesita alterar la tabla agregando un campo para almacenar el precio por menor para cada artículo. 
Agrege un campo llamado "preciopormenor":
 alter table articulos
  add preciopormenor decimal(4,2) unsigned;

5- Muestre todos los registros:
 select * from articulos;
Note que para el nuevo campo los valores se setearon en "null".

6- Actualice el campo "preciopormenor" de todos los registros, dándole el valor del campo "precio" 
incrementado en un 10%:
 update articulos set preciopormenor=precio+(precio*0.10);

7- Muestre todos los registros:
 select * from articulos;

Retornar