Creación de Tablas (CREATE TABLE) y Restricciones
Aprende a diseñar esquemas robustos con CREATE TABLE, domina los tipos de datos fundamentales en MySQL y aplica restricciones de integridad como PRIMARY KEY, NOT NULL, UNIQUE y DEFAULT.
Lenguaje DDL y Sintaxis de CREATE TABLE
La sentencia CREATE TABLE pertenece al subconjunto DDL (Data Definition Language) de SQL y se utiliza para crear una nueva tabla vacía en la base de datos definiendo el nombre de cada columna, su tipo de dato y sus reglas de integridad.
CREATE TABLE instructores (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
email VARCHAR(150) NOT NULL UNIQUE,
especialidad VARCHAR(80) DEFAULT 'Desarrollo Web',
salario_hora DECIMAL(8, 2) NOT NULL,
activo TINYINT(1) DEFAULT 1,
creado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Tipos de Datos Clave en MySQL
| Categoría | Tipo | Uso y Descripción |
|---|---|---|
| Numéricos | INT / BIGINT |
Números enteros para identificadores, contadores y cantidades. |
| Decimales | DECIMAL(M, D) |
Valores monetarios exactos sin pérdidas de precisión por coma flotante (ej: DECIMAL(10,2)). |
| Texto | VARCHAR(N) |
Cadenas de longitud variable de hasta N caracteres (ahorra espacio). |
| Texto Largo | TEXT / MEDIUMTEXT |
Artículos, descripciones extensas y bloques JSON o HTML. |
| Fechas | DATETIME / TIMESTAMP |
Fechas y horas con zona horaria o marcas temporales de auditoría. |
Restricciones de Integridad (Constraints)
PRIMARY KEY: Identifica de forma única cada fila; no admite nulos ni duplicados.NOT NULL: Impide que una columna almacene valores vacíos o nulos.UNIQUE: Garantiza que no existan dos filas con el mismo valor en dicha columna (por ejemplo, correos electrónicos).DEFAULT: Asigna un valor predeterminado si el comandoINSERTno especifica uno.CHECK: Valida una condición lógica antes de admitir el registro (ej:CHECK (edad >= 18)).
⚡ Inspección de Esquema y Metadatos de Tabla
Consulta la estructura y tipos de datos del catálogo de cursos de la academia:
-- Inspeccionar columnas, tipos de datos y restricciones del catálogo de cursos
PRAGMA table_info(cursos);
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual Completo de SQL & MySQL y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.