Cet article vous apporte des connaissances pertinentes sur les types de champs MySQL et fait un résumé. J'espère qu'il sera utile à tout le monde.
Préface :
Pour comprendre une base de données, nous devons comprendre les types de données qu'elle prend en charge. MySQL prend en charge un grand nombre de types de champs, dont beaucoup sont couramment utilisés. Nous avons également parlé de l'utilisation des types int et varchar dans les articles précédents, mais nous n'avons jamais entièrement parlé des types de champs. Dans cet article, nous couvrirons tous les types de champs et parlerons de l'utilisation des types de champs courants.
Les types de champs couramment utilisés peuvent être grossièrement divisés en trois catégories : type numérique, type de chaîne et type de date et d'heure. Présentons-les dans l'ordre en fonction des catégories.
1. Type numérique
Le type numérique peut être divisé en trois sous-catégories : type entier, type à virgule flottante et type à virgule fixe.
Les types entiers sont principalement utilisés pour stocker des valeurs entières. Il existe principalement les types de champs suivants :
Les types entiers sont souvent utilisés, tels que tinyint, int, bigint. La valeur par défaut est signée. Si vous avez uniquement besoin de stocker des valeurs non signées, vous pouvez ajouter l'attribut non signé.
Le M dans int(M) représente la largeur d'affichage maximale. Cela ne signifie pas que int(1) ne peut pas stocker la valeur 10. Quel que soit le nombre de caractères définis pour la largeur d'affichage, int occupe toujours 4 octets, c'est-à-dire , int (5) La plage de stockage est la même que int(10).
Plus les octets de stockage sont petits, plus l'espace occupé est petit. Par conséquent, conformément au principe de minimisation du stockage, nous devrions essayer de choisir le type entier approprié. Par exemple, tinyint peut être utilisé pour stocker certaines valeurs de statut ou l'âge des personnes pour les colonnes de clé primaire, il n'y a pas de nombres négatifs. Il est recommandé d'utiliser int unsigned ou bigint unsigned pour estimer le nombre de champs. La valeur dépassera 4,2 milliards, en utilisant le type bigint.
Les types à virgule flottante incluent principalement float et double. Les types à virgule flottante stockent des valeurs approximatives dans la base de données, telles que float(6,3). Si vous insérez un nombre 123.45678, le nombre réel stocké dans la base de données est 123.457, mais. le nombre total Il dépend également de la situation réelle, c'est-à-dire 6 chiffres, et la partie entière maximale est de 3 chiffres. float et double ne sont pas couramment utilisés.
Il existe un type de champ à virgule fixe : DECIMAL, qui est principalement utilisé pour stocker des décimales avec des exigences de précision.
DECIMAL a été introduit à partir de MySQL 5.1 et la syntaxe de déclaration de colonne est DECIMAL(M,D). NUMERIC est synonyme de DECIMAL Si le type de champ est défini comme NUMERIC, il sera automatiquement converti en DECIMAL.
Pour la syntaxe de déclaration DECIMAL(M,D), la plage de valeurs de l'argument est la suivante :
- M est le nombre maximum de chiffres (précision), allant de 1 à 65. Ne peut pas être spécifié, la valeur par défaut est 10.
- D est le nombre de chiffres à droite de la virgule décimale (places décimales). La plage est comprise entre 0 et 30 et ne peut pas être supérieure à M. Il n'est pas nécessaire de la spécifier. La valeur par défaut est 0.
Par exemple, le champ salaire DECIMAL(5,2) est capable de stocker n'importe quelle valeur avec cinq chiffres et deux décimales, donc la plage de valeurs pouvant être stockée dans la colonne salaire est de -999,99 à 999,99. .
2. Type de chaîne
Le type de chaîne est également souvent utilisé. Les types couramment utilisés sont les suivants :
Parmi eux, char et varchar sont les plus couramment utilisés. Le type char est de longueur fixe et MySQL alloue toujours suffisamment d'espace en fonction de la longueur de chaîne définie. Lorsque les valeurs de caractères sont enregistrées, elles sont complétées vers la droite avec des espaces de la longueur spécifiée, et lorsque les valeurs de caractères sont récupérées, les espaces de fin sont supprimés. Le type varchar est utilisé pour stocker des chaînes de longueur variable. Lors du stockage, si les caractères n'atteignent pas le nombre de chiffres défini, aucun espace ne sera ajouté à la fin. Le M dans
char(M) et varchar(M) représente le nombre maximum de caractères enregistrés. Une seule lettre, un chiffre, un chinois, etc. occupent tous un caractère. char convient au stockage de chaînes très courtes ou lorsque toutes les valeurs sont proches de la même longueur. Par exemple, char est idéal pour stocker la valeur MD5 d'un mot de passe car il s'agit d'une valeur de longueur fixe. Pour les situations où la chaîne est très longue ou les chaînes à stocker sont de longueurs différentes, varchar est plus adapté.
Lors de la définition de la longueur maximale d'un champ, nous devons l'attribuer selon les besoins, faire une estimation à l'avance et essayer de ne pas utiliser le type texte si le type varchar peut être utilisé. À moins qu’il ne soit nécessaire de stocker des données textuelles longues, envisagez d’utiliser le type texte.
Le type BLOB est principalement utilisé pour stocker de gros objets binaires, tels que des images, des fichiers audio et vidéo. Rarement utilisé dans la vie quotidienne, vous pouvez envisager de l'utiliser lors du stockage de chaînes binaires.
3. Types de date et d'heure
Les types de date et d'heure pris en charge par MySQL sont YEAR, TIME, DATE, DATETIME, TIMESTAMP La comparaison de plusieurs types est la suivante :
.
En ce qui concerne la sélection du type de champ de date et d'heure, sélectionnez simplement le type approprié en fonction des exigences de stockage.
Le choix entre les types DATETIME et TIMESTAMP peut être basé sur les exigences de stockage. Par exemple, si une plage de stockage plus large est requise, il est recommandé d'utiliser DATETIME. Si vous stockez uniquement l'horodatage actuel, vous pouvez utiliser le type TIMESTAMP. Cependant, il convient de noter que les données du champ TIMESTAMP changeront avec le fuseau horaire du système, mais pas les données du champ DATETIME. En général, DATETIME est plus largement utilisé.
Résumé :
Cet article présente principalement les types de champs couramment utilisés dans MySQL. Les types de champs couramment utilisés sont essentiellement ici. Il est résumé comme suit avec une carte mentale :
Apprentissage recommandé : vidéo mysql. tutoriel
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!

