TABLE en SQL: qué es, cómo funciona y ejemplos prácticos

En SQL, una tabla (TABLE) es la unidad básica de almacenamiento de datos en una base de datos relacional.
Está compuesta por filas (registros) y columnas (campos), donde cada fila representa una instancia de datos y cada columna representa un atributo.

👉 En términos simples: una tabla es como una hoja de cálculo, donde las columnas son los encabezados y las filas son los datos.

Estructura de una tabla en SQL

Una tabla está compuesta por:

  • Nombre de tabla → identificador único dentro de la base de datos.
  • Columnas (campos) → definen los atributos (ej. nombre, edad, salario).
  • Filas (registros) → representan instancias de datos.
  • Restricciones → reglas aplicadas a las columnas (ej. PRIMARY KEY, NOT NULL).

Ejemplo de tabla clientes:

idnombreemailciudad
1Anaana@mail.comMadrid
2Luisluis@mail.comBarcelona
3Carlacarla@mail.comMadrid

Crear una tabla con CREATE TABLE

La sentencia CREATE TABLE define una nueva tabla:

CREATE TABLE clientes (
  id INT PRIMARY KEY,
  nombre VARCHAR(100) NOT NULL,
  email VARCHAR(150) UNIQUE,
  ciudad VARCHAR(100)
);

👉 Aquí se crean columnas con tipos de datos y restricciones básicas.

Insertar datos en una tabla

Para agregar filas usamos INSERT INTO:

INSERT INTO clientes (id, nombre, email, ciudad)
VALUES (1, 'Ana', 'ana@mail.com', 'Madrid');

👉 Agrega una fila a la tabla clientes.

Consultar datos de una tabla con SELECT

SELECT * FROM clientes;

👉 Devuelve todas las filas y columnas de la tabla. Explicado en detalle en la sección de SELECT.

Ejemplo con columnas específicas:

SELECT nombre, ciudad FROM clientes;

Modificar una tabla con ALTER TABLE

Podemos agregar, eliminar o modificar columnas:

ALTER TABLE clientes ADD COLUMN telefono VARCHAR(20);

👉 Agrega una columna telefono a la tabla. Más sobre ALTER TABLE.

Eliminar una tabla con DROP TABLE

DROP TABLE clientes;

👉 Borra la tabla y todos sus datos de manera permanente. Explicado en DROP TABLE.

Tipos de tablas en SQL

  1. Tablas permanentes → las comunes, almacenan datos de manera persistente.
  2. Tablas temporales → existen solo durante la sesión de usuario o transacción. CREATE TEMPORARY TABLE temp_ventas AS SELECT * FROM ventas WHERE fecha >= '2025-01-01';
  3. Tablas derivadas (subqueries en FROM) → resultado de una subconsulta que actúa como tabla temporal.
  4. Tablas particionadas → se dividen en fragmentos para mejorar rendimiento en grandes volúmenes de datos.
  5. Vistas (views) → no son tablas reales, sino consultas almacenadas que se comportan como tablas.

Ejemplo práctico: sistema de pedidos

clientes

CREATE TABLE clientes (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  ciudad VARCHAR(100)
);

pedidos

CREATE TABLE pedidos (
  id INT PRIMARY KEY,
  cliente_id INT,
  total DECIMAL(10,2),
  fecha DATE,
  FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);

👉 Aquí clientes y pedidos son tablas relacionadas mediante una clave foránea.

Restricciones comunes en tablas

  • PRIMARY KEY → identifica de forma única cada fila.
  • FOREIGN KEY → mantiene integridad referencial entre tablas.
  • NOT NULL → evita valores nulos en la columna.
  • UNIQUE → asegura que los valores sean únicos.
  • CHECK → valida condiciones específicas.
  • DEFAULT → asigna un valor por defecto si no se proporciona.

Ejemplo:

CREATE TABLE empleados (
  id INT PRIMARY KEY,
  nombre VARCHAR(100) NOT NULL,
  salario DECIMAL(10,2) CHECK (salario >= 0),
  activo BOOLEAN DEFAULT TRUE
);

Errores comunes con TABLE en SQL

  1. No definir una clave primaria
    👉 Complica la identificación de registros únicos.
  2. Elegir tipos de datos inadecuados
    👉 Ej. usar VARCHAR(255) para un campo que debería ser INT.
  3. Usar nombres genéricos para tablas
    👉 Ej. llamar datos o tabla1, lo que dificulta el mantenimiento.
  4. Olvidar restricciones
    👉 Permite insertar información inválida (ej. emails duplicados).
  5. Confundir tablas con vistas
    👉 Una vista no almacena datos, solo muestra resultados de una consulta.

Buenas prácticas al crear tablas

  • Usar nombres descriptivos (clientes, productos, pedidos).
  • Definir siempre una clave primaria (PRIMARY KEY).
  • Aplicar restricciones (NOT NULL, CHECK, UNIQUE).
  • Normalizar la base de datos para evitar redundancia.
  • Documentar columnas y su propósito.
  • Planificar índices en columnas usadas en búsquedas.

Casos de uso de TABLE en SQL

  1. Registro de clientes y ventas en un sistema e-commerce.
  2. Gestión de empleados en una empresa.
  3. Control de inventario en almacenes.
  4. Seguimiento de transacciones en sistemas financieros.
  5. Almacenamiento de métricas para análisis de datos.

Tablas en distintos motores de base de datos

  • MySQL / MariaDB → tablas pueden usar distintos motores (InnoDB, MyISAM).
  • PostgreSQL → soporte de tablas particionadas y herencia de tablas.
  • SQL Server → soporte de tablas temporales y tablas con índices agrupados.
  • Oracle → incluye tablas globales temporales y particionadas.
  • SQLite → estructura simple, ideal para aplicaciones ligeras.

Preguntas frecuentes (FAQ)

1. ¿Qué diferencia hay entre una tabla y una vista?
La tabla almacena datos físicamente; la vista es solo una consulta guardada.

2. ¿Una tabla puede no tener clave primaria?
Sí, pero no es recomendable porque dificulta identificar registros únicos.

3. ¿Qué pasa si elimino una tabla con DROP TABLE?
Se borra definitivamente junto con todos sus datos.

4. ¿Puedo crear tablas sin columnas?
No, toda tabla debe tener al menos una columna.

5. ¿Es lo mismo una tabla temporal que una derivada?
No. Una tabla temporal se crea explícitamente, mientras que una derivada es el resultado de una subconsulta.

Conclusión

El concepto de TABLE en SQL es esencial, ya que:

  • Es la estructura básica de almacenamiento de datos.
  • Permite organizar información en filas y columnas.
  • Se puede crear, modificar y eliminar con sentencias DDL (CREATE, ALTER, DROP).
  • Está en el corazón de todas las consultas con SELECT, INSERT, UPDATE y DELETE.

Dominar el manejo de tablas es el primer paso para trabajar con bases de datos relacionales de forma profesional.

Consulta creación, tipos y cambios en CREATE / ALTER TABLE y explora el Glosario SQL completo.

Scroll al inicio