Diseño Visual de Tablas: Tipos de Datos (INT, VARCHAR, DECIMAL, DATETIME)
Aprende a diseñar tablas en phpMyAdmin eligiendo los tipos de datos exactos: enteros, textos variables, decimales exactos para dinero y marcas de tiempo.
La Pantalla de Creación de Tablas en phpMyAdmin
Al seleccionar una base de datos, phpMyAdmin te pide el Nombre de la tabla (ej. productos) y el Número de columnas (ej. 6). Al pulsar Continuar, se despliega la cuadrícula interactiva de modelado.
Guía Rápida de Tipos de Datos Esenciales
| Tipo SQL | Uso Recomendado | Atributos Críticos | Regla de Oro |
|---|---|---|---|
INT / BIGINT |
Identificadores únicos (IDs), conteos, edades. | Marcar UNSIGNED (solo positivos de 0 a 4,294,967,295). |
Para llaves primarias combina siempre INT UNSIGNED con la casilla A_I. |
VARCHAR(N) |
Nombres, correos, títulos, contraseñas hash. | Definir longitud máxima (ej. VARCHAR(150) o 255). |
Solo consume el espacio real que ocupan los caracteres ingresados. |
TEXT |
Artículos de blog, descripciones extensas, payloads JSON. | No requiere longitud. | No admite valores predeterminados en versiones antiguas de MySQL. |
DECIMAL(M, D) |
Precios, saldos, transacciones financieras. | DECIMAL(10,2) (10 dígitos en total, 2 decimales). |
¡NUNCA uses FLOAT ni DOUBLE para dinero! Sufren errores de redondeo de coma flotante. |
DATETIME |
Fechas de creación, cumpleaños, agendas. | Predeterminado: CURRENT_TIMESTAMP. |
Formato universal inmutable: YYYY-MM-DD HH:MM:SS. |
¿Qué es la Casilla "Nulo" (NULL)?
Si marcas la casilla Nulo, le indicas a la base de datos que esa columna puede quedar vacía (sin valor). Si la dejas desmarcada (NOT NULL), el motor rechazará cualquier inserción que no provea un dato para esa columna.
⚡ Sentencia DDL de Tabla Generada en phpMyAdmin
Código SQL estándar resultante del diseño de una tabla de productos:
CREATE TABLE `productos` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(150) NOT NULL,
`descripcion` TEXT NULL,
`precio` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
`stock` INT UNSIGNED NOT NULL DEFAULT '0',
`activo` TINYINT(1) NOT NULL DEFAULT '1',
`creado_en` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿Por qué en aplicaciones de comercio electrónico y facturación se debe utilizar el tipo "DECIMAL(10,2)" en lugar de "FLOAT" para almacenar precios y saldos monetarios?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual de phpMyAdmin: Gestión de Bases de Datos 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.