Tema 5 · Tipos de Datos

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.

Diseño Visual de Tablas y Tipos de Datos en phpMyAdmin

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:

tabla-productos.sql
Solo lectura
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
1 Pregunta
Pregunta 1
¿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.