<< Retour au sommaire

 

Les types de champs dans les tables

 

 

 

Le sommaire :

  1. Introduction.
  2. Les types de champs.

 

 

Introduction

 

Lorsque vous déclarez une table, vous devez bien sûr prévoir les différents champs qui la composeront.

En fonction de la nature des données à stocker, vous devez choisir un type pour chacun des champs, ainsi que sa taille.

 

Remarque :

J’ai extrait la liste des types de données directement depuis INTERNET, Je ne suis pas l’auteur des écrits qui suivent…

 

 


Les types de champs

 

Pour les champs de type numérique, l'option « UNSIGNED » va vous permettre d’économiser de la place, mais vous ne pouvez stocker que des valeurs positives.

 

Varchar :

Texte dont la taille est variable selon la taille que vous lui assignez dès sa création. Si par exemple vous choisissez un champ de type varchar de longueur 5, la taille occupée ne sera que d’un seul caractères si vous n’affectez qu’un seul caractère dans le champ. Par contre, vous ne pourrez pas dépasser 5 caractères.

 

TINYINT, [M] [UNSIGNED] :

Occupe 1 octet. Ce type peut stocker des nombres entiers de -128 à 127 si il ne porte pas l'attribut UNSIGNED, dans le cas contraire il peut stocker des entiers de 0 à 255.

 

SMALLINT [M] [UNSIGNED] :

Occupe 2 octets. Ce type de données peut stocker des nombres entiers de -32 768 à 32 767 si il ne porte pas l'attribut UNSIGNED, dans le cas contraire il peut stocker des entiers de 0 à 65 535.

 

 MEDIUMINT [M] [UNSIGNED] :

Occupe 3 octets. Ce type de données peut stocker des nombres entiers de -8 388 608 à 8 388 607 si il ne

Porte pas l'attribut UNSIGNED, dans le cas

contraire il peut stocker des entiers de 0 à 16 777 215.

 

 INT [M] [UNSIGNED] :

Occupe 4 octets. Ce type de données peut stocker des nombres entiers de -2 147 483 648 à 2 147 483 647 si il ne porte pas l'attribut UNSIGNED, dans le cas

contraire il peut stocker des entiers de 0 à 4 294 967 295.

 

 INTEGER [M] [UNSIGNED] :

Identique au type int.

 

BIGINT [M] [UNSIGNED] :

Occupe 8 octets. Ce type de données stocke les nombres entiers allant de -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 sans l'attribut UNSIGNED,

et de 0 à 18 446 744 073 709 551 615 avec.

 

FLOAT (précision simple de 0 à 24 et précision double de 25 à 53) [UNSIGNED] : 

Occupe 4 octets si la précision est inférieure à 24 ou 8 au delà.

Stocke un nombre de type flottant.

 

FLOAT[(M,D)] [UNSIGNED] :

Occupe 4 octets. M est le nombre de chiffres et D est le nombre de décimales.

Ce type de données permet de stocker des nombres flottants à précision simple. Va de -1.175494351E-38 à 3.402823466E+38. Si UNSIGNED est activé, les nombres

négatifs sont retirés mais ne permettent pas d'avoir des nombres positifs plus grands.

 

DOUBLE PRECISION[(M,D)] :

Occupe 8 octets. Identique au type DOUBLE

 

DOUBLE [(M,D)] :

Occupe 8 octets. Stocke des nombres flottants à double précision de -1.7976931348623157E+308 à -2.2250738585072014E-308, 0, et de 2.2250738585072014E-308

à 1.7976931348623157E+308.

Si UNSIGNED est activé, les nombres négatifs sont retirés mais ne permettent pas d'avoir des nombres positifs plus grands.

 

REAL[(M,D)] :

Occupe 8 octets. Identique au type DOUBLE

 

DECIMAL[(M[,D])] :

Occupe M+2 octets si D > 0, M+1 octets si D = 0

Contient des nombres flottants stockés comme des chaînes de caractères.

 

NUMERIC [(M,D)] :

Identique au type DECIMAL

 

DATE :

Occupe 3 octets. Stocke une date au format 'AAAA-MM-JJ' allant de '1000-01-01' à '9999-12-31'

 

DATETIME :

Occupe 8 octets. Stocke une date et une heure au format 'AAAA-MM-JJ HH:MM:SS' allant de '1000-01-01 00:00:00' à '9999-12-31 23:59:59'

 

TIMESTAMP [M] :

Occupe 4 octets. Stocke une date sous forme numérique allant de '1970-01-01 00:00:00' à l'année 2037. L'affichage dépend des valeurs de M : AAAAMMJJHHMMSS,

AAMMJJHHMMSS, AAAAMMJJ, ou AAMMJJ pour M égal respectivement à 14, 12, 8, et 6

 

TIME :

Occupe 3 octets. Stocke l'heure au format 'HH:MM:SS', allant de '-838:59:59' à '838:59:59'

 

YEAR :

Occupe 1 octet. Année à 2 ou 4 chiffres allant de 1901 à 2155 ( 4 chiffres) et de 1970-2069 (2 chiffres).

 

[NATIONAL] CHAR(M) [BINARY] :

Occupe M octets, M allant jusqu'à 255

Chaîne de 255 caractères maximum remplie d'espaces à la fin. L'option BINARY est utilisée pour tenir compte de la casse.

 

BIT :

Occupe 1 octet. Identique à CHAR(1)

 

BOOL :

Occupe 1 octet. Identique à CHAR(1)

 

CHAR (M) :

Occupe M octets. Stocke des caractères. Si vous stockez un caractère et que M vaut 255, la donnée prendra 255 octets. Autant employer ce type de données pour des mots de longueur identique.

 

VARCHAR (M) [BINARY] :

Occupe L+1 octets (ou L représente la longueur de la chaîne).

Ce type de données stocke des chaînes de 255 caractères maximum. L'option BINARY permet de tenir compte de la casse.

 

TINYBLOB (L représente la longueur de la chaîne)

Occupe L+1 octets.

Stocke des chaînes de 255 caractères maximum. Ce champ est sensible à la casse.

 

TINYTEXT :

Occupe L+1 octets.

Stocke des chaînes de 255 caractères maximum. Ce champ est insensible à la casse.

 

BLOB :

Occupe L+1 octets.

Stocke des Chaînes de 65535 caractères maximum. Ce champ est sensible à la casse.

 

TEXT :

Occupe L+2 octets.

Stocke des chaînes de 65535 caractères maximum. Ce champ est insensible à la casse.

 

MEDIUMBLOB :

Occupe L+3 octets.

Stocke des chaînes de 16777215 caractères maximum.

 

MEDIUMTEXT :

Occupe L+3 octets.

Chaîne de 16 777 215 caractères maximum. Ce champ est insensible à la casse.

 

LONGBLOB :

Occupe L+4 octets.

Stocke des chaînes de 4 294 967 295 caractères maximum. Ce champ est sensible à la casse.

 

LONGTEXT :

Occupe L+4 octets.

Stocke des chaînes de 4 294 967 295 caractères maximum.

 

ENUM('valeur_possible1','valeur_possible2','valeur_possible3',...)

Occupe 1 ou 2 octets (la place occupée est en fonction du nombre de solutions possibles : 65 535 valeurs maximum.

 

SET('valeur_possible1','valeur_possible2',...) :

Occupe 1, 2, 3, 4 ou 8 octets, selon de nombre de solutions possibles (de 0 à 64 valeurs maximum)

 

Philippe BOULANGER