recherche
Maisonbase de donnéestutoriel mysqlL'analyse la plus complète : les types de champs MySQL

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.

L'analyse la plus complète : les types de champs MySQL

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 :

Lanalyse la plus complète : les types de champs MySQL

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.

Lanalyse la plus complète : les types de champs MySQL

Il existe un type de champ à virgule fixe : DECIMAL, qui est principalement utilisé pour stocker des décimales avec des exigences de précision.

Lanalyse la plus complète : les types de champs MySQL

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 :

Lanalyse la plus complète : les types de champs MySQL

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 :

. Lanalyse la plus complète : les types de champs MySQL

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 :

Lanalyse la plus complète : les types de champs MySQL

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!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

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)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

DVWA

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

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.