Crear Tablas en SQL: Guía Completa para principiantes y expertos

Crear Tablas en SQL: Una Guía Completa

Este tutorial te guiará a través del proceso de crear tablas en SQL, un componente fundamental de cualquier Sistema de Gestión de Bases de Datos Relacionales (RDBMS). Aprenderás a utilizar el comando CREATE TABLE para definir la estructura de tus tablas, especificando las columnas y sus tipos de datos.

El Comando CREATE TABLE

El comando CREATE TABLE es la herramienta esencial para crear una tabla en SQL. Este comando te permite definir el nombre de la tabla, las columnas que la componen, sus tipos de datos y restricciones adicionales. Una tabla se define como una colección de datos organizada en filas y columnas. Cada columna representa un atributo específico de los datos almacenados, mientras que cada fila representa un registro individual.

Sintaxis Básica

La sintaxis básica para crear una tabla en SQL es la siguiente:

sql
CREATE TABLE table_name (
column1 data_type,
column2 data_type,
...
columnN data_type
);

  • table_name: El nombre que le das a la nueva tabla.
  • column1, column2, … columnN: Los nombres de las columnas que se crearán en la tabla.
  • data_type: El tipo de dato que se almacenará en cada columna (por ejemplo, INT, VARCHAR, DATE, DECIMAL).

Ejemplo Práctico

Supongamos que queremos crear una tabla llamada empleados para almacenar información sobre los empleados de una empresa. La tabla tendrá las siguientes columnas:

  • id: Un número entero que identifica de forma única a cada empleado.
  • nombre: El nombre del empleado.
  • apellido: El apellido del empleado.
  • salario: El salario del empleado.
  • fecha_contratacion: La fecha en que el empleado fue contratado.
LEER:  Teoría de Grafos: Conjuntos Independientes, Máximos y Maximales

El código SQL para crear esta tabla sería:

sql
CREATE TABLE empleados (
id INT,
nombre VARCHAR(255),
apellido VARCHAR(255),
salario DECIMAL(10,2),
fecha_contratacion DATE
);

Tipos de Datos en SQL

Para crear una tabla en SQL, es esencial comprender los diferentes tipos de datos disponibles. Cada tipo de dato define el rango de valores que se pueden almacenar en una columna, así como su formato. Algunos de los tipos de datos más comunes son:

  • INT: Números enteros.
  • VARCHAR: Cadenas de texto con una longitud máxima especificada.
  • DATE: Fechas.
  • DECIMAL: Números decimales.
  • BOOLEAN: Valores booleanos (TRUE o FALSE).

Ejemplo de Tipos de Datos

sql
CREATE TABLE productos (
id INT,
nombre VARCHAR(255),
precio DECIMAL(10,2),
fecha_vencimiento DATE
);

En este ejemplo, la columna id es un número entero (INT), nombre es una cadena de texto con un máximo de 255 caracteres (VARCHAR(255)), precio es un número decimal (DECIMAL(10,2)) con un máximo de 10 dígitos y 2 decimales, y fecha_vencimiento es una fecha (DATE).

Restricciones en SQL

Las restricciones son reglas que se pueden aplicar a las columnas de una tabla para garantizar la integridad de los datos. Algunos tipos comunes de restricciones incluyen:

  • PRIMARY KEY: Identifica de forma única cada fila de la tabla. Solo puede haber una columna PRIMARY KEY por tabla.
  • UNIQUE: Impide que se repitan los valores en una columna.
  • NOT NULL: Impide que una columna tenga valores nulos.
  • FOREIGN KEY: Crea una relación entre dos tablas, asegurando la integridad referencial.

Ejemplo de Restricciones

sql
CREATE TABLE empleados (
id INT PRIMARY KEY,
nombre VARCHAR(255) NOT NULL,
apellido VARCHAR(255) NOT NULL,
salario DECIMAL(10,2),
fecha_contratacion DATE,
departamento_id INT,
FOREIGN KEY (departamento_id) REFERENCES departamentos(id)
);

En este ejemplo, la columna id es la clave principal (PRIMARY KEY), lo que garantiza que cada empleado tenga un identificador único. Las columnas nombre y apellido no pueden ser nulas (NOT NULL). La columna departamento_id es una clave foránea (FOREIGN KEY) que hace referencia a la tabla departamentos, asegurando que cada empleado esté asociado con un departamento válido.

LEER:  Redondeo de Números en Java: Guía Completa del Método round()

Crear una Tabla con Datos

Es posible crear una nueva tabla con datos existentes utilizando la combinación de CREATE TABLE y SELECT. Esta técnica te permite copiar la estructura y los datos de una tabla existente a una nueva tabla.

sql
CREATE TABLE nueva_tabla AS
SELECT * FROM tabla_original;

Comprobar la Estructura de la Tabla

Después de crear una tabla en SQL, puedes verificar su estructura utilizando el comando DESC (o DESCRIBE). Este comando te muestra los nombres de las columnas, los tipos de datos y las restricciones de la tabla.

sql
DESC table_name;

Crear una Tabla Existente

En algunos casos, puedes necesitar crear una tabla que ya existe, pero con algunos cambios en la estructura. Puedes utilizar el comando CREATE TABLE IF NOT EXISTS para evitar errores si la tabla ya existe.

sql
CREATE TABLE IF NOT EXISTS table_name (
column1 data_type,
column2 data_type,
...
columnN data_type
);

Este comando creará la tabla solo si no existe.

Modificar Tablas Existentes

Si necesitas modificar una tabla en SQL después de haberla creado, puedes utilizar el comando ALTER TABLE. Este comando te permite agregar nuevas columnas, eliminar columnas existentes, modificar los tipos de datos de las columnas y actualizar las restricciones.

sql
ALTER TABLE table_name
ADD column_name data_type;

sql
ALTER TABLE table_name
DROP COLUMN column_name;

sql
ALTER TABLE table_name
MODIFY column_name data_type;

Eliminar Tablas Existentes

Si necesitas eliminar una tabla en SQL, puedes utilizar el comando DROP TABLE.

sql
DROP TABLE table_name;

Ten en cuenta: Este comando eliminará la tabla y todos los datos que contiene de forma permanente.

LEER:  os.walk() en Python: Recorrer Directorios con Eficiencia

Conclusión

En este tutorial, hemos explorado el proceso de crear tablas en SQL, incluyendo la sintaxis básica del comando CREATE TABLE, los tipos de datos, las restricciones, la creación de tablas con datos existentes y la verificación de la estructura de la tabla. Con esta guía, estarás equipado para crear tablas de forma eficiente y precisa en tu sistema de gestión de bases de datos. ¡Practica estos conceptos y comienza a construir tu base de datos!