Latest web development tutorials

Types de données MySQL

MySQL définitions de type de données dans le domaine de l'optimisation de votre base de données est très importante.

MySQL supporte de nombreux types peuvent être divisés en trois catégories: numérique, date / heure et chaîne (caractères) types.


type de valeur

MySQL supporte tous les types de données standard SQL numériques.

Ces types comprennent les types stricts numériques de données (INTEGER, SMALLINT, DECIMAL et NUMERIC), ainsi que les types de données numériques approximatives (float, real et double precision).

Mot-clé INT est un synonyme de INTEGER, et le mot clé décembre est synonyme de DECIMAL.

BIT magasins de type de données des valeurs bit-terrain et soutient MyISAM, MEMORY, tables InnoDB et BDB.

Comme le standard SQL, MySQL supporte aussi les types entiers TINYINT, MEDIUMINT et BIGINT. Le tableau suivant présente le stockage et la gamme pour chaque type entier requis.

type taille Range (Signé) Range (non signé) utilisation
TINYINT 1 octet (-128.127) (0255) petites valeurs entières
SMALLINT 2 octets (768,32 -32 767) (535 0,65) valeur entière
MEDIUMINT 3 octets (-8388 608,8 388 607) (0,16 777215) valeur entière
INT ou INTEGER 4 octets (-2 147 483 648,2 147 483 647) (0,4 294 967 295) valeur entière
BIGINT 8 octets (-9.233.372.036.854.775 808,9 223.372.036.854.775 807) (0,18 446.744.073.709.551 615) Valeur maximale entier
FLOAT 4 octets (-3,402 823 466 E + 38,1.175 494 351 E-38), 0, (1.175 494 351 E-38,3.402 823 466 351 E + 38) 0, (1.175 494 351 E-38,3.402 823 466 E + 38) Simple précision valeurs à virgule flottante
DOUBLE 8 octets (1.797 693 134 862 315 7 E + 308,2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) 0, (2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) Double-precision valeurs à virgule flottante
DECIMAL De DECIMAL (M, D), si M> D, M + 2 est par ailleurs D + 2 Cela dépend des valeurs de M et D Cela dépend des valeurs de M et D valeur décimale

Date et heure Types

Il indique la date et l'heure pour le type de la valeur temporelle de DATETIME, DATE, TIMESTAMP, TIME, et YEAR.

Chaque type a une plage de valeurs valides temps et une valeur "zéro", utiliser la valeur "zéro" lorsque la valeur de l'MySQL illégale spécifiée ne peut pas être représenté.

Type TIMESTAMP a breveté fonctionnalité de mise à jour automatique, qui sera décrit plus tard.

type taille
(Byte)
portée format utilisation
DATE 3 01.01.1000 / 9999-12-31 AAAA-MM-JJ Les valeurs de date
TIME 3 '-838: 59: 59' / '838: 59: 59' HH: MM: SS Valeur temps ou la durée
ANNÉE 1 1901/2155 AAAA Année Valeur
DATETIME 8 1000-01-0100: 00: 00 / 9999-12-31 23:59:59 AAAA-MM-JJ HH: MM: SS Mixage valeurs date et heure
TIMESTAMP 4 Parfois 00/2037 Année: 1970-01-01 00:00 AAAAMMJJ HHMMSS Date de mélange et la valeur temps, un horodatage

type String

Il se réfère à un CHAR de type chaîne, VARCHAR, BINARY, BLOB, TEXT, ENUM et SET. Cette section décrit comment ces types fonctionnent et comment utiliser ces types dans la requête.

type taille utilisation
CHAR 0-255 octets chaîne longueur fixe
VARCHAR 0-65535 octets chaînes de longueur variable
TINYBLOB 0-255 octets Pas plus de 255 caractères dans une chaîne binaire
TINYTEXT 0-255 octets Courtes chaînes de texte
BLOB 0-65535 octets données textuelles longues sous forme binaire
TEXTE 0-65535 octets Longue données de texte
MEDIUMBLOB 0-16777215 octets forme binaire de longueur moyenne des données de texte
MEDIUMTEXT 0-16777215 octets longueur moyenne des données de texte
LONGBLOB 0-4294967295 octets Grands données de texte sous forme binaire
LONGTEXT 0-4294967295 octets Grande données de texte

CHAR similaires et le type VARCHAR, mais ils économisent et récupérer de différentes façons. Leur longueur maximale et si les espaces de fin sont conservés, il est également différent. Stockage ou d'un processus de récupération, sans conversion de cas.

Type BINARY et VARBINARY est similaire à CHAR et VARCHAR, sauf qu'ils contiennent des chaînes binaires plutôt que des chaînes non-binaires. Autrement dit, ils contiennent des chaînes d'octets plutôt que des chaînes de caractères. Cela signifie qu'ils ont aucun jeu de caractères, et le tri et la comparaison sont basées sur les valeurs numériques des octets.

BLOB est un grand objet binaire qui peut contenir une quantité variable de données. Il existe quatre types BLOB: TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB. Ils diffèrent seulement accueillir la valeur maximale de la longueur.

Il existe quatre types TEXT: TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT. Ceux-ci correspondent aux quatre sortes de type BLOB, ont la même longueur maximale et les exigences de stockage.