Ceci est une ancienne révision du document !
Cela fait trop longtemps que je traine un fichier texte qui contient mes notes à propos du langage SQL, dans le but à l'époque d'être utilisé avec MySQL, puis MariaDB suite au rachat de Sun par Oracle… Une volonté (inutile ?) d'avoir un outil le plus ouvert possible ?
Avant de commencer le vif du sujet, il faut connaître quel type de données on peut stocker
NOM | Taille | Nombres stockables |
---|---|---|
TINYINT | 1o | -128 à 127 |
SMALLINT | 2o | -32 768 à 32 767 |
MEDIUMINT | 3o | -8 388 608 à 8 388 607 |
INT | 4o | -2 147 483 648 à 2 147 483 647 |
BIGINT | 8o | -9223372036854885808 à … |
UNSIGNED permet de ne pas avoir de nombre négatif et donc une plage positive 2x plus grand
NUMERIC ou DECIMAL : définit un nombre de chiffres avant et après la virgule, valeurs exactes conservées
FLOAT, DOUBLE REAL : valeur approchée stockée sous forme scientifique
NOM | DESCRIPTION |
---|---|
VARCHAR(25) | permet de stocker une chaine de caractère (moins de 255 octets) |
TEXT | permet de stocker un texte de 2^16 octets |
BINARY | chaine binaire sur 1 octet |
ENUM | permet de prendre une valeur parmi celles prédéfinies (par exemple 'chien', 'chat') |
NOM | DESCRIPTION |
---|---|
DATE | permet de stocker une date, plusieurs formats possibles (par défaut : aaaa-mm-jj ) |
DATETIME | permet de stocker une date et une heure “aaaa-mm-jj hh:mm:ss” |
TIME | permet de stocker une heure ou une durée (par défaut : “D HH:MM:SS.fraction”) |
YEAR | permet de stocker une année (par défaut : YYYY) |