{"id":5299,"date":"2026-01-19T16:42:56","date_gmt":"2026-01-19T15:42:56","guid":{"rendered":"https:\/\/sutilweb.eu\/?page_id=5299"},"modified":"2026-01-19T16:42:57","modified_gmt":"2026-01-19T15:42:57","slug":"35-tipos-de-datos-en-mysql","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/php\/php-practico\/35-tipos-de-datos-en-mysql\/","title":{"rendered":"35 Tipos de datos en MySQL"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo vamos a hablar sobre los tipos de datos que podemos almacenar en <strong>MySQL.<\/strong> Los <strong>sistemas relacionales<\/strong> se caracterizan por agrupar informaci\u00f3n en conjunto. Se puede almacenar pr\u00e1cticamente cualquier tipo de informaci\u00f3n. Cada dato que se almacena en una tabla se identifica como un nombre de campo y se caracteriza con un tipo de dato, que indica que caracter\u00edsticas tiene la informaci\u00f3n en ese campo, y as\u00ed, el sistema gestor de base de datos relacional optimiza el almacenamiento y el acceso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL nos permite almacenar una gran cantidad de tipos de datos, los cuales se pueden dividir en 3 secciones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Datos num\u00e9ricos<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>TINYING:<\/strong> enteros muy peque\u00f1os con o sin signo, con signo desde -128 hasta 127, y sin signo desde 0 hasta 255. Es muy \u00fatil por ejm para almacenar la edad de una persona, ya que ninguna persona va a vivir 255 a\u00f1os. Este tipo de dato ocupa en memoria 1 byte<\/li>\n\n\n\n<li><strong>SMALLINT:<\/strong> enteros peque\u00f1os con o sin signo, con signo desde -32.768 hasta 32.767, sin signo desde 0 hasta 65.535. Este tipo de dato ocupa en memoria 2 bytes<\/li>\n\n\n\n<li><strong>MEDIUMINT:<\/strong> enteros de tama\u00f1o medio con o sin signo. Ocupa en memoria 3 bytes<\/li>\n\n\n\n<li><strong>INTEGER:<\/strong> entero est\u00e1ndar con o sin signo. Ocupa en memoria hasta 4 bytes<\/li>\n\n\n\n<li><strong>BIGINT:<\/strong> entero grande con o sin signo. Ocupa en memoria hasta 8 bytes<\/li>\n\n\n\n<li><strong>DECIMAL:<\/strong> valores con decimales con precisi\u00f3n muy exacta. Se definen con precisi\u00f3n y escala. La precisi\u00f3n representa el n\u00famero de d\u00edgitos decimales significativos, y la escala representa el n\u00famero de d\u00edgitos que puede almacenarse a continuaci\u00f3n del mundo decimal. Se usan principalmente en c\u00e1lculos cient\u00edficos, donde la precisi\u00f3n es muy exacta<\/li>\n\n\n\n<li><strong>NUMERIC:<\/strong> igual que el decimal<\/li>\n\n\n\n<li><strong>FLOAT:<\/strong> tipos num\u00e9ricos aproximados en coma flotante, se puede indicar precisi\u00f3n (de 4 a 8 bytes). En este tipo la precisi\u00f3n no es tan relevante<\/li>\n\n\n\n<li><strong>DOUBLE:<\/strong> valores en punto flotante con doble precisi\u00f3n (8 bytes), permite almacenar mayor cantidad de decimales<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Datos fecha<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>DATE:<\/strong> formato <strong><em>YYYY-MM-DD<\/em><\/strong>, primero debemos colocar el a\u00f1o con 4 d\u00edgitos, seguido de un guion, posteriormente colocar el mes seguido de un guion, y por \u00faltimo colocar el d\u00eda. Otra opci\u00f3n es sustituir el guion por un slash (\/). Las fechas v\u00e1lidas van desde el <strong><em>1000-01-01<\/em><\/strong> hasta el <strong><em>9999-12-31<\/em><\/strong>. Este tipo de dato ocupar\u00e1 en memoria 3 bytes<\/li>\n\n\n\n<li><strong>TIME:<\/strong> formato HH:MM:SS. El espacio que ocupar\u00e1 en memoria es de 3 bytes<\/li>\n\n\n\n<li><strong>DATETIME:<\/strong> formato <strong><em>YYYY-MM-DD HH:MM:SS<\/em><\/strong>. Este tipo de dato ocupar\u00e1 8 bytes<\/li>\n\n\n\n<li>TIMESTAMP: es igual que el\u00a0tipo DATETIME, y la diferencia es el rango de las fechas que almacenaremos, que van desde <strong><em>1970-01-01 00:00:00<\/em><\/strong> hasta <strong><em>2037-12-31 23:59:59<\/em><\/strong>. Este tipo de dato ocupar\u00e1 en memoria 4 bytes<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cadenas de texto<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>CHAR(n):<\/strong> cadena de caracteres con longitud fija de n bytes. Los valores ir\u00e1n de 1 hasta 255. Ocupar\u00e1 el espacio especificado siempre<\/li>\n\n\n\n<li><strong>VARCHAR:<\/strong> cadena de caracteres con longitud variable. Se trata de un tipo de dato mucho m\u00e1s \u00f3ptimo y recomendable a la hora de almacenar string. Los valores van desde 1 hasta 255, almacenar\u00e1 el valor que necesite, sin ocupar el espacio total especificado, por lo que si almacenamos 13 caracteres, utilizar\u00e1 tan s\u00f3lo 13+1 bytes de memoria, y no los n caracteres que hayamos podido especificar<\/li>\n\n\n\n<li><strong>TEXT:<\/strong> texto con una longitud m\u00e1xima de 65.535 (longitud + 2 bytes)<\/li>\n\n\n\n<li><strong>MEDIUMTEXT:<\/strong> permiten almacenar mas caracteres que el tipo de dato <strong>TEXT<\/strong><\/li>\n\n\n\n<li><strong>LONGTEXT:<\/strong> permite almacenar m\u00e1s caracteres que el tipo de dato <strong>MEDIUMTEX<\/strong><\/li>\n\n\n\n<li><strong>BLOB:<\/strong> objeto binario con longitud variable<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para el tipo n\u00famero, en la mayor\u00eda de los casos vamos a utilizar el tipo de dato <strong>INTEGER&nbsp;<\/strong>y a veces vamos a utilizar el tipo <strong>TINYINT<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este cap\u00edtulo vamos a hablar sobre los tipos de datos que podemos almacenar en MySQL. Los sistemas relacionales se caracterizan por&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4518,"menu_order":34,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-5299","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"En este cap\u00edtulo vamos a hablar sobre los tipos de datos que podemos almacenar en MySQL. Los sistemas relacionales se caracterizan por...","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=5299"}],"version-history":[{"count":2,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5299\/revisions"}],"predecessor-version":[{"id":5301,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5299\/revisions\/5301"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/4518"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=5299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}