MySQLoffersVariousStorageEngines, chacune, chacun desCasses: 1) InnodbisidealForApplications newedingacidcompenciance and highcurrency, soutenant les transactions et manqueurs

Les vulnérabilités de sécurité courantes dans MySQL incluent l'injection SQL, les mots de passe faibles, la configuration d'autorisation incorrecte et les logiciels unpudés. 1. L'injection SQL peut être évitée en utilisant des instructions de prétraitement. 2. Les mots de passe faibles peuvent être évités en utilisant de force des stratégies de mot de passe solides. 3. Une mauvaise configuration d'autorisation peut être résolue par examen régulier et ajustement des autorisations utilisateur. 4. Les logiciels unpus peuvent être corrigés en vérifiant et mise à jour régulièrement la version MySQL.

L'identification des requêtes lentes dans MySQL peut être réalisée en activant les journaux de requête lents et en définissant des seuils. 1. Activer les journaux de requête lents et définir les seuils. 2. Afficher et analyser les fichiers journaux de requête lente et utiliser des outils tels que MySqlDumpSlow ou Pt-Query-digest pour une analyse approfondie. 3. Optimisation des requêtes lentes peut être réalisée grâce à l'optimisation de l'index, à la réécriture de la requête et à l'évitement de l'utilisation de Select *.

Pour surveiller la santé et les performances des serveurs MySQL, vous devez prêter attention à la santé du système, aux mesures de performance et à l'exécution des requêtes. 1) Surveiller la santé du système: utilisez les commandes TOP, HTOP ou ShowGlobalStatus pour afficher les activités du CPU, de la mémoire, des E / S de disque et du réseau. 2) Suivre les indicateurs de performance: surveiller les indicateurs clés tels que le numéro de requête par seconde, le temps de requête moyen et le taux de réussite du cache. 3) Assurer l'optimisation de l'exécution des requêtes: activer les journaux de requête lents, enregistrer et optimiser les requêtes dont le temps d'exécution dépasse le seuil défini.

La principale différence entre MySQL et MARIADB est les performances, les fonctionnalités et la licence: 1. MySQL est développé par Oracle, et MariADB est sa fourche. 2. MariaDB peut mieux fonctionner dans des environnements à haute charge. 3.MariaDB fournit plus de moteurs et de fonctions de stockage. 4.MySQL adopte une double licence et MariaDB est entièrement open source. L'infrastructure existante, les exigences de performance, les exigences fonctionnelles et les coûts de licence doivent être pris en compte lors du choix.

MySQL utilise une licence GPL. 1) La licence GPL permet l'utilisation, la modification et la distribution gratuites de MySQL, mais la distribution modifiée doit se conformer à GPL. 2) Les licences commerciales peuvent éviter les modifications publiques et conviennent aux applications commerciales qui nécessitent de la confidentialité.

Les situations lors du choix d'innodb au lieu de Myisam incluent: 1) le support de transaction, 2) un environnement de concurrence élevé, 3) une cohérence élevée des données; Inversement, la situation où le choix de Myisam comprend: 1) la lecture principalement des opérations, 2) Aucun support de transaction n'est requis. INNODB convient aux applications qui nécessitent une cohérence élevée des données et un traitement des transactions, telles que les plates-formes de commerce électronique, tandis que Myisam convient aux applications en lecture et sans transaction telles que les systèmes de blog.

Dans MySQL, la fonction des clés étrangères est d'établir la relation entre les tables et d'assurer la cohérence et l'intégrité des données. Les clés étrangères maintiennent l'efficacité des données grâce à des contrôles d'intégrité de référence et aux opérations en cascade. Faites attention à l'optimisation des performances et évitez les erreurs courantes lorsque vous les utilisez.


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Version Mac de WebStorm
Outils de développement JavaScript utiles

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !
