Les types de données MySQL incluent : 1. Type numérique ; 2. Type de date et d'heure ; 3. Les types de chaîne sont CHAR, VARCHAR, BINARY [type de données binaire], BLOB, TEXT [type de texte], ENUM [Énumération type] et SET [collecte de données].
Les types de données MySQL sont :
Les types de données pris en charge par MySQL se déclinent en plusieurs catégories : types numériques, types de date et d’heure et types de chaîne (caractère).
Remarque :
Nous utilisons souvent num int lors de la définition des champs ( 10) Dans cette façon d'écrire unsigned, int(10) ne signifie pas que le champ stockera des nombres de 10 longueurs.
int(M) représente le format d'affichage numérique et n'est valide que lorsque l'attribut de champ est défini sur zéro.
par exemple :
tinyint(4) -- La valeur réelle stockée est 2. Si zéro remplissage n'est pas spécifié, le résultat de la requête est 2. Si zéro remplissage est spécifié, alors Le résultat de la requête est 0002, et 0 est utilisé pour remplir le côté gauche
attribut zerofill :
Si le champ spécifie le remplissage zéro ; attribut, mysql affichera automatiquement l'attribut Field plus UNSIGNED.
L'attribut ZEROFILL est ignoré lorsqu'il est impliqué dans des expressions de colonne ou des requêtes UNION
Point flottant :
Float(M,D) : M est le nombre de chiffres du nombre, y compris la partie entière et la partie décimale D ; La partie décimale est , [D <= M-2] Si égale, la partie entière est 0, et le la valeur maximale est également C'est 0,99
par exemple :
Float(2,1) -- représente un entier et une décimale, eg:1.1
Float(1,2) -- Erreur de syntaxe, total uniquement 1 Comment peut-il y avoir 2 décimales
À propos de la valeur par défaut :
La valeur par défaut doit être une lumière constante, pas une fonction ou une expression. Exception : La valeur par défaut de TIMESTAMP peut être utiliséeCURRENT_TIMESTAMP
BLOB et TEXT ne peut pas être définie par défaut value
Si une colonne n'indique pas clairement la valeur par défaut :
Si la base de données est en mode strict , une erreur sera signalée.
mode strict, le système confirmer l'utilisation selon le type Quelle valeur par défaut
Plage DATATIME :
à '1000-01-01 00:00:00'
'9999-12-31 23:59:59'
à '1000-01-01'
'9999-12-31'
Plage TIMESTAMP :
'1970-01-01 00:00:01'
'2038-01-19 03:14:07'
Plage TIME :
'-838:59:59'
Plage ANNÉE : année(4) --- 1901~2155 ; année(2) --- 00~99
TIMESTAMP : La colonne d'horodatage est affichée dans le même format que la colonne DATETIME. Autrement dit, la largeur d'affichage est fixée à 19 caractères et le format est 'AAAA-MM-JJ HH:MM:SS'.
Le type de données TIMESTAMP fournit initialisation et mise à jour automatiques. Mais il ne peut y avoir qu'une seule colonne avec une valeur par défaut et une mise à jour spécifiée comme CURRENT_TIMESTAMP
1. Initialisation automatique et mise à jour automatique, par exemple : ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2. Uniquement initialisation automatique, par exemple ; : ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
3. Uniquement mise à jour automatique ; par exemple : ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
4. Aucune par exemple : ts TIMESTAMP DEFAULT 0
Les types de chaîne sont CHAR, VARCHAR, BINARY [type de données binaire], BLOB, TEXT [type de texte], ENUM [type d'énumération] et SET [collecte de données].
La différence entre char et varchar : La différence de longueur de stockage réside dans la longueur maximale et s'il faut conserver les espaces
char conservera les espaces, varchar ne conservera pas les espaces
char est 0~255 ; varchar est 0~65535
ENUM : > Une énumération est un objet chaîne qui sélectionne une valeur dans une liste qui énumère explicitement les valeurs autorisées pour la spécification de colonne lors de la création de la table. [Lorsque la valeur insérée ne peut pas correspondre à la valeur de la liste, la valeur par défaut est la valeur d'index maximale]
, ,
numbers ENUM('0','1','2')
mysql> INSERT INTO t (numbers) VALUES(2),('2'),('3');mysql> SELECT * FROM t;+---------+ | numbers | +---------+ | 1 | | 2 | | 2 | +---------+
SET : Un ensemble est un objet qui peut avoir une chaîne de zéro ou plusieurs valeurs, dont chacune doit être sélectionnée dans une liste pour autoriser la valeur spécifiée lors de la création du tableau. [Lorsque la valeur insérée ne peut pas correspondre à la valeur de la liste, MYSQL ignorera la valeur qui n'existe pas dans la liste]
1 CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));2 3 INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');
Cela peut être vu de la définition de ENUM La différence avec SET est de savoir si la valeur est une ou plusieurs des valeurs spécifiées lors de la définition. Il existe également un comportement différent lorsque la valeur insérée n'existe pas dans la liste.
Plus de recommandations d'apprentissage gratuites associées : tutoriel MySQL(vidéo)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!