MYSQL – ALTERAR, ELIMINAR, RENOMBRAR, MODIFICAR

¿Qué es el comando ALTER?

Como dice el dicho El cambio es la única constante

Con el tiempo, los requisitos comerciales también cambian. A medida que cambian los requisitos empresariales, también es necesario cambiar los diseños de las bases de datos.

MySQL proporciona ALTER función que nos ayuda incorporar los cambios al diseño de la base de datos ya existente.

El comando alter se utiliza para modificar una base de datos, tabla, vista u otros objetos de base de datos existentes que puedan necesitar cambios durante el ciclo de vida de una base de datos.

Supongamos que hemos completado el diseño de nuestra base de datos y se ha implementado. Los usuarios de nuestra base de datos la están utilizando y luego se dan cuenta de que parte de la información vital se omitió en la fase de diseño. No quieren perder los datos existentes, solo quieren incorporar la nueva información. El comando alter resulta útil en tales situaciones. Podemos usar el comando alterar para cambiar el tipo de datos de un campo de, por ejemplo, cadena a numérico, cambiar el nombre del campo a un nuevo nombre o incluso agregar una nueva columna en una tabla.

Modificar – sintaxis

La sintaxis básica utilizada para agregar una columna a una tabla ya existente se muestra a continuación

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

AQUÍ

  • “ALTERAR TABLA `nombre_tabla`” es el comando que dice MySQL servidor para modificar la tabla denominada `table_name`.
  • “AÑADIR COLUMNA `nombre_columna` `tipo_datos`” es el comando que dice MySQL server para agregar una nueva columna llamada `column_name` con el tipo de datos `data_type'.

Supongamos que Myflix ha introducido la facturación y los pagos en línea. Para ello, se nos ha pedido que agreguemos un campo para el número de tarjeta de crédito en nuestra tabla de miembros. Podemos utilizar el comando ALTER para hacerlo. Veamos primero la estructura de la tabla de miembros antes de realizar cualquier modificación. El script que se muestra a continuación nos ayuda a hacerlo.

SHOW COLUMNS FROM `members`;
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Podemos usar el script que se muestra a continuación para agregar un nuevo campo a la tabla de miembros.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Ejecutando el script anterior en MySQL En contra de Myflixdb, agrega una nueva columna denominada número de tarjeta de crédito a la tabla de miembros con VARCHAR como tipo de datos. Al ejecutar el script show column, obtenemos los siguientes resultados.

SHOW COLUMNS FROM `members`;
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

Como puede ver en los resultados obtenidos, el número de tarjeta de crédito se ha agregado a la tabla de miembros. Los datos contenidos en los datos de los miembros no se ven afectados por la adición de la nueva columna.

¿QUÉ ES EL COMANDO DE SOLTAR?

El comando DROP se utiliza para

  1. Eliminar una base de datos de MySQL servidor
  2. Eliminar un objeto (como tabla, columna) de una base de datos.

Veamos ahora ejemplos prácticos que utilizan el comando DROP.

En nuestro ejemplo anterior sobre el comando Alter, agregamos una columna llamada número de tarjeta de crédito a la tabla de miembros.

Supongamos que la funcionalidad de facturación en línea tomará algún tiempo y queremos eliminar la columna de tarjeta de crédito.

Podemos utilizar el siguiente script

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

La ejecución del script anterior elimina la columna número_tarjeta_crédito de la tabla de miembros

Veamos ahora las columnas de la tabla de miembros para confirmar si nuestra columna se ha eliminado.

SHOW COLUMNS FROM `members`;

Ejecutando el script anterior en MySQL El banco de trabajo contra myflixdb nos da los siguientes resultados.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Observe que el número de la tarjeta de crédito se ha eliminado de la lista de campos.

TABLA DE GOTA

La sintaxis para BOTAR una tabla de la base de datos es la siguiente:

DROP TABLE `sample_table`;

Veamos un ejemplo

DROP TABLE `categories_archive`;

Al ejecutar el script anterior se elimina la tabla denominada `categories_archive` de nuestra base de datos.

¿QUÉ ES EL COMANDO RENOMBRAR?

El comando de cambio de nombre se utiliza para cambiar el nombre de un objeto de base de datos existente (como tabla, columna) a un nuevo nombre.

Cambiar el nombre de una tabla no implica que se pierdan los datos que contiene.

Sintaxis:-

El comando cambiar nombre tiene la siguiente sintaxis básica.

RENAME TABLE `current_table_name` TO `new_table_name`;

Supongamos que queremos cambiar el nombre de la tabla movierentals a movie_rentals, podemos usar el script que se muestra a continuación para lograrlo.

RENAME TABLE `movierentals` TO `movie_rentals`;

Al ejecutar el script anterior, se cambia el nombre de la tabla "movierentals" a "movie_rentals".

Ahora cambiaremos el nombre de la tabla movie_rentals a su nombre original.

RENAME TABLE `movie_rentals` TO `movierentals`;

CAMBIAR PALABRA CLAVE

Cambiar palabras clave le permite

  1. Cambiar nombre de columna
  2. Cambiar tipo de datos de columna
  3. Cambiar restricciones de columna

Veamos un ejemplo. El campo de nombres completos en la tabla de miembros es del tipo de datos varchar y tiene un ancho de 150.

SHOW COLUMNS FROM `members`;

Ejecutando el script anterior en MySQL El banco de trabajo contra myflixdb nos da los siguientes resultados.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Supongamos que queremos

  1. Cambie el nombre del campo de "nombres_completos" a "nombre completo"
  2. Cámbielo al tipo de datos char con un ancho de 250
  3. Agregar una restricción NOT NULL

Podemos lograr esto usando el comando de cambio de la siguiente manera:

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

Ejecutando el script anterior en MySQL Al trabajar con myflixdb y luego ejecutar el script show column indicado anteriormente, se obtienen los siguientes resultados.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

MODIFICAR PALABRA CLAVE

La palabra clave MODIFICAR le permite

  1. Modificar el tipo de datos de la columna
  2. Modificar restricciones de columna

En el ejemplo CAMBIO anterior, tuvimos que cambiar el nombre del campo y otros detalles. Omitir el nombre del campo en la declaración CHANGE generará un error. Supongamos que solo estamos interesados ​​en cambiar el tipo de datos y las restricciones del campo sin afectar el nombre del campo, podemos usar la palabra clave MODIFY para lograrlo.

El siguiente script cambia el ancho del campo "nombre completo" de 250 a 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Ejecutando el script anterior en MySQL Al trabajar en el banco de trabajo contra myflixdb y luego ejecutar el script de visualización de columnas indicado anteriormente, se obtienen los siguientes resultados que se muestran a continuación.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

DESPUÉS DE LA PALABRA CLAVE

Supongamos que queremos agregar una nueva columna en una posición específica de la tabla.

Podemos usar el comando alter junto con la palabra clave DESPUÉS.

El siguiente script agrega "fecha_de_registro" justo después de la fecha de nacimiento en la tabla de miembros.

ALTER TABLE  `members` ADD  `date_of_registration` date NULL AFTER  `date_of_birth`;

Ejecutando el script anterior en MySQL Al trabajar en el banco de trabajo contra myflixdb y luego ejecutar el script de visualización de columnas indicado anteriormente, se obtienen los siguientes resultados que se muestran a continuación.

Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

Resumen

  • El comando alter se utiliza cuando queremos modificar una base de datos o cualquier objeto contenido en la base de datos.
  • El comando drop se utiliza para eliminar bases de datos de MySQL servidor u objetos dentro de una base de datos.
  • El comando de cambio de nombre se utiliza para cambiar el nombre de una tabla a un nuevo nombre de tabla.
  • La palabra clave Cambiar le permite cambiar el nombre de una columna, el tipo de datos y las restricciones.
  • Modificar palabra clave le permite modificar el tipo de datos de una columna y sus restricciones.
  • La palabra clave After se utiliza para especificar la posición de una columna en una tabla.