Saltar al contenido

MYSQL – ALTER, DROP, RENAME, MODIFY

¿CUÁNDO CAMBIA LA TIERRA?

Como dice el dicho El cambio es la única constante

Con el tiempo, las necesidades empresariales también cambian. A medida que cambian las necesidades comerciales, también cambian los diseños de la base de datos.

MySQL proporciona ALTERAR una función que nos ayuda incorporar los cambios en el diseño de la base de datos existente.

El comando alter se utiliza para cambiar una base de datos, una tabla, una vista u otros objetos de la base de datos que puedan ser necesarios durante la vida de una base de datos.

Creemos que hemos completado el diseño y la implementación de nuestra base de datos. Los usuarios de nuestra base de datos la utilizan y luego se dan cuenta de que parte de la información crucial se ha omitido en la fase de diseño. No quieren perder los datos existentes, solo quieren incorporar la nueva información. El orden alternativo es útil en tales casos. Podemos usar el comando alternativo para cambiar el tipo de datos de un campo de decir cadena numéricamente, cambiar el nombre del campo a un nuevo nombre o incluso poner una nueva columna en una tabla.

Alter- sintaxis

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

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

AQUÍ

  • “ALTER TABLE` table_name`” el comando que le dice al servidor MySQL que modifique la tabla llamada `table_name`.
  • “AÑADIR COLUMNA` nombre_columna“ tipo_datos`” el comando que le dice al servidor MySQL que agregue una nueva columna llamada `column_name` al tipo de datos` data_type ‘.

Creemos que Myflix introdujo la facturación y los pagos en línea. Con este fin, se nos ha pedido que agreguemos un campo al número de tarjeta de crédito en nuestra tabla de miembros. Podemos usar el comando ALTER para hacer eso. Primero miramos la estructura de la mesa de miembros antes de hacer cualquier enmienda. El guión que se muestra a continuación nos ayuda a hacer precisamente eso.

SHOW COLUMNS FROM `members`;

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
full_namesvarchar(350)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(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);

El script anterior en MySQL contra Myflixdb agrega una nueva columna llamada número de tarjeta de crédito en la tabla de miembros con VARCHAR como tipo de datos. El script show column nos da los siguientes resultados.

SHOW COLUMNS FROM `members`;

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
full_namesvarchar(350)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(255)YES NULL
credit_card_numbervarchar(25)YES  

Como puede ver en los resultados devueltos, se agregó un número de tarjeta de crédito a la tabla de miembros. La nueva columna no afecta los datos contenidos en los datos de los miembros.

¿CUÁNDO ES EL DROP LAND?

El comando DROP se usa para

  1. Eliminar la base de datos del servidor MySQL
  2. Elimina un objeto (como Tabla, Columna) de una base de datos.

Ahora veamos ejemplos prácticos de cómo usar el comando DROP.

En nuestro ejemplo anterior del 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 lleva algo de tiempo y queremos ABANDONAR la columna de la tarjeta de crédito.

Podemos usar el siguiente script

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

La columna credit_card_number cae de la tabla de miembros si se ejecuta el script anterior

Ahora miramos las columnas en la tabla de miembros para determinar si nuestra columna ha caído.

SHOW COLUMNS FROM `members`;

La ejecución del script anterior en un banco de trabajo MySQL contra myflixdb nos da los siguientes resultados.

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
full_namesvarchar(350)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(255)YES NULL

Tenga en cuenta que el número de la tarjeta de crédito se eliminó de la lista de campos.

MESA PLEGABLE

La sintaxis con la tabla DROP de la base de datos es la siguiente:

DROP TABLE `sample_table`;

Veamos un ejemplo

DROP TABLE `categories_archive`;

El script anterior elimina la tabla denominada `category_archive` de nuestra base de datos.

¿CUÁNDO SE CAMBIARÁ EL NOMBRE DEL MEDIO AMBIENTE?

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 necesariamente la pérdida de los datos existentes.

Proporción: –

El comando de cambio de nombre tiene la siguiente sintaxis básica.

RENAME TABLE `current_table_name` TO `new_table_name`;

Creemos que queremos cambiar el nombre de la tabla de películas a movie_rentals, podemos usar el script que se muestra a continuación para lograrlo.

RENAME TABLE `movierentals` TO `movie_rentals`;

El script anterior 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`;

CAMBIO DE LLAVE

Cambiar palabras clave te permite

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

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

SHOW COLUMNS FROM `members`;

La ejecución del script anterior en un banco de trabajo MySQL contra myflixdb nos da los siguientes resultados.

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
full_namesvarchar(150)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(255)YES NULL

Supongamos que queremos

  1. Cambie el nombre de dominio de “full_names” a “fullname
  2. Cámbielo a un tipo de datos de automóvil con un ancho de 250
  3. Restringir NO NULO

Podemos hacer esto usando la orden de cambio de la siguiente manera:

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

Los siguientes resultados sugieren ejecutar el script anterior en un banco de trabajo MySQL contra myflixdb y luego ejecutar el script de las columnas de visualización indicadas anteriormente.

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
fullnameschar(250)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(255)YES NULL

LLAVE PRINCIPAL

La palabra clave MODIFY le permite

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

En el ejemplo de CAMBIO anterior, tuvimos que cambiar el nombre del campo junto con otros detalles. Omitir el nombre del campo de la instrucción CHANGE provocará un error. Supongamos que solo estamos interesados ​​en cambiar el tipo de datos y las restricciones de campo sin afectar el nombre de dominio, 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;

Si la secuencia de comandos anterior se ejecuta en un banco de trabajo MySQL contra myflixdb y luego se ejecuta la secuencia de comandos de la columna de visualización anterior, se dan los siguientes resultados.

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
fullnameschar(50)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(255)YES NULL

DESPUÉS DE LA PALABRA CLAVE

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

Podemos usar el comando alter junto con la palabra clave AFTER.

El siguiente script agrega “date_of_registration” inmediatamente 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`;

Ejecutar el script anterior en un banco de trabajo MySQL contra myflixdb y luego ejecutar el script de las columnas de visualización dadas anteriormente da los siguientes resultados.

FieldTypeNullKeyDefaultExtra
membership_numberint(11)NOPRINULLauto_increment
fullnameschar(50)NO NULL
gendervarchar(6)YES NULL
date_of_birthdateYES NULL
date_of_registrationdateYES NULL
physical_addressvarchar(255)YES NULL
postal_addressvarchar(255)YES NULL
contact_numbervarchar(75)YES NULL
emailvarchar(255)YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

Resumen

  • El comando alter se usa cuando queremos modificar una base de datos o cualquier cosa en la base de datos.
  • El comando desplegable se utiliza para eliminar bases de datos de un servidor MySQL o de objetos dentro de una base de datos.
  • El comando de cambio de nombre se utiliza para cambiar el nombre de una tabla por un nuevo nombre de tabla.
  • La palabra clave Cambiar le permite cambiar el nombre de la columna, el tipo de datos y las restricciones.
  • La palabra clave Modificar le permite modificar el tipo de datos de la columna y las restricciones.
  • Las palabras clave After se utilizan para especificar la posición de una columna en una tabla.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *