mysql_type

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
mysql_type [2020/08/04 17:35] – [MySQL - Types de données] nekanmysql_type [2022/04/05 17:11] (Version actuelle) nekan
Ligne 1: Ligne 1:
-~~CLOSETOC~~ 
 ====== MySQL - Types de données ====== ====== MySQL - Types de données ======
 +<label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/08/04 17:09//
  
 Comme la plupart des langages informatiques, ''SQL'' définie ses données selon certains types. Lorsqu'on définie une colonne dans une table, on doit définir le type de données qu'elle accueillera. Toutes les données de cette colonnes seront alors du même type, celui qui a été défini. Il est important de bien définir le type de données utilisé, une mauvaise définition pouvant entraîner : Comme la plupart des langages informatiques, ''SQL'' définie ses données selon certains types. Lorsqu'on définie une colonne dans une table, on doit définir le type de données qu'elle accueillera. Toutes les données de cette colonnes seront alors du même type, celui qui a été défini. Il est important de bien définir le type de données utilisé, une mauvaise définition pouvant entraîner :
Ligne 16: Ligne 16:
 ===== Les données numériques ===== ===== Les données numériques =====
  
 +==== Les nombres entiers ====
 +
 +|< 100% 10% 10% 20% 20% 20% 20% >|
 +^Type  ^Allocation en octets  ^Valeur minimale  ^Valeur maximale  ^UNSIGNED min  ^UNSIGNED max  ^
 +|''TINYINT''|1|-128|127|0|255|
 +|''SMALLINT''|2|-32768|32767|0|65535|
 +|''MEDIUMINT''|3|-8388608|8388607|0|16777215|
 +|''INT'', ''INTEGER''|4|-2147483648|2147483647|0|4294967295|
 +|''BIGINT''|5|-9223372036854775808|9223372036854775807|0|18446744073709551615|
 +
 +<callout type="warning" icon="true" title="Limitations">Si on essaie de stocker un entier dans une trop grand pour le type défini, alors la valeur stockée sera la plus grande/petite valeur possible pour le type défini.
 +Par exemple : Si on stocke l'entier ''152968'' dans un ''SMALLINT'', la valeur réellement stockée sera ''32767''. Pour ''-152968'', ce sera ''-32768''.</callout>
 +
 +=== UNSIGNED ===
 +
 +Par défaut, les valeurs des entiers peuvent être positives ou négatives, ''0'' étant au centre de la plage. En définissant la colonne comme ''UNSIGNED'', ''0'' devient la valeur minimale de la plage, la plage de valeur négative disparaissant et augmentant d'autant la plage positive.
 +
 +=== ZEROFILL ===
 +
 +L'argument ''ZEROFILL'', suivant la définition d'une colonne de type entier, permet d'imposer une taille minimale pour l'affichage des entiers de cette colonne. Cela signifie que si ''ZEROFILL'' est renseigné pour un valeur de ''INT(4)'', ''12345'' sera affiché ''12345'' mais ''123'' sera affiché ''0123''. La structure de déclaration pour ''ZEROFILL'' est :
 +<file>TYPE(taille) ZEROFILL</file>
 +Par exemple :
 +<sxh sql>CREATE TABLE yourtable (x INT(8) ZEROFILL NOT NULL, y INT(8) NOT NULL);
 +INSERT INTO yourtable (x,y) VALUES
 +(1, 1),
 +(12, 12),
 +(123, 123),
 +(123456789, 123456789);
 +SELECT x, y FROM yourtable;
 ++-----------+-----------+
 +|         x |         y |
 ++-----------+-----------+
 +|  00000001 |         1 |
 +|  00000012 |        12 |
 +|  00000123 |       123 |
 +| 123456789 | 123456789 |
 ++-----------+-----------+</sxh>
 ===== Les chaînes de caractères ===== ===== Les chaînes de caractères =====
  
 ===== Les données temporelles ===== ===== Les données temporelles =====
 +
 +<image shape="thumbnail">{{ :underconstruction-copy-300x150.jpg |}}</image>
  
  
-{{ :underconstruction-copy-300x150.jpg |}} 
- --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/08/04 17:09// 
-~~CLOSETOC~~ 
  
  • mysql_type.1596555345.txt.gz
  • Dernière modification : 2020/08/04 17:35
  • de nekan