SQL

Cómo eliminar columnas de una tabla en SQL Server con ALTER TABLE y DROP COLUMN

Estrada Web Group
jiestrada
Cómo eliminar columnas de una tabla en SQL Server con ALTER TABLE y DROP COLUMN

Resumen: en este tutorial, aprenderás cómo usar la declaración de columna ALTER TABLE DROP COLUMN de SQL Server para eliminar una o más columnas de una tabla existente.

Introducción a SQL Server DROP COLUMN

A veces, es necesario eliminar una o más columnas obsoletas o no utilizadas en una tabla. Para hacer esto, puedes usar la instrucción ALTER TABLE y DROP COLUMN de la siguiente manera:

ALTER TABLE table_name
DROP COLUMN column_name;

En esta sintaxis:

  • Primero, debes especificar el nombre de la tabla de la que deseas eliminar la columna.
  • En segundo lugar, especifica el nombre de la columna que deseas eliminar.

Si la columna que deseas eliminar tiene una restricción CHECK, primero debes eliminar la restricción antes de eliminar la columna. Además, SQL Server no te permite eliminar una columna que tenga una restricción PRIMARY KEY o FOREIGN KEY.

Si deseas eliminar varias columnas a la vez, utiliza la siguiente sintaxis:

ALTER TABLE table_name
DROP COLUMN column_name_1, column_name_2,...;

En esta sintaxis, se especifican las columnas que deseas eliminar como una lista de columnas separadas por comas en la cláusula DROP COLUMN.

Ejemplos de ALTER TABLE y DROP COLUMN de SQL Server

Para estos ejemplos crearemos una nueva tabla llamada sales.price_lists

CREATE TABLE sales.price_lists(
    product_id int,
    valid_from DATE,
    price DEC(10,2) NOT NULL CONSTRAINT ck_positive_price CHECK(price >= 0),
    discount DEC(10,2) NOT NULL,
   surcharge DEC(10,2) NOT NULL,
    note VARCHAR(255),
    PRIMARY KEY(product_id, valid_from)
);

La siguiente declaración elimina la columna price_lists de la tabla price_lists:

ALTER TABLE sales.price_lists
DROP COLUMN note;

La columna de price tiene una restricción CHECK, por lo tanto, no puedes eliminarla. Si intentas ejecutar la siguiente declaración, obtendrás un error:

ALTER TABLE sales.price_lists
DROP COLUMN price;

Resultado:

The object 'ck_positive_price' is dependent on column 'price'.

Para eliminar la columna de price, primero, elimina su restricción CHECK:

ALTER TABLE sales.price_lists
DROP CONSTRAINT ck_positive_price;

Posteriormente ya puedes eliminar la columna

ALTER TABLE sales.price_lists
DROP COLUMN price;

El siguiente ejemplo elimina dos columnas discount y surcharge a la vez:

ALTER TABLE sales.price_lists
DROP COLUMN discount, surcharge;

En este tutorial, has aprendido a usar la instrucción ALTER TABLE  DROP COLUMN de SQL Server para eliminar una o más columnas de una tabla.

Compartir artículo:

Más artículos geniales

¿Cómo se insertar en una tabla de SQL Server?

¿Cómo se insertar en una tabla de SQL Server?

En SQL, hay dos formas muy sencillas para INSERTAR datos en una tabla: Una es insertar una fila a la vez, y la otra es insertar filas múltiples o conjuntos de filas el cual explicaremos aquí también. Primero observemos como podemos INSERTAR datos a través de una fila a la vez:

Ver artículo completo
¿Cómo agregar una columna a una tabla en SQL?

¿Cómo agregar una columna a una tabla en SQL?

En este post veremos cómo agregar, eliminar y cambiar columnas a una tabla en SQL Server. ¿Cómo agregar una columna a una tabla existente en SQL Server?

Ver artículo completo
¿Cómo remplazar una cadena de caracteres por otra en SQL Server?

¿Cómo remplazar una cadena de caracteres por otra en SQL Server?

En este tutorial, aprenderás a usar la función REPLACE() de SQL Server para reemplazar todas las veces que aparezca una palabra, frase o cadena de caracteres por otra palabra o frase dentro de una cadena de caracteres.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;