Tabla CREATE, ALTER, DROP de SQL Server [Ejemplos de T-SQL]

⚡ Resumen inteligente

Las tablas de SQL Server almacenan datos en filas y columnas. Transact-SQL utiliza CREATE TABLE para crear una tabla, ALTER TABLE para agregar o modificar columnas y DROP TABLE para eliminar la tabla, sus datos y su estructura.

  • 🧱 ¿Qué es una tabla? Una tabla almacena datos en filas y columnas y es el objeto básico para guardar datos en una base de datos.
  • 🛠️ CREAR TABLA: La instrucción CREATE TABLE define cada columna con un nombre, un tipo de datos y una configuración NULL o NOT NULL.
  • 📋 Crear a partir de: SELECT … INTO copia las columnas y filas seleccionadas de una tabla existente en una tabla completamente nueva.
  • ALTERAR TABLA: ALTER TABLE … ADD agrega nuevas columnas a una tabla sin recrearla.
  • 🗑️ ELIMINAR TABLA: DROP TABLE elimina la tabla completa, incluyendo sus datos y su estructura.
  • 🖱️ Diseñador de mesas: SQL Server Management Studio también permite crear y modificar tablas visualmente mediante el Diseñador de tablas.

Ejemplos de creación, modificación y eliminación de tablas en SQL Server con T-SQL

¿Qué es una Mesa?

Una tabla es un objeto en SQL Server que almacena datos en formato de filas y columnas. El diagrama a continuación muestra las filas y las columnas respectivamente.

Diagrama de una tabla que almacena datos en filas y columnas.

Cómo crear una tabla en SQL Server con T-SQL

El primer paso para almacenar datos es crear una tabla en el base de datos de CRISPR Medicine News donde residirán los datos. Después de crear la tabla, puedes seguir insertando filas en ella.

Puedes crear una tabla de las siguientes maneras:

  • T-SQL: crea una nueva tabla definiendo todas las columnas y su tipo de datos.
  • T-SQL: crea una nueva tabla a partir de una tabla existente.
  • Usando el Diseñador de Tablas.

Estudiemos esto en detalle.

T-SQL: Crear una nueva tabla definiendo todas las columnas y su tipo de datos.

A continuación se muestra la sintaxis para crear una tabla en SQL Server.

Sintaxis:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Aquí,

  • El parámetro tableName indica el nombre de la tabla que va a crear.
  • Los parámetros columna_1, columna_2… indican las columnas que se agregarán a la tabla.
  • Se debe especificar si una columna es NULL o NOT NULL. Si no se especifica, SQL Server utiliza NULL como valor predeterminado.

Vamos a crear una tabla básica con dos columnas.

consulta:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Requisito previo: Seleccione la base de datos donde necesita crear la tabla.

Paso 1) Ejecute la consulta haciendo clic en Ejecutar. Antes de ejecutar la consulta, no existe ninguna tabla, como se muestra a continuación.

El Explorador de objetos no muestra ninguna tabla de Curso antes de que se ejecute la instrucción CREATE.

Después de ejecutar la consulta, haga clic en el botón Actualizar; la nueva tabla ahora existe con el nombre Curso, como se muestra a continuación.

La tabla de cursos aparece en el Explorador de objetos después de la ejecución y la actualización.

Paso 2) Inserta algunos datos. Las capturas de pantalla a continuación muestran la tabla de Cursos recién creada, lista para recibir filas.

Tabla de cursos recién creada seleccionada en el Explorador de objetos antes de insertar datos.

Estructura de la tabla del curso con sus dos columnas mostradas antes de la inserción de datos.

Hasta ahora, la tabla solo existe, pero aún no contiene datos.

Transact-SQL proporciona la instrucción INSERT para insertar datos en una tabla. Con esta instrucción, puede insertar una o más filas en una tabla.

Sintaxis:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

La sintaxis anterior muestra la forma básica del comando cuando se utiliza la palabra clave VALUES para insertar datos en una tabla.

Insertemos cuatro filas usando el comando INSERT.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

La imagen que aparece a continuación muestra que la inserción de cuatro filas se ha realizado correctamente.

Panel de mensajes que confirma la inserción de cuatro filas en la tabla Curso.

Paso 3) Utilice la instrucción SELECT para ver los datos. Para ver los datos en SQL Server, utilice la siguiente sintaxis:

SELECT expression
FROM tableName
[WHERE condition];

Consulta de ejemplo:

SELECT * FROM COURSE;

La tabla se creó y ahora contiene cuatro registros. Tenga en cuenta que puede crear registros con un valor duplicado en cualquiera de las columnas, porque no hay restricciones.

Cuadrícula de resultados que muestra las cuatro filas de cursos devueltas por SELECT

T-SQL: Crear una nueva tabla a partir de una tabla existente.

Supongamos que desea otra tabla similar a la tabla COURSE creada anteriormente, pero solo necesita la columna Course_Name y no Course_ID.

Sintaxis:

SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;

Consulta de ejemplo:

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

Paso 1) Ejecute la consulta haciendo clic en Ejecutar. Se creará una nueva tabla llamada COURSE_NAMES con una columna y cuatro registros copiados de la tabla anterior, como se muestra a continuación.

Nueva tabla COURSE_NAMES creada a partir de una tabla existente mediante SELECT INTO

Consulta de ejemplo:

SELECT * FROM COURSE_NAMES;

El resultado que se muestra a continuación enumera los cuatro registros Course_Name en la nueva tabla COURSE_NAMES.

Cuadrícula de resultados que muestra los valores de Course_Name en la tabla COURSE_NAMES.

Usando el Diseñador de tablas

También puedes crear una tabla a partir de la SQL Server Management Studio IDE que utiliza el Diseñador de tablas.

Paso 1) Haga clic con el botón derecho en Tabla > Nuevo > Tabla, como se muestra a continuación.

Haga clic con el botón derecho en Tabla, luego en Nuevo y, a continuación, en Tabla en el Explorador de objetos.

Paso 2) Ingrese los nombres de las columnas y tipos de datosy elige si cada columna permite valores nulos.

Barra de herramientas del Diseñador de tablas para definir una nueva tabla.

Cuadrícula del diseñador de tablas con nombres de columnas, tipos de datos y opciones para permitir valores nulos.

Paso 3) Pulse CTRL+S para guardar la tabla e introduzca el nombre como Course_Title.

Seleccione el cuadro de diálogo Nombre para guardar la nueva tabla como Course_Title.

Tras hacer clic en Actualizar, aparece la nueva tabla con el nombre Course_Title y una columna llamada Course_Name, como se muestra a continuación.

Tabla Course_Title con una única columna Course_Name en el Explorador de objetos

Modificar tabla en SQL Server

Existen dos maneras de modificar una tabla en SQL Server:

  • T-SQL: modifica la tabla añadiendo nuevas columnas.
  • Usando el Diseñador de Tablas.

T-SQL: alterar la tabla insertando columnas

A continuación se muestra la sintaxis del comando ALTER en SQL:

Sintaxis:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

consulta:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

Paso 1) Ejecute la consulta haciendo clic en Ejecutar. Ahora existe una nueva columna llamada Course_Duration en la tabla Course_Title, como se muestra a continuación.

Sentencia ALTER TABLE ADD que agrega la columna Course_Duration

Columnas Course_Title, incluida la columna Course_Duration recientemente añadida.

Usando el Diseñador de tablas

También puede modificar una tabla desde la interfaz de usuario utilizando el Diseñador de tablas.

Paso 1) Haga clic con el botón derecho en la tabla existente > Diseño, como se muestra a continuación.

Haga clic con el botón derecho en la tabla Course_Title y seleccione Diseño.

Paso 2) Agregue el nombre de columna como Course_Start_Date y seleccione su tipo de datos.

Agregar la columna Course_Start_Date y su tipo de datos en el Diseñador de tablas.

Paso 3) Pulse CTRL+S para guardar la columna recién añadida. Se creará una nueva columna llamada Course_Start_Date en la tabla Course_Title, como se muestra a continuación.

Tabla Course_Title que muestra la columna Course_Start_Date guardada.

Eliminar tabla en SQL Server

Se elimina una tabla cuando ya no es necesaria.

Existen dos maneras de eliminar una tabla en SQL Server:

  • Utilizando SQL Server Management Studio.
  • T-SQL: elimina la tabla con DROP TABLE.

Uso de SQL Server Management Studio

Paso 1) Haga clic con el botón derecho en la tabla existente > Eliminar, para la tabla llamada Course_Title, como se muestra a continuación.

Haz clic con el botón derecho en la tabla Course_Title y selecciona Eliminar.

Paso 2) En la ventana Eliminar objeto, haga clic en Aceptar.

Ventana de confirmación para eliminar objeto con el botón Aceptar

La tabla Course_Title se ha eliminado de la lista de tablas, como se muestra a continuación.

Lista de tablas del Explorador de objetos después de eliminar la tabla Course_Title.

T-SQL: Eliminar tabla

A continuación se muestra la sintaxis para eliminar una tabla.

Sintaxis:

DROP TABLE <tableName>;

El parámetro tableName es el nombre de la tabla que se va a eliminar.

consulta:

DROP TABLE COURSE_NAMES;

Paso 1) Ejecute la consulta haciendo clic en Ejecutar. La tabla COURSE_NAMES se eliminará de la lista de tablas, como se muestra a continuación.

Instrucción DROP TABLE que elimina la tabla COURSE_NAMES.

Lista de tablas del Explorador de objetos después de eliminar la tabla COURSE_NAMES

Como alternativa, el código fuente muestra un comando DELETE TABLE destinado a eliminar solo las filas (datos) sin alterar la estructura de la tabla, de modo que esta pueda reutilizarse posteriormente.

Sintaxis:

DELETE TABLE <Table name>;

Nota: En T-SQL estándar, las filas se eliminan con DELETE FROM <table>y una mesa se vacía rápidamente con TRUNCATE TABLE <table>; la tabla completa se elimina con DROP TABLE, como se muestra arriba.

¡Datos interesantes!

  • Los archivos grandes como XML o imágenes se pueden almacenar en una columna utilizando tipos de datos de objetos grandes como VARBINARY(MAX), VARCHAR(MAX) o el tipo XML (SQL Server no utiliza el Oracle-nombres BLOB y CLOB al estilo).
  • DELETE elimina solo filas y puede revertirse dentro de una transacción, mientras que DROP elimina toda la estructura de la tabla; en SQL Server, incluso DROP puede revertirse cuando se ejecuta dentro de una transacción explícita.

Preguntas Frecuentes

DELETE elimina las filas seleccionadas y se registra completamente. TRUNCATE elimina rápidamente todas las filas y restablece los valores de identidad. DROP elimina la tabla completa, sus datos y su estructura. En SQL Server, las tres operaciones se pueden revertir dentro de una transacción explícita.

Utilice DROP TABLE IF EXISTS table_name, disponible desde SQL Server 2016. Elimina la tabla si existe y no hace nada si no existe, evitando así un error. En versiones anteriores, compruebe OBJECT_ID antes de eliminar la tabla.ping.

SQL Server no tiene una instrucción para renombrar tablas. En su lugar, ejecute el procedimiento almacenado del sistema sp_rename; por ejemplo, EXEC sp_rename 'old_name', 'new_name'. Actualice las vistas, los procedimientos y el código dependientes posteriormente, ya que sp_rename no modifica automáticamente esas referencias.

Sí. El comando ALTER TABLE table ALTER COLUMN column new_type cambia el tipo de datos de una columna, y ALTER TABLE table DROP COLUMN column la elimina. El cambio solo se realiza correctamente si los datos existentes son compatibles, así que pruebe las conversiones y haga una copia de seguridad antes.

Defina restricciones dentro de CREATE TABLE, como Course_ID INT PRIMARY KEY, o agréguelas posteriormente con ALTER TABLE ADD CONSTRAINT. clave principal refuerza la singularidad, mientras que un clave extranjera Vincula filas entre tablas.

Una tabla temporal, cuyo nombre comienza con el prefijo #, se crea en tempdb y se elimina automáticamente al finalizar la sesión. Una tabla normal es permanente hasta que se elimina. Las tablas temporales son adecuadas para resultados intermedios de corta duración dentro de un lote o procedimiento.

Sí. Copiloto de GitHub Puede generar scripts para crear, modificar y eliminar tablas a partir de indicaciones en lenguaje natural, y sugerir columnas, tipos de datos y restricciones. Siempre revise el esquema, las claves y la posibilidad de valores nulos generados antes de ejecutarlo en producción.

Las herramientas de IA y aprendizaje automático recomiendan estructuras de tablas, tipos de datos e índices a partir de datos de muestra y patrones de consulta, señalan columnas redundantes o de tamaño excesivo y advierten sobre operaciones DROP o ALTER riesgosas. El desarrollador confirma cada sugerencia antes de aplicarla.

Resumir este post con: