mysql data types what are different data types mysql
En savoir plus sur les différents types de données MySQL, c'est-à-dire numérique, chaîne, type de données Date, JSON, booléen, etc. avec des exemples:
Dans ce didacticiel, nous allons découvrir les différents types de données pris en charge par MySQL. Les types de données sont spécifiés pour chaque colonne lorsqu'une table est créée et également lors de la mise à jour / modification de la table pour ajouter une nouvelle colonne à la table existante
Nous en apprendrons davantage sur les types de données dans trois catégories différentes, à savoir le type de données numérique, les types de données String et les types de données Datetime.
Ce que vous apprendrez:
- Types de données MySQL
- Conclusion
Types de données MySQL
Conditions préalables
Nous allons apprendre tous les types de données avec des exemples de travail dans MySQL. Par conséquent, il est recommandé d'installer MySQL pour exécuter les requêtes avec des détails pour une meilleure compréhension du concept.
En outre, vous pouvez créer un exemple de base de données nommé sql_data_types qui contiendrait toutes les tables que nous utiliserions pour des exemples.
create database sql_data_types; use sql_data_types;
Types de données numériques
Les types de données numériques peuvent être divisés en 3 types:
- Types de données entiers
- Types de point fixe
- Types à virgule flottante
Discutons de chacun de ces éléments:
Types de données entiers
Ces types de données prennent en charge les nombres entiers sans aucune représentation décimale. Il existe différents sous-types comme - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Syntaxe:
INT((width)) (UNSIGNED) (ZEROFILL)
Les faits:
Description | Varier | Mémoire | Options |
---|---|---|---|
MEDIUMBLOB | 0-16 777 215 (16 Mo) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Type numérique le plus couramment utilisé. Stocke des nombres entiers DEFAULT - Valeurs non signées | –2 147 483 648 à 2 147 483 647 | 4 octets | Si utilisé avec l'option UNSIGNED - La plage passe à 0 à 4 294 967 295 L'option Largeur peut être utilisée avec ZEROFILL pour remplir les entrées avec zéro pour les valeurs inférieures à la largeur |
Exemples:
Nous allons créer une table avec 1 colonne ayant le type de données INT et différentes options.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Sortie de la commande SELECT:
CREATE TABLE numbers_int_options(int_col_with_options INT(4) ZEROFILL ); INSERT into numbers_int_options values(1),(123),(1234),(12345); select * from numbers_int_options;
Sortie de la commande ci-dessus:
Autres variantes de INT:
Il existe plusieurs options disponibles pour INT en fonction des exigences spécifiques. Ceux-ci sont généralement utilisés lorsque la mémoire ou l'espace est un problème, mais à toutes fins pratiques, INT est le plus largement utilisé.
Les différentes variantes du type de données INT disponibles sont répertoriées ci-dessous:
Type de données | Varier | Exemple | Mémoire / octets utilisés |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
PETITE MENTHE | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | deux |
MOYENNEINT | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
GRAND | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Types à virgule flottante
Les types à virgule flottante sont des types de valeur approximative et cela dépend du non. de la précision de la virgule décimale spécifiée lors de la déclaration du type de colonne.
Il existe 2 types de types de données à virgule flottante: FLOAT et DOUBLE qui prennent en charge différentes plages et consomment de la mémoire / du stockage.
FLOTTEUR ET DOUBLE
Conformément à la nouvelle syntaxe recommandée - la précision FLOAT et DOUBLE peut être spécifiée en utilisant uniquement les types de données FLOAT.
Syntaxe:
FLOAT(p)
Ici, p -> précision
Les faits:
Description | Mémoire | Options | Exemples |
---|---|---|---|
FLOAT / DOUBLE représente des nombres à virgule flottante avec des valeurs approximatives C'est à dire. lorsque MySQL stocke ces valeurs, ces valeurs sont approximées à la précision la plus proche selon le type déclaré. La précision entre 0-23 représente le type FLOAT alors que 24 à 53 générerait un double type consommant 8 octets | -Précision - 0-23 => 4 octets -Précision -24-53 => 8 octets | -Les numéros de points flottants peuvent être signés ou non signés -FLOAT est généralement précis jusqu'à 7 décimales tandis que DOUBLE est précis jusqu'à 14 décimales -Il existe également une autre façon non standard de déclarer FLOAT et DOUBLE avec la spécification de points de précision FLOAT (n, d) - où n est le nombre total de chiffres et d est le nombre de points décimaux | -Créer une table avec un type de données DOUBLE colonne CRÉER TABLE numéros_double (double_col FLOAT (30)); -Créer une table avec un type de données DOUBLE colonne et des chiffres de précision comme 5 CRÉER TABLE numéros_double (double_col DOUBLE (20,5)); |
Voyons quelques exemples de récupération des valeurs de types doubles:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Sortie de l'instruction SELECT:
Nous pouvons voir ici que les valeurs sont stockées jusqu'à 5 décimales comme spécifié lors de la déclaration du type de données.
Types de point fixe
Ces types de données sont utilisés pour stocker une valeur exacte avec une précision déterminée. Ces types de données sont généralement utilisés lorsqu'un stockage de précision exacte est requis. Par exemple, comptes bancaires il est nécessaire de maintenir des soldes avec 2 décimales, nous avons besoin que les données soient stockées avec une précision exacte.
DÉCIMAL / NUMÉRIQUE
Syntaxe:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Les faits:
Description | Varier | Mémoire | Options |
---|---|---|---|
DECIMAL est un type de données numérique dans MySQL et stocke les valeurs exactes avec la précision spécifiée. L'échelle ou la largeur par défaut du type de données DECIMAL est une précision de 10 et 0. Veuillez noter que les types DECIMAL et NUMERIC peuvent être utilisés de manière interchangeable. | Dépend de la plage spécifiée Par exemple DECIMAL (5,2) aurait une plage de -999,99 à 999,99 | Format binaire des utilisateurs MySQL pour stocker le type de données DECIMAL - Il nécessite quatre octets pour 9 chiffres - Donc par exemple, si nous avons DECIMAL (14,2) - exigerait un total de - 9 (4) + 2 (1) => 7 octets | -La valeur maximale de la largeur peut être de 265 -Le nombre de décimales est facultatif et la valeur par défaut est 0 |
Exemple:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
Types de données DateTime
Les types de données DateTime dans MySQL, comme leur nom l'indique, sont utilisés pour stocker les valeurs de date et d'heure dans la base de données MySQL.
Il existe 2 types temporels pris en charge par MySQL - DATETIME et TIMESTAMP
Discutons de ces deux éléments dans les sections ci-dessous.
DATETIME
Syntaxe:
DATETIME(n)
Ici, n -> précision / partie fractionnaire de la partie secondes (la précision maximale prise en charge est de 6).
Les faits:
Description | Varier | Mémoire | Exemples |
---|---|---|---|
Utilisé pour stocker la date et l'heure dans la colonne MySQL Lorsqu'on l'interroge, les données de la colonne affichent la date / heure dans le format ci-dessous: AAAA-MM-JJ HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 octets Lorsqu'une partie fractionnaire est incluse, pour chaque 2 chiffres fractionnaires, un octet supplémentaire est consommé. | CREATE table datetime_example(date_col DATETIME); // PRODUCTION date_col 2020-08-08 22:22:53 |
HORAIRE
Syntaxe:
TIMESTAMP(n)
Ici, n -> précision / partie fractionnaire des secondes (la précision maximale prise en charge est de 6)
Les faits:
Description | Varier | Mémoire | Exemples |
---|---|---|---|
Un autre type de données temporelles utilisé pour stocker la date / heure. Cela stocke l'heure de la date au format UTC également avec une plage limitée entre 1970 et 2038 | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 octets | CREATE table timestamp_example(ts_col TIMESTAMP); PRODUCTION ts_col 2020-08-08 22:19:11 |
Types de données de chaîne
Les types de données chaîne, comme leur nom l'indique, sont utilisés pour stocker des chaînes / textes ou des blobs d'informations textuelles dans la base de données. En fonction du cas d'utilisation, il existe différents types de données disponibles -CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Comprenons chacun de ces différents types de données avec des exemples.
CHAR et VARCHAR
Ces deux types sont utilisés pour stocker des valeurs String dans les colonnes de MySQL, mais ils diffèrent dans la manière dont les valeurs sont stockées et récupérées.
CHAR & VARCHAR sont déclarés avec length, qui indique la longueur maximale de la chaîne que vous souhaitez stocker dans la colonne.
Syntaxe:
CHAR(n) VARCHAR(n)
Ici, n -> max no. de caractères à stocker par la colonne
Les faits:
Taper | Description | Varier | Exemples |
---|---|---|---|
CARBONISER Syntaxe - CHAR (n) | CHAR peut stocker une chaîne de longueur «n» telle que définie lors de la déclaration. Si la chaîne est inférieure à n caractères, elle est remplie d'espaces. | La longueur du type de données CHAR peut varier de 0 à 255 Selon la longueur, la consommation de mémoire serait comprise entre 0 et 255 octets. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Syntaxe - VARCHAR (n) | VARCHAR vous permet de stocker des chaînes de longueur variable et de consommer de la mémoire par rapport à la taille réelle de la chaîne stockée plutôt qu'à la valeur maximale spécifiée lors de la définition de la colonne. | La longueur du type de données VARCHAR peut varier de 0 à 65535 Selon la longueur, la consommation de mémoire serait comprise entre 0 et 65535 octets. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINAIRE et VARBINAIRE
Similaire à CHAR et VARCHAR - ces types de données stockent des chaînes mais au format binaire.
La longueur des types de données BINARY et VARBINARY est mesurée en octets par opposition au nombre de caractères dans les types de données CHAR et VARCHAR.
Syntaxe:
BINARY(n) VARBINARY(n)
Ici, n -> max no. d'octets à stocker par la colonne.
Les faits:
Taper | Description | Varier | Exemples |
---|---|---|---|
BINAIRE Syntaxe - BINARY (n) | BINARY peut stocker «n» octets binaires. Pour les valeurs inférieures à n, elles sont complétées à droite avec 0 octet et stockées | La longueur du type de données BINARY peut varier de 0 à 255 Selon la longueur, la consommation de mémoire serait comprise entre 0 et 255 octets. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINAIRE Syntaxe - VARBINARY (n) | VARBINARY vous permet de stocker des chaînes binaires de longueur variable jusqu'à n longueur (comme spécifié dans la définition de colonne) | La longueur du type de données VARBINARY peut varier de 0 à 65535 Selon la longueur, la consommation de mémoire serait comprise entre 0 et 65535 octets. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Voyons le type de données BINARY plus en détail. Nous allons créer une table avec une colonne de type de données binaire et varbinary et inspecter le contenu.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Maintenant, nous avons vu la sortie comme BLOB, ce qui signifie - B inaire L mal OB ject - et ce ne sont rien d'autre qu'une représentation binaire / hexadécimale des valeurs String que nous avons insérées dans les colonnes.
Nous allons maintenant inspecter les valeurs de ces chaînes binaires et voir comment elles sont stockées.
Tout d'abord, voyons la valeur présente dans «binary_col» qui est de type de données BINARY.
Voyons quelles sont les valeurs qui sont stockées - Si vous remarquez les valeurs par rapport aux 5 premières entrées, c'est-à-dire la première ligne et les 5 premières colonnes (0-4)
Ce ne sont que les représentations HEX des caractères de la chaîne «bonjour» que nous avons stockées.
Maintenant qu’il s’agit d’un type de données BINARY de longueur 50, nous pouvons voir que le reste des octets est complété par des valeurs «00» qui n’est rien d’autre qu’une représentation en octets pour le chiffre «0».
Voir la valeur présente dans «varbinary_col» qui est de type de données VARBINARY.
Ici, pour VARBINARY, vous pouvez voir que les valeurs ne sont renseignées que pour une longueur de 5, ce qui équivaut à la longueur de chaîne que nous avons stockée. Il n'y a pas de remplissage Zéro même si nous avons déclaré une colonne VARBINARY de longueur 50.
BLOB et TEXTE
Les types de données BLOB et TEXT sont similaires aux types de données BINARY et CHAR à la différence qu'ils peuvent prendre en charge des tailles plus grandes que leurs homologues de base.
Il est important de noter que BLOB stocke les données sous forme de chaînes binaires tandis que le type de données TEXT est stocké sous forme de chaînes non binaires. En outre, tous ces types de données ne nécessitent pas de spécifier la longueur tout en mentionnant le type de données. Ils sont intrinsèquement de longueur variable et consomment de la mémoire uniquement par rapport à celle qui est stockée comme valeur de colonne réelle.
Les types de données BLOB sont généralement utilisés pour stocker des fichiers tels que des images, des documents PDF, etc. sous forme de chaînes binaires de manière sécurisée et efficace.
Les détails sur les différentes variantes des types de données BLOB et TEXT sont répertoriés ci-dessous:
Taper | Varier | Description | Exemples |
---|---|---|---|
TINYTEXT | 0-255 (255 octets) | La plage est la même que VARCHAR - Utilisé pour stocker de petites informations telles que les titres, les noms d'auteurs, etc. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
TEXTE | 0-65535 (64 Ko) | Ce type de données est suffisant pour stocker le texte d'un article de petite à moyenne taille. | CREATE TABLE text_example(text_col TEXT); |
MEDIUMTEXT | 0-16 777 215 (16 Mo) | Ce type de données peut être suffisant pour stocker le texte d'un manuel entier | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
LONGTEXT | 0 à 4 294 967 295 (4 Go) | LONGTEXT est rarement utilisé spécifiquement dans les cas où MEDIUMTEXT ne suffit pas. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 octets) | Tous les types de données BLOB sont utilisés pour stocker des chaînes binaires et sont généralement préférés pour stocker des fichiers tels que des images, des documents PDF ou de petites applications. En fonction des exigences de taille, les différents types de données BLOB peuvent être choisis et utilisés. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
GOUTTE | 0-65535 (64 Ko) | CREATE TABLE blob_example(blob_col BLOB); | |
LONGBLOB | 0 à 4 294 967 295 (4 Go) | CREATE TABLE longblob_example(longblob_col LONGBLOB); |
ENUM
ENUM est un type de données String qui prédéfinit les valeurs autorisées qu'une colonne peut avoir. Il est similaire aux types de données ENUM qui existent dans différents langages de programmation tels que JAVA, C #, etc.
Les valeurs ENUM, lorsqu'elles sont stockées, sont converties en nombres par rapport à chaque valeur de colonne, ce qui entraîne une économie de mémoire considérable pour les tables ayant un grand nombre d'enregistrements, c'est-à-dire supposons que nous ayons un ENUM ayant des valeurs - valeur1, valeur2 et valeur3, alors le stockage réel de la mémoire serait numérique index 1,2,3 dans les coulisses.
Syntaxe:
ENUM({comma separated enum values})
Exemples de requêtes:
Créez une table avec 2 colonnes pour stocker les modèles mobiles sous forme de chaîne et les noms de société sous forme de types de données ENUM ayant des valeurs - APPLE, SAMSUNG et NOKIA. Voyons également les requêtes pour récupérer des données par rapport à une valeur ENUM particulière.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA')); INSERT INTO mobile_details values ('IPHONE X', 'APPLE'),('GALAXY M1', 'SAMSUNG'), ('GALAXY M2', 1) ;
Dans la requête ci-dessus, vous pouvez voir que nous avons utilisé des noms Enum ainsi que des index numériques lors de l'insertion.
Essayons d’interroger tous les appareils mobiles portant le nom de marque «SAMSUNG» et d’interroger l’index numérique de SAMSUNG, qui est «1».
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
La sortie des deux requêtes ci-dessus sera la même que celle mentionnée ci-dessous:
ENSEMBLE
Le type de données MySQL SET est un objet String qui peut avoir une ou plusieurs valeurs dans une plage autorisée, comme décrit lors de la définition de la colonne. Il est similaire à ENUM mais il permet d'associer plusieurs valeurs de la liste définie en tant que valeurs de colonne.
De plus, les types de données SET sont stockés sous forme d'index numériques commençant par 2 ^ 0 - c'est-à-dire 1,2,4,8 etc.
Syntaxe:
SET({comma separated list of allowed values})
Exemple:
Essayons de comprendre le type de données SET avec des exemples. Nous allons créer une table nommée mobile_details avec un modèle de colonne de type String et une colonne nommée OS pris en charge qui est un type de données défini et contient une liste des versions de système d'exploitation prises en charge.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Nous pouvons voir que nous avons répertorié les valeurs du système d'exploitation dans le cadre d'une colonne ayant le type de données SET. Les valeurs DECIMAL correspondantes qui leur sont attribuées sont répertoriées ci-dessous:
Maintenant, si nous voulons attribuer une valeur SET, par exemple, «Android8, android9» à une ligne, nous pouvons simplement attribuer l'ajout des valeurs décimales attribuées, c'est-à-dire 12, pour avoir le même effet.
Veuillez vous référer à la requête INSERT ci-dessus pour l'affectation à la ligne avec le nom de modèle «GALAXYM1»
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Sortie de la commande ci-dessus:
Nous pouvons également interroger la colonne SET par rapport à leur représentation décimale - supposons que nous souhaitons interroger «ios9, ios10» - la somme de la représentation décimale est de 3, nous pouvons donc interroger comme suit:
SELECT * from mobile_details where supported_os=3
Production:
Types de données spéciaux
BOOLÉEN
Le type de données MySQL Boolean stocke une valeur de colonne comme TRUE ou FALSE. Ce type de données est généralement adapté pour stocker des valeurs d'indicateur dans les tables MySQL. Par exemple - Une table de compte bancaire ayant une colonne nommée is_savings_account peut stocker true ou false.
La valeur BOOLEAN est stockée dans MySQL sous la forme 1 ou 0 pour TRUE et FALSE, respectivement.
Syntaxe:
columnName BOOLEAN
Exemple:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Lors de l'insertion ou de la récupération de valeurs pour le type de données BOOLEAN, nous pouvons utiliser VRAI ou FAUX ou leurs représentations numériques - c'est-à-dire 1 ou 0.
select * from account_details where is_savings=1;
Sortie de la commande ci-dessus:
JSON
MySQL prend en charge le JSON natif en tant que type de données pour les objets en notation JSON. Il facilite le stockage, l'interrogation et la récupération des documents de type JSON plutôt que le stockage sous forme de chaînes de texte ou d'objets blob binaires.
Syntaxe:
columnName JSON
Les faits:
Définition | Varier | Exemples |
---|---|---|
Le type de données JSON est utilisé pour stocker des documents au format JSON. Toute colonne définie comme JSON lèverait une erreur si un JSON non valide est stocké par une requête INSERT. | La plage ou la taille du type de données JSON est similaire à LONGTEXT ou LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Exemple:
MySQL fournit différentes fonctions pour interroger les données JSON. Essayons d'insérer sous JSON, puis nous verrons les fonctions MySQL à interroger.
{ 'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson', } } { 'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johson', } }
Voyons les commandes pour créer une table et insérer les données JSON.
create table json_example(json_col JSON); insert into json_example values( '{'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson' }}'); insert into json_example values( '{'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johnson' }}');
Interrogez la table et imprimez les champs de prénom et d'e-mail à partir des données JSON stockées dans les lignes de la table.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Production:
Questions fréquemment posées
Q # 1) Comment pouvons-nous changer le type de données pour une colonne MySQL une fois assignée?
Répondre: Le type de données de la colonne peut être modifié à l'aide de Commande ALTER TABLE .
Considérons une table student_info ayant 2 colonnes name et age de types VARCHAR et INT respectivement. Cela peut être réalisé à l'aide de la commande CREATE TABLE suivante:
CREATE TABLE student_info(name CHAR(20), age INT);
Il y a quelques variations dans cette commande
différence entre les tests de boîte blanche et les tests de boîte noire
- Si nous voulons changer uniquement le type de données de la colonne - Nous pouvons utiliser la commande MODIFY avec ALTER
Dans le tableau ci-dessus, supposons que nous voulions changer le type de données de la colonne d'âge, nous pouvons utiliser la commande suivante
ALTER TABLE student_info MODIFY age TINYINT
- Si nous voulons changer le nom de la colonne ainsi que le type de données de la colonne - Nous pouvons utiliser la commande CHANGE avec ALTER
Dans le tableau ci-dessus, supposons que nous voulions changer le nom de la colonne de «nom» en «sname» et le type de données de CHAR en VARCHAR (50), nous pouvons utiliser la commande suivante:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
Q # 2) Quel est le type de données pour une image dans mysql?
Répondre: Pour stocker l'un des types de fichiers dans MySQL comme les images, les pdf, etc., le type de données BLOB ou binaire est le type le plus approprié. Il existe différentes variantes de type de données BLOB disponibles en fonction de la taille du fichier cible que nous voulons stocker. Nous pouvons utiliser des variantes de BLOB comme - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
Q # 3) Quel type de données est le plus approprié pour stocker des documents dans mysql?
Répondre: Semblable à BLOB pour les images ou les fichiers pdf, pour stocker des documents texte / articles, le type de données TEXT peut être utilisé. Il s'agit d'une extension du type de données CHAR avec prise en charge du stockage de caractères supplémentaire.
Les différentes variantes de type de données TEXT disponibles sont - TEXTE, TINYTEXT, MEDIUMTEXT & LONGTEXT
Q # 4) Quel est le type de données pour la devise dans MySQL?
Répondre: Pour stocker les données des valeurs monétaires, le type de données le plus adapté est DECIMAL. Il est utilisé pour stocker des types de données avec une précision exacte. Par exemple, un nom de colonne de type DECIMAL (4,2), stockerait des valeurs comprises entre -99,99 et 99,99 et renverrait la valeur avec la même précision lors de la récupération contrairement à. approximation pour les nombres à virgule flottante.
Q # 5) Que se passe-t-il si quelqu'un essaie d'insérer des nombres négatifs pour les colonnes entières UNSIGNED?
Répondre: MySQL génère une erreur pour de telles instructions d'insertion
Essayons de créer une table avec une colonne INT avec l'option UNSIGNED.
CREATE TABLE int_unsigned(age INT UNSIGNED); INSERT into int_unsigned values(-350);
Error Code: 1264. Out of range value for column 'int_col_with_options' at row 1
Q # 6) Comment obtenir les données de la date actuelle dans mysql?
Répondre: MySQL fournit 2 fonctions de date et d'heure intégrées pour récupérer les valeurs actuelles
La fonction CURDATE () renvoie la date actuelle
SELECT CURDATE();
Production
2020-08-10
La fonction NOW () renvoie la date actuelle avec horodatage.
SELECT NOW();
Production
2020-08-10 00:42:54
Q # 7) Hors CHAR et VARCHAR - lequel est le plus approprié?
Répondre: VARCHAR signifie caractère variable et présente un avantage important de consommer moins de mémoire par rapport à CHAR de même longueur. Par exemple, Une colonne avec VARCHAR (50) si stocke des chaînes de longueur 20 entraînerait une consommation de seulement 20 octets par opposition à un type de données déclaré avec CHAR (50)
Q # 8) Comment mettre à jour la valeur ENUM dans MySQL?
Répondre: Afin de mettre à jour une colonne ENUM dans MySQL, vous devrez modifier en mentionnant les valeurs de colonne existantes afin que les entrées existantes restent intactes.
Essayons de comprendre cela avec un exemple.
Supposons que nous ayons une table nommée mobile_details ayant un champ de modèle comme String (VARCHAR) et une colonne de marque comme ENUM ayant des valeurs initiales comme 'APPLE', SAMSUNG 'et' NOKIA '
Supposons maintenant que nous voulions ajouter un autre nom de marque 'MOTOROLA' à l'énumération existante. Voyons les requêtes que nous aurions besoin d'exécuter.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Une fois créé, vous pouvez obtenir les détails des valeurs ENUM d'origine à l'aide de la commande DESCRIBE
DESCRIBE mobile_details;
Maintenant, exécutons la commande pour mettre à jour ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Nous pouvons à nouveau exécuter la commande DESCRIBE pour voir si les mises à jour sont appliquées avec succès.
DESCRIBE mobile_details
Voici le résultat de la commande ci-dessus:
Conclusion
Dans ce didacticiel, nous avons découvert les différents types de données pris en charge par MySQL.
Nous avons découvert les types de données d'heure Numérique, Flottante, Chaîne et Date, ainsi que la syntaxe et différents exemples.
Les types de données MySQL sont les éléments de base pour démarrer et l'un des aspects les plus cruciaux de la conception de schéma MySQL.
lecture recommandée
- Types de données C ++
- Types de données Python
- Types de données et variables C # avec des exemples
- Types de données PL SQL, variables, constantes et littéraux
- Types de données de tableau - tableau int, tableau double, tableau de chaînes, etc.
- Instruction de suppression MySQL - Syntaxe et exemples de commande de suppression
- MySQL Insert Into Table - Syntaxe et exemples d'instructions d'insertion
- Tutoriel MySQL JOIN: intérieur, extérieur, croix, gauche, droite et soi