Cómo crear una tabla en MySQL desde cero
Actualizado: abril 2026 · 6 min de lectura
Crear una tabla es uno de los primeros pasos al trabajar con bases de datos. En MySQL (y en cualquier base de datos SQL) se usa la sentencia CREATE TABLE para definir la estructura de una tabla: sus columnas, tipos de datos y restricciones.
Sintaxis básica de CREATE TABLE
CREATE TABLE nombre_tabla ( columna1 tipo_dato restricciones, columna2 tipo_dato restricciones, columna3 tipo_dato restricciones );
Ejemplo básico: Crear una tabla de clientes
CREATE TABLE clientes ( id INT, nombre VARCHAR(100), email VARCHAR(100), ciudad VARCHAR(50), fecha_registro DATE );
Tipos de datos más comunes en MySQL
| Tipo de dato | Descripción | Ejemplo |
|---|---|---|
INT |
Número entero | 1, 100, -5 |
DECIMAL(p,s) |
Número decimal con precisión | 1200.50 |
VARCHAR(n) |
Texto de longitud variable | 'Ana García' |
TEXT |
Texto largo | Descripciones largas |
DATE |
Fecha (YYYY-MM-DD) | '2026-04-14' |
DATETIME |
Fecha y hora | '2026-04-14 10:30:00' |
BOOLEAN |
Verdadero o falso | TRUE, FALSE |
Crear tabla con clave primaria
La clave primaria identifica de forma única cada registro. Se recomienda siempre definirla:
CREATE TABLE productos ( id INT PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(100) NOT NULL, precio DECIMAL(10,2) NOT NULL, stock INT DEFAULT 0 );
💡 AUTO_INCREMENT hace que MySQL asigne automáticamente el ID. NOT NULL obliga a que el campo tenga valor. DEFAULT 0 asigna 0 si no se especifica un valor.
Crear tabla con IF NOT EXISTS
Para evitar errores si la tabla ya existe, usa IF NOT EXISTS:
CREATE TABLE IF NOT EXISTS productos ( id INT PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(100) NOT NULL, precio DECIMAL(10,2) );
¿Cómo generar CREATE TABLE automáticamente desde un CSV?
Si tienes los datos en un archivo CSV o Excel, no necesitas escribir el CREATE TABLE manualmente. Una herramienta generadora de SQL analiza las columnas y tipos de datos del archivo y crea el script por ti.
Genera CREATE TABLE desde tu archivo
Sube tu CSV, Excel o TXT y obtén el CREATE TABLE listo para ejecutar en MySQL, SQL Server, PostgreSQL u Oracle.
Generar CREATE TABLE gratis →CREATE TABLE en otros motores de bases de datos
SQL Server
CREATE TABLE empleados ( id INT IDENTITY(1,1) PRIMARY KEY, nombre VARCHAR(100) NOT NULL, salario DECIMAL(18,2) );
PostgreSQL
CREATE TABLE empleados ( id SERIAL PRIMARY KEY, nombre VARCHAR(100) NOT NULL, salario DECIMAL(18,2) );
Oracle
CREATE TABLE empleados ( id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, nombre VARCHAR2(100) NOT NULL, salario NUMBER(18,2) );
Conclusión
Crear tablas en MySQL es sencillo una vez que dominas la sintaxis de CREATE TABLE y los tipos de datos disponibles. Para proyectos donde tienes datos en archivos CSV o Excel, generar el CREATE TABLE automáticamente te ahorra tiempo y reduce errores.