Maison base de données tutoriel mysql Tutoriel de base MySQL 1 — Type numérique de type de données

Tutoriel de base MySQL 1 — Type numérique de type de données

Feb 24, 2017 am 10:54 AM

MySQL prend en charge tous les types de données numériques SQL standard. Ces types incluent des types de données numériques strictes (INTEGER, SMALLINT, DECIMAL et NUMERIC) et des types de données numériques approximatives (FLOAT, REAL et DOUBLE PRECISION). Le mot-clé INT est synonyme de INTEGER et le mot-clé DEC est synonyme de DECIMAL.

Le type de données BIT stocke les valeurs des champs de bits et prend en charge les tables MyISAM, MEMORY, InnoDB et BDB.

En tant qu'extension du standard SQL, MySQL prend également en charge les types entiers TINYINT, MEDIUMINT et BIGINT. Le tableau suivant montre le stockage et la plage requis pour chaque type entier.

类型 字节 最小值 最大值
    (带符号的/无符号的) (带符号的/无符号的)
TINYINT 1 -128 127
    0 255
SMALLINT 2 -32768 32767
    0 65535
MEDIUMINT 3 -8388608 8388607
    0 16777215
INT 4 -2147483648 2147483647
    0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
    0 18446744073709551615

MySQL prend également en charge l'option de spécifier la largeur d'affichage d'une valeur entière entre parenthèses après le mot-clé type (par exemple, INT(4)). La spécification facultative de la largeur d’affichage est utilisée pour remplir la largeur à partir de la gauche lorsque la largeur d’affichage est inférieure à la largeur de colonne spécifiée.

La largeur d'affichage ne limite pas la plage de valeurs pouvant être enregistrées dans la colonne, ni l'affichage des valeurs qui dépassent la largeur spécifiée de la colonne.

Lorsqu'ils sont utilisés en combinaison avec l'attribut étendu facultatif ZEROFILL, les espaces supplémentaires par défaut sont remplacés par des zéros. Par exemple, pour une colonne déclarée comme INT(5) ZEROFILL, la valeur 4 est récupérée sous la forme 00004. Veuillez noter que si vous stockez une valeur dans une colonne entière qui dépasse la largeur affichée, MySQL rencontrera des problèmes lors de la génération de tables temporaires pour des jointures complexes, car dans ces cas, MySQL pense que les données correspondent à la largeur de colonne d'origine.

Tous les types entiers peuvent avoir un attribut facultatif (non standard) UNSIGNED. Les valeurs non signées peuvent être utilisées lorsque vous souhaitez autoriser uniquement les nombres non négatifs dans une colonne et que la colonne nécessite une plage numérique supérieure plus grande.

Les types flottants et à virgule fixe peuvent également être NON SIGNÉS. Pour un même type de nombre, cette propriété empêche l'enregistrement de valeurs négatives dans la colonne. Cependant, contrairement aux types entiers, la plage supérieure des valeurs de colonne reste inchangée.

Si ZEROFILL est spécifié pour une colonne numérique, MySQL ajoute automatiquement l'attribut UNSIGNED à la colonne.

Pour les types de colonnes à virgule flottante, les valeurs simple précision utilisent 4 octets et les valeurs double précision utilisent 8 octets dans MySQL.

Le type FLOAT est utilisé pour représenter des types de données numériques approximatifs. La norme SQL vous permet éventuellement de spécifier la précision en bits (mais pas en plages exponentielles) entre parenthèses après le mot-clé FLOAT. MySQL prend également en charge des spécifications de précision facultatives qui sont utilisées uniquement pour déterminer la taille de stockage. Les précisions de 0 à 23 correspondent à la simple précision de 4 octets de la colonne FLOAT. Les précisions de 24 à 53 correspondent à la double précision sur 8 octets de la colonne DOUBLE.

MySQL permet l'utilisation d'une syntaxe non standard : FLOAT(M,D) ou REAL(M,D) Ou DOUBLE PRÉCISION(M,D). Ici, "(M,D)" signifie que la valeur affiche un total de M entiers, où se trouvent les D chiffres après la virgule. Par exemple, une colonne définie comme FLOAT(7,4) pourrait être affichée sous la forme -999,9999. MySQL arrondit la valeur lors de sa sauvegarde, donc si vous insérez 999.00009 dans la colonne FLOAT(7,4), le résultat approximatif est 999.0001.

MySQL traite DOUBLE comme synonyme de DOUBLE PRECISION (extension non standard). MySQL traite également REAL comme synonyme de DOUBLE PRECISION (extension non standard) sauf si le mode serveur SQL inclut l'option REAL_AS_FLOAT.

Pour garantir la plus grande portabilité possible, le code qui nécessite le stockage de valeurs de données numériques approximatives doit utiliser FLOAT ou DOUBLE PRECISION, sans spécifier de précision ou de nombre de chiffres.

Les types DECIMAL et NUMERIC sont traités comme le même type dans MySQL. Ils sont utilisés pour contenir des valeurs qui doivent être d'une précision exacte, telles que des données monétaires. Lorsque vous déclarez une colonne de ce type, vous pouvez (et vous le faites généralement) spécifier la précision et l'échelle, par exemple :

salary DECIMAL(5,2)
Copier après la connexion

Dans cet exemple, 5 est la précision et 2 est l'échelle ; La précision indique combien de chiffres peuvent être enregistrés dans la valeur et l'échelle indique combien de chiffres peuvent être enregistrés après la virgule décimale.

Enregistrez les valeurs DECIMAL et NUMÉRIQUE au format binaire dans MySQL 5.1.

Le SQL standard exige que la colonne salaire puisse contenir n'importe quelle valeur avec 5 chiffres entiers et deux décimales. Par conséquent, dans ce cas, la plage de valeurs pouvant être enregistrées dans la colonne salaire va de -999,99 à 999,99.

En SQL standard, la syntaxe DECIMAL(M) est équivalente à DECIMAL(M,0). De même, la syntaxe DECIMAL est équivalente à DECIMAL(M,0), et la valeur de M peut être déterminée par calcul. Les formes variables des types de données DECIMAL et NUMERIC sont prises en charge dans MySQL 5.1. MLa valeur par défaut est 10.

Le nombre maximum de chiffres pour un DECIMAL ou un NUMERIC est de 65, mais la plage réelle d'une colonne DECIMAL ou NUMERIC spécifique est limitée par la précision ou l'échelle de la colonne spécifique. Si une telle colonne se voit attribuer une valeur comportant plus de chiffres après la virgule que ce qui est autorisé par l'échelle spécifiée, la valeur est convertie selon cette échelle. (L'opération spécifique dépend du système d'exploitation, mais généralement les résultats sont tronqués au nombre de chiffres autorisé).

Le type de données BIT peut être utilisé pour enregistrer les valeurs des champs de bits. Le type BIT(M) permet de stocker les valeurs de bits M. M va de 1 à 64.

Pour spécifier une valeur de bit, vous pouvez utiliser le symbole b'valeur'. value est une valeur binaire écrite avec 0 et 1. Par exemple, b'111' et b'100000000' représentent respectivement 7 et 128.

Si la longueur de la valeur attribuée à une colonne BIT(M) est inférieure à M bits, complétez le côté gauche de la valeur avec des 0. Par exemple, attribuer une valeur b'101' à la colonne BIT(6) a le même effet que attribuer b'000101'.

Lorsque vous souhaitez enregistrer une valeur dans une colonne numérique qui dépasse la plage autorisée de la colonne, le fonctionnement de MySQL dépend du mode SQL en vigueur à ce moment-là. Si le mode n'est pas défini, MySQL coupe la valeur au point final correspondant de la plage et enregistre la valeur coupée. Cependant, si le mode est défini sur traditionnel (« mode strict »), les valeurs hors plage seront rejetées avec une erreur et les insertions échoueront selon les normes SQL.

Si la colonne INT est UNSIGNED, la taille de la plage de colonnes sera la même, mais ses extrémités passeront à 0 et 4294967295. Si vous essayez de sauvegarder -9999999999 et 9999999999, les valeurs enregistrées dans la colonne en mode non strict sont 0 et 4294967296.

Si la valeur attribuée dans une colonne à virgule flottante ou à virgule fixe dépasse la plage spécifiée par la précision et l'échelle spécifiées (ou par défaut), MySQL enregistre la valeur représentant le point final correspondant de la plage dans un format non strict. mode.

Lorsque MySQL ne fonctionne pas en mode strict, les conversions dues à un écrêtage seront signalées sous forme d'avertissements pour les instructions ALTER TABLE, LOAD DATA INFILE, UPDATE et INSERT multi-lignes. Lorsque MySQL fonctionne en mode strict, ces instructions échoueront et certaines ou toutes les valeurs ne seront pas insérées ou modifiées, selon que la table est transactionnelle et d'autres facteurs.

Ce qui précède est le contenu du didacticiel de base MySQL 1 - Type numérique de type de données. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La relation entre l'utilisateur de MySQL et la base de données La relation entre l'utilisateur de MySQL et la base de données Apr 08, 2025 pm 07:15 PM

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

MySQL doit-il payer MySQL doit-il payer Apr 08, 2025 pm 05:36 PM

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Intégration RDS MySQL avec Redshift Zero ETL Intégration RDS MySQL avec Redshift Zero ETL Apr 08, 2025 pm 07:06 PM

Simplification de l'intégration des données: AmazonrDSMysQL et l'intégration Zero ETL de Redshift, l'intégration des données est au cœur d'une organisation basée sur les données. Les processus traditionnels ETL (extrait, converti, charge) sont complexes et prennent du temps, en particulier lors de l'intégration de bases de données (telles que AmazonrDSMysQL) avec des entrepôts de données (tels que Redshift). Cependant, AWS fournit des solutions d'intégration ETL Zero qui ont complètement changé cette situation, fournissant une solution simplifiée et à temps proche pour la migration des données de RDSMySQL à Redshift. Cet article plongera dans l'intégration RDSMYSQL ZERO ETL avec Redshift, expliquant comment il fonctionne et les avantages qu'il apporte aux ingénieurs de données et aux développeurs.

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Comment remplir le nom d'utilisateur MySQL et le mot de passe Comment remplir le nom d'utilisateur MySQL et le mot de passe Apr 08, 2025 pm 07:09 PM

Pour remplir le nom d'utilisateur et le mot de passe MySQL: 1. Déterminez le nom d'utilisateur et le mot de passe; 2. Connectez-vous à la base de données; 3. Utilisez le nom d'utilisateur et le mot de passe pour exécuter des requêtes et des commandes.

L'optimisation des requêtes dans MySQL est essentielle pour améliorer les performances de la base de données, en particulier lorsqu'elle traite avec de grands ensembles de données L'optimisation des requêtes dans MySQL est essentielle pour améliorer les performances de la base de données, en particulier lorsqu'elle traite avec de grands ensembles de données Apr 08, 2025 pm 07:12 PM

1. Utilisez l'index correct pour accélérer la récupération des données en réduisant la quantité de données numérisées SELECT * FROMMLOYEESEESHWHERELAST_NAME = 'SMITH'; Si vous recherchez plusieurs fois une colonne d'une table, créez un index pour cette colonne. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

Comment copier et coller Mysql Comment copier et coller Mysql Apr 08, 2025 pm 07:18 PM

Copier et coller dans MySQL incluent les étapes suivantes: Sélectionnez les données, copiez avec Ctrl C (Windows) ou CMD C (Mac); Cliquez avec le bouton droit à l'emplacement cible, sélectionnez Coller ou utilisez Ctrl V (Windows) ou CMD V (Mac); Les données copiées sont insérées dans l'emplacement cible ou remplacer les données existantes (selon que les données existent déjà à l'emplacement cible).

Comprendre les propriétés acides: les piliers d'une base de données fiable Comprendre les propriétés acides: les piliers d'une base de données fiable Apr 08, 2025 pm 06:33 PM

Une explication détaillée des attributs d'acide de base de données Les attributs acides sont un ensemble de règles pour garantir la fiabilité et la cohérence des transactions de base de données. Ils définissent comment les systèmes de bases de données gérent les transactions et garantissent l'intégrité et la précision des données même en cas de plantages système, d'interruptions d'alimentation ou de plusieurs utilisateurs d'accès simultanément. Présentation de l'attribut acide Atomicité: une transaction est considérée comme une unité indivisible. Toute pièce échoue, la transaction entière est reculée et la base de données ne conserve aucune modification. Par exemple, si un transfert bancaire est déduit d'un compte mais pas augmenté à un autre, toute l'opération est révoquée. BeginTransaction; UpdateAccountSsetBalance = Balance-100Wh

See all articles