Quels sont les types de champs MySQL ?
Il existe 5 types de types de champs MySQL : 1. Type entier, principalement utilisé pour stocker des nombres entiers, notamment INT, BIGINT, TINYINT, etc. ; 2. Types de nombres à virgule flottante et de nombres à virgule fixe, utilisés pour stocker des nombres décimaux. les nombres à virgule incluent FLOAT et DOUBLE. Les nombres à virgule fixe incluent DECIMAL ; 3. Type de chaîne, utilisé pour stocker des données de chaîne, etc.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Chaque champ de la base de données doit avoir un type de données approprié qui limite ou autorise les données stockées dans cette colonne. Par exemple, si le champ stocke des nombres, le type de données correspondant doit être numérique.
L'utilisation d'un mauvais type de données peut sérieusement affecter la fonctionnalité et les performances de l'application. Par conséquent, lors de la conception des tableaux, une attention particulière doit être accordée aux types de données utilisés dans les colonnes de données. Changer une colonne contenant des données n’est pas une mince affaire et cela peut entraîner une perte de données. Par conséquent, le type et la longueur de données corrects doivent être définis pour chaque colonne lors de la création du tableau.
Les types de données des champs MySQL peuvent être grossièrement divisés en 5 types, à savoir le type entier, le type à virgule flottante et le type à virgule fixe, le type de date et d'heure, le type de chaîne, le type binaire, etc.
Remarque : les types entiers et les types à virgule flottante peuvent être collectivement appelés types de données numériques.
1. Type entier
Le type entier est également appelé données numériques. Le type de données numérique est principalement utilisé pour stocker des nombres entiers.
MySQL fournit une variété de types de données numériques. Différents types de données fournissent différentes plages de valeurs. Plus la plage de valeurs pouvant être stockée est grande, plus l'espace de stockage requis est grand.
Les principaux types d'entiers fournis par MySQL sont TINYINT, SMALLINT, MEDIUMINT, INT et BIGINT, et des contraintes d'incrémentation automatique AUTO_INCREMENT peuvent être ajoutées à leurs champs d'attributs. Le tableau suivant répertorie les types numériques dans MySQL.
Nom du type | Description | Exigences de stockage |
---|---|---|
TINYINT | très petit entier | 1 octet |
SMALLINT | petit entier | Festival 2 Yu |
MEDIUMINT | medium taille entière | 3 octets |
INT (INTEGHR) | entier de taille normale | 4 octets |
BIGINT | grand entier | 8 octets |
Comme vous pouvez le voir dans le tableau ci-dessus, différents types d'entiers nécessitent différents nombres d'octets à stocker. Le type TINYINT occupe le plus petit nombre d'octets et le type BIGINT occupe le plus grand nombre d'octets. Plus il occupe d'octets, plus il y a de types, plus la plage de. valeurs qui peuvent être représentées.
La plage de valeurs de chaque type de données peut être trouvée en fonction du nombre d'octets occupés. Par exemple, TINYINT nécessite 1 octet (8 bits) pour stocker, alors la valeur maximale du numéro non signé TINYINT est 28-1, soit 255 ; la valeur maximale du numéro signé TINYINT est 27-1, soit 127.
2. Types à virgule flottante et à virgule fixe
MySQL utilise des nombres à virgule flottante et à virgule fixe pour représenter les décimales.
Il existe deux types de nombres à virgule flottante, les nombres à virgule flottante simple précision (FLOAT) et les nombres à virgule flottante double précision (DOUBLE) ; il n'existe qu'un seul type à virgule fixe, qui est DECIMAL ;
Les types à virgule flottante et les types à virgule fixe peuvent être représentés par (M, D), où M est appelé précision, indiquant le nombre total de chiffres ; D est appelé échelle, indiquant le nombre de chiffres décimaux.
La plage de valeurs du type de nombre à virgule flottante est M (1 ~ 255) et D (1 ~ 30, et ne peut pas être supérieure à M-2), qui représentent respectivement la largeur d'affichage et le nombre de décimales. M et D sont facultatifs dans FLOAT et DOUBLE, et les types FLOAT et DOUBLE seront enregistrés avec la précision maximale prise en charge par le matériel. La valeur D par défaut pour DECIMAL est 0 et la valeur M est 10.
Le tableau suivant répertorie les types décimaux et les exigences de stockage dans MySQL.
Nom du type | Description | Exigences de stockage |
---|---|---|
FLOAT | Point flottant simple précision | 4 octets |
DOUBLE | Point flottant double précision | 8 octets |
DÉCIMAL ( M, D), DEC | Numéro à virgule fixe "strict" compressé | M+2 octets |
Le type DECIMAL est différent de FLOAT et DOUBLE. DOUBLE est en fait stocké sous la forme d'une chaîne. La plage de valeurs maximale possible de DECIMAL est la même que celle de DOUBLE, mais la plage de valeurs effective est déterminée par M et D. Si M est modifié et D est fixe, la plage de valeurs s'élargit à mesure que M grandit.
Comme vous pouvez le voir dans le tableau ci-dessus, l'espace de stockage de DECIMAL n'est pas fixe, mais est déterminé par la valeur de précision M, occupant M+2 octets.
La plage de valeurs du type FLOAT est la suivante :
La plage de valeurs signée : -3.402823466E+38~-1.175494351E-38.
Plage de valeurs non signées : 0 et -1,175494351E-38~-3,402823466E+38. La plage de valeurs du type
DOUBLE est la suivante :
La plage de valeurs signée : -1.7976931348623157E+308~-2.2250738585072014E-308.
Plage de valeurs non signées : 0 et -2,2250738585072014E-308~-1,7976931348623157E+308.
Conseils : Qu'il s'agisse de type à virgule fixe ou à virgule flottante, si la précision spécifiée par l'utilisateur dépasse la plage de précision, elle sera arrondie pour le traitement.
FLOAT et DOUBLE prendront par défaut la précision réelle (déterminée par le matériel informatique et le système d'exploitation) lorsque la précision n'est pas spécifiée. DECIMAL sera par défaut (10, 0) si la précision n'est pas spécifiée.
L'avantage des nombres à virgule flottante par rapport aux nombres à virgule fixe est qu'ils peuvent représenter une plage plus large lorsque la longueur est constante ; l'inconvénient est que cela peut entraîner des problèmes de précision.
Enfin, permettez-moi de souligner : dans MySQL, les nombres à virgule fixe sont stockés sous forme de chaînes. Lorsque les exigences de précision sont relativement élevées (comme la devise, les données scientifiques), il est préférable d'utiliser le type DECIMAL, et le type DECIMAL. Deux autres nombres à virgule flottante sont utilisés pour la soustraction et la sommation. Les opérations de comparaison sont également sujettes à des problèmes, vous devez donc faire attention lorsque vous utilisez des nombres à virgule flottante et essayer d'éviter les comparaisons à virgule flottante.
3. Type date/heure
Il existe de nombreux types de données représentant les dates dans MySQL : YEAR, TIME, DATE, DTAETIME, TIMESTAMP. Lorsque vous enregistrez uniquement les informations sur l’année, vous ne pouvez utiliser que le type ANNÉE.
Chaque type a une plage de valeurs légales. Lorsqu'une valeur illégale est spécifiée, le système insérera une valeur « zéro » dans la base de données.
Le tableau suivant répertorie les types de date et d'heure dans MySQL.
Nom du type | Format de date | Plage de dates | Exigences de stockage |
---|---|---|---|
ANNÉE | AAAA | 1901 ~ 2155 | 1 octet |
HEURE | HH:MM:SS | -838:59:59 ~ 838:59:59 | 3 octets |
DATE | AAAA-MM-JJ | 1000-01-01 ~ 9999-12-3 | 3 mots Section |
DATETIME | AAAA-MM-JJ HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8 octets |
TIMESTAMP | AAAA-MM -DD HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4 octets |
Type YEAR
Le type YEAR est un type à un octet utilisé pour représenter l'année, ne nécessitant qu'un seul octet pour le stockage. L'ANNÉE peut être spécifiée dans différents formats, comme suit :
ANNÉE exprimée sous forme de chaîne à 4 chiffres ou au format numérique à 4 chiffres, allant de « 1901 » à « 2155 ». Le format de saisie est 'YYYY' ou YYYY. Par exemple, si vous saisissez '2010' ou 2010, les valeurs insérées dans la base de données seront 2010.
ANNÉE exprimée sous forme de chaîne à 2 chiffres, allant de « 00 » à « 99 ». Les valeurs comprises entre « 00 » et « 69 » et « 70 » et « 99 » sont converties en valeurs ANNÉE comprises entre 2000 et 2069 et entre 1970 et 1999 respectivement. « 0 » a le même effet que « 00 ». Les valeurs insérées en dehors de la plage seront converties en 2000.
ANNÉE exprimée sous la forme d'un nombre à 2 chiffres, allant de 1 à 99. Les valeurs comprises entre 1 et 99 et 70 à 99 sont converties en valeurs ANNÉE comprises entre 2001 et 2069 et 1970 à 1999 respectivement. Notez qu'ici une valeur de 0 sera convertie en 0000 et non en 2000.
Conseil : La plage de nombres entiers à deux chiffres est légèrement différente de la plage de chaînes à deux chiffres. Par exemple, pour insérer l'année 3000, un lecteur peut utiliser le format numérique 0 pour représenter l'ANNÉE, mais en fait, la valeur insérée dans la base de données est 0000 et non 3000 comme prévu. Seuls « 0 » ou « 00 » au format chaîne peuvent être correctement interprétés comme 3000, les valeurs illégales de l'ANNÉE seront converties en 0000.
Type TIME
Le type TIME est utilisé pour les valeurs qui nécessitent uniquement des informations temporelles et nécessitent 3 octets pour le stockage. Le format est HH:MM:SS. HH représente les heures, MM représente les minutes et SS représente les secondes.
La plage de valeurs du type TIME est -838:59:59~838:59:59 La raison pour laquelle la partie heure est si grande est que le type TIME ne peut pas seulement être utilisé pour représenter l'heure d'une journée ( doit être inférieur à 24 heures), mais peut également être un certain temps écoulé depuis un événement ou le temps entre deux événements (peut être supérieur à 24 heures, voire négatif).
Les valeurs TIME peuvent être spécifiées en utilisant différents formats, comme indiqué ci-dessous.
'D HH:MM:SS' chaîne de format. Vous pouvez également utiliser ces syntaxes « non strictes » : 'HH:MM:SS', 'HH:MM', 'D HH' ou 'SS'. D représente ici le jour, qui peut prendre une valeur comprise entre 0 et 34. Lors de l'insertion dans la base de données, D est converti en heures et enregistré au format "D*24+HH".
Format 'HHMMSS', une chaîne sans séparateurs, ou une valeur numérique au format HHMMSS, en supposant une heure significative. Par exemple, « 101112 » signifie « 10:11:12 », mais « 106112 » est illégal (il comporte une partie minutes dénuée de sens) et deviendra 00:00:00 une fois stocké.
Astuce : lors de l'attribution de valeurs abrégées à la colonne TIME, veuillez noter : s'il n'y a pas de deux-points, MySQL suppose que les deux chiffres les plus à droite représentent les secondes lors de l'interprétation de la valeur. (MySQL interprète les valeurs TIME comme l'heure passée plutôt que l'heure actuelle). Par exemple, un lecteur pourrait penser que « 1112 » et 1112 signifient 11:12:00 (soit 12 minutes après 11 heures), mais MySQL les interprète comme 00:11:12 (soit 11 minutes et 12 secondes). ). De même, « 12 » et 12 sont interprétés comme 00:00:12. Au contraire, si deux points sont utilisés dans la valeur TIME, ils sont définitivement considérés comme l'heure de la journée, c'est-à-dire que « 11:12 » signifie 11:12:00 et non 00:11:12.
Type DATE
Le type DATE est utilisé lorsqu'une seule valeur de date est nécessaire, sans la partie heure, et nécessite 3 octets pour le stockage. Le format de date est « AAAA-MM-JJ », où AAAA représente l'année, MM représente le mois et JJ représente le jour.
Lors de l'attribution de valeurs aux champs de type DATE, vous pouvez utiliser des données de type chaîne ou de type numérique à insérer, à condition qu'elles soient conformes au format de date de DATE. Comme indiqué ci-dessous :
La date exprimée au format de caractères « AAAA-MM-JJ » ou « AAAAMMJJ », la plage de valeurs est « 1000-01-01 » ~ « 9999-12-3 ». Par exemple, saisissez « 2015-12-31 » ou « 20151231 » et la date insérée dans la base de données sera le 2015-12-31.
Représente la date au format de chaîne « AA-MM-JJ » ou « AAMMJJ », où AA représente la valeur de l'année à deux chiffres. MySQL interprète les règles pour les valeurs d'année à deux chiffres : les valeurs d'année comprises entre « 00 et 69 » sont converties en « 2000 ~ 2069 », et les valeurs d'année comprises entre « 70 et 99 » sont converties en "1970 ~ 1999". Par exemple, si vous saisissez « 15-12-31 », la date insérée dans la base de données est le 2015-12-31 ; si vous saisissez « 991231 », la date insérée dans la base de données est le 1999-12-31.
Date exprimée au format numérique AAMMJJ, similaire au précédent, les valeurs de l'année comprises entre 00 et 69 sont converties en 2000 à 2069 et les valeurs de l'année comprises entre 80 et 99 sont converties en 1980 ~ 1999. Par exemple, si vous saisissez 151231, la date insérée dans la base de données est le 31/12/2015, et si vous saisissez 991231, la date insérée dans la base de données est le 31/12/1999.
Utilisez CURRENT_DATE ou NOW() pour insérer la date actuelle du système.
Astuce : MySQL autorise une syntaxe "détendue" : n'importe quel signe de ponctuation peut être utilisé comme séparateur entre les parties de date. Par exemple, '98-11-31', '98.11.31', '98/11/31' et '98@11@31' sont équivalents et ces valeurs seront insérées correctement dans la base de données.
Type DATETIME
Le type DATETIME est utilisé pour les valeurs qui doivent contenir à la fois des informations de date et d'heure et nécessite 8 octets pour le stockage. Le format de date est « AAAA-MM-JJ HH:MM:SS », où AAAA représente l'année, MM représente le mois, DD représente le jour, HH représente l'heure, MM représente la minute et SS représente la seconde.
Lors de l'attribution de valeurs aux champs de type DATETIME, vous pouvez utiliser des données de type chaîne ou de type numérique à insérer, à condition qu'elles soient conformes au format de date de DATETIME, comme indiqué ci-dessous.
La date exprimée au format de chaîne 'AAAA-MM-JJ HH:MM:SS' ou 'AAAAMMJJHHMMSS', la plage de valeurs est '1000-01-01 00:00:00'~'9999-12 - 3 23:59:59'. Par exemple, si vous saisissez « 2014-12-31 05:05:05 » ou « 20141231050505 », la valeur DATETIME insérée dans la base de données sera 2014-12-31 05:05:05.
Une date représentée au format de chaîne « AA-MM-JJ HH:MM:SS » ou « AAMMJJHHMMSS », où AA représente la valeur de l'année à deux chiffres. Comme auparavant, la valeur de l'année dans la plage de « 00 à 79 » est convertie en « 2000 à 2079 », et la valeur de l'année dans la plage de « 80 à 99 » est convertie en « 1980 à 1999 ». Par exemple, si vous saisissez « 14-12-31 05:05:05 », le DATETIME inséré dans la base de données est 2014-12-31 05:05:05 ; si vous saisissez 141231050505, le DATETIME inséré dans la base de données est 2014 ; -12-31 05:05:05 .
Date et heure exprimées au format numérique AAAAMMJJHHMMSS ou AAMMJJHHMMSS. Par exemple, si vous entrez 20141231050505, le DATETIME inséré dans la base de données est 2014-12-31 05:05:05 ; si vous entrez 140505050505, le DATETIME inséré dans la base de données est 2014-12-31 05:05:05.
Astuce : MySQL autorise une syntaxe "détendue" : n'importe quel signe de ponctuation peut être utilisé comme séparateur entre les parties de date ou les parties d'heure. Par exemple, '98-12-31 11:30:45', '98.12.31 11+30+35', '98/12/31 11*30*45' et '98@12@31 11^30^ 45' sont équivalents et ces valeurs peuvent être insérées correctement dans la base de données.
Type TIMESTAMP
Le format d'affichage de TIMESTAMP est le même que DATETIME, la largeur d'affichage est fixée à 19 caractères, le format de date est AAAA-MM-JJ HH:MM:SS, ce qui nécessite 4 octets pour le stockage. Toutefois, la plage de valeurs de la colonne TIMESTAMP est plus petite que la plage de valeurs de DATETIME, qui est « 1970-01-01 00:00:01'UTC~'2038-01-19 03:14:07'UTC. Lors de l'insertion de données, assurez-vous qu'elles se situent dans la plage de valeurs légales.
Conseils : Le temps universel coordonné (anglais : temps universel coordonné, français : Temps Universel Coordonné) est également connu sous le nom de temps universel unifié, de temps standard universel et de temps international coordonné. Les abréviations anglaise (CUT) et française (TUC) sont différentes et, à titre de compromis, l'abréviation est UTC.
TIMESTAMP et DATETIME, en plus des différents octets de stockage et plages prises en charge, la plus grande différence est :
DATETIME Lors du stockage des données de date, elles sont stockées dans le format d'entrée réel, c'est-à-dire quelle que soit l'entrée qui est stockée. Cela n'a rien à voir avec le fuseau horaire ;
Le stockage de la valeur TIMESTAMP est enregistré au format UTC (Temps universel coordonné). Le fuseau horaire actuel est converti lors du stockage, puis reconverti dans le fuseau horaire actuel lors de la récupération. Autrement dit, lors de l'interrogation, la valeur temporelle affichée est différente en fonction du fuseau horaire actuel.
Conseil : Si vous attribuez une valeur DATE à un objet DATETIME ou TIMESTAMP, la partie heure de la valeur résultante est définie sur « 00:00:00 », donc la valeur DATE ne contient pas d'informations temporelles. Si un objet DATE se voit attribuer une valeur DATETIME ou TIMESTAMP, la partie heure de la valeur résultante est supprimée, de sorte que la valeur DATE ne contient aucune information temporelle.
4. Type de chaîne
Le type de chaîne est utilisé pour stocker des données de chaîne et peut également stocker des données binaires d'images et de sons. Les chaînes peuvent être comparées à des chaînes sensibles à la casse ou insensibles, et des recherches de correspondance d'expressions régulières peuvent également être effectuées.
Les types de chaînes dans MySQL incluent CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET, etc.
Le tableau suivant répertorie les types de données de chaîne dans MySQL. Le M entre parenthèses indique que la longueur peut être spécifiée.
Nom du type | Description | Exigences de stockage | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CHAR(M) | Chaîne non binaire de longueur fixe | M octets, 1<=M<=255 | ||||||||||||||||||||||
V ARCHAR(M) | Chaîne non binaire de longueur variable | L+1 octets, où L | ||||||||||||||||||||||
TEXTE | Petite chaîne non binaire | L+2 octets, où L<2 | ^||||||||||||||||||||||
MEDIUMTEXT | Medium Une chaîne non binaire de taille L+3 octets, où L<2^24 | |||||||||||||||||||||||
LONGTEXT | Une chaîne non binaire de taille | L+ 4 octets, où L<2^ 32 | ||||||||||||||||||||||
ENUM | Type d'énumération, ne peut avoir qu'une seule valeur de chaîne d'énumération | 1 ou 2 octets, selon le nombre de valeurs d'énumération (la valeur maximale est 65535) | ||||||||||||||||||||||
SET | Un objet ensemble, chaîne peut avoir zéro ou plusieurs membres SET | 1, 2, 3, 4 ou 8 octets, selon le nombre de membres de l'ensemble (jusqu'à 64 membres) | ||||||||||||||||||||||
Les types VARCHAR et TEXT sont des types de longueur variable et leurs exigences de stockage dépendent de la longueur réelle de la valeur de la colonne (notée L dans le tableau précédent), plutôt que de la taille maximale possible du type. Par exemple, une colonne VARCHAR(10) peut stocker une chaîne d'une longueur maximale de 10 caractères. Le stockage réel nécessite la longueur L de la chaîne plus un octet pour enregistrer la longueur de la chaîne. Pour le caractère "abcd", L vaut 4 et le stockage nécessite 5 octets. Les types CHAR et VARCHAR CHAR(M) sont des chaînes de longueur fixe et la longueur de la colonne de chaîne est spécifiée lors de la définition. Une fois enregistré, remplit les espaces à droite jusqu'à la longueur spécifiée. M représente la longueur de la colonne, allant de 0 à 255 caractères. Par exemple, CHAR(4) définit une colonne de chaîne de longueur fixe contenant un maximum de 4 caractères. Lorsqu'une valeur CHAR est récupérée, les espaces de fin sont supprimés. VARCHAR(M) est une chaîne de longueur variable, M représente la longueur de la colonne maximale et la plage de M est de 0 à 65535. La longueur réelle maximale d'un VARCHAR est déterminée par la taille de la ligne la plus longue et le jeu de caractères utilisé, tandis que l'espace réel occupé est la longueur réelle de la chaîne plus un. Par exemple, VARCHAR(50) définit une chaîne d'une longueur maximale de 50. Si la chaîne insérée ne contient que 10 caractères, la chaîne réellement stockée sera de 10 caractères et un caractère de fin de chaîne. Les espaces de fin VARCHAR sont conservés lorsque les valeurs sont enregistrées et récupérées. Type TEXT La colonne TEXT stocke les chaînes non binaires, telles que le contenu de l'article, les commentaires, etc. Les espaces de fin ne sont pas supprimés lors de l'enregistrement ou de l'interrogation des valeurs de colonne TEXT. Les types TEXT sont divisés en 4 types : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT. Différents types de TEXTE ont des espaces de stockage et des longueurs de données différents.
ENUM ENUM est un objet chaîne dont la valeur est une valeur de colonne énumérée dans la spécification de colonne lors de la création de la table. Le format de syntaxe est le suivant : <字段名> ENUM( '值1', '值1', …, '值n' ) Copier après la connexion Le nom du champ fait référence au champ à définir, et la valeur n fait référence à la nième valeur de la liste d'énumération. Les champs de type ENUM peuvent être obtenus à partir de la liste d'énumération spécifiée lors de la prise de valeurs, et une seule valeur peut être obtenue à la fois. S'il y a des espaces dans le membre créé, les espaces de fin seront automatiquement supprimés. Les valeurs ENUM sont représentées en interne par des entiers, et chaque valeur d'énumération a une valeur d'index ; les valeurs de membre autorisées dans la valeur de liste sont numérotées à partir de 1, et MySQL stocke ce numéro d'index. 65535 éléments. Type SET SET est un objet chaîne qui peut avoir zéro ou plusieurs valeurs. La colonne SET peut avoir jusqu'à 64 membres, et la valeur est une valeur de colonne spécifiée lors de la création de la table. Lorsque vous spécifiez une valeur de colonne SET qui inclut plusieurs membres SET, séparez chaque membre par une virgule. Le format de syntaxe est le suivant : SET( '值1', '值2', …, '值n' ) Copier après la connexion est le même que le type ENUM. La valeur SET est représentée en interne par un entier. la liste a un numéro d'index. Les espaces de fin des valeurs des membres SET sont automatiquement supprimés lors de la création de la table. Mais contrairement au type ENUM, le champ de type ENUM ne peut sélectionner qu'une seule valeur parmi les valeurs de colonne définies à insérer, tandis que la colonne de type SET peut sélectionner l'union de plusieurs caractères parmi les valeurs de colonne définies.
5. Type binaire MySQL prend en charge deux types de données de caractères : les chaînes de texte et les chaînes binaires. Dans la section précédente « Type de chaîne MySQL », nous avons parlé des chaînes de texte, dans cette section nous expliquerons les chaînes binaires.
Les chaînes binaires dans MySQL sont BIT, BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB. Le tableau suivant répertorie les types de données binaires dans MySQL. Le M entre parenthèses indique que la longueur peut être spécifiée.
BIT 类型 位字段类型。M 表示每个值的位数,范围为 1~64。如果 M 被省略,默认值为 1。如果为 BIT(M) 列分配的值的长度小于 M 位,在值的左边用 0 填充。例如,为 BIT(6) 列分配一个值 b'101',其效果与分配 b'000101' 相同。 BIT 数据类型用来保存位字段值,例如以二进制的形式保存数据 13,13 的二进制形式为 1101,在这里需要位数至少为 4 位的 BIT 类型,即可以定义列类型为 BIT(4)。大于二进制 1111 的数据是不能插入 BIT(4) 类型的字段中的。 提示:默认情况下,MySQL 不可以插入超出该列允许范围的值,因而插入数据时要确保插入的值在指定的范围内。 BINARY 和 VARBINARY 类型 BINARY 和 VARBINARY 类型类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字节字符串。使用的语法格式如下: 列名称 BINARY(M) 或者 VARBINARY(M) Copier après la connexion BINARY 类型的长度是固定的,指定长度后,不足最大长度的,将在它们右边填充 “\0” 补齐,以达到指定长度。例如,指定列数据类型为 BINARY(3),当插入 a 时,存储的内容实际为 “\a0\0”,当插入 ab 时,实际存储的内容为“ab\0”,无论存储的内容是否达到指定的长度,存储空间均为指定的值 M。 VARBINARY 类型的长度是可变的,指定好长度之后,长度可以在 0 到最大值之间。例如,指定列数据类型为 VARBINARY(20),如果插入的值长度只有 10,则实际存储空间为 10 加 1,实际占用的空间为字符串的实际长度加 1。 BLOB 类型 BLOB 是一个二进制的对象,用来存储可变数量的数据。BLOB 类型分为 4 种:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB 【相关推荐:mysql视频教程】 |
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!

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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les principales raisons pour lesquelles vous ne pouvez pas vous connecter à MySQL en tant que racines sont des problèmes d'autorisation, des erreurs de fichier de configuration, des problèmes de mot de passe incohérents, des problèmes de fichiers de socket ou une interception de pare-feu. La solution comprend: vérifiez si le paramètre Bind-Address dans le fichier de configuration est configuré correctement. Vérifiez si les autorisations de l'utilisateur racine ont été modifiées ou supprimées et réinitialisées. Vérifiez que le mot de passe est précis, y compris les cas et les caractères spéciaux. Vérifiez les paramètres et les chemins d'autorisation du fichier de socket. Vérifiez que le pare-feu bloque les connexions au serveur MySQL.

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.

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.

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

Lorsque MySQL modifie la structure du tableau, les verrous de métadonnées sont généralement utilisés, ce qui peut entraîner le verrouillage du tableau. Pour réduire l'impact des serrures, les mesures suivantes peuvent être prises: 1. Gardez les tables disponibles avec le DDL en ligne; 2. Effectuer des modifications complexes en lots; 3. Opérez pendant les périodes petites ou hors pointe; 4. Utilisez des outils PT-OSC pour obtenir un contrôle plus fin.

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.

MySQL ne peut pas fonctionner directement sur Android, mais il peut être implémenté indirectement en utilisant les méthodes suivantes: à l'aide de la base de données légère SQLite, qui est construite sur le système Android, ne nécessite pas de serveur distinct et a une petite utilisation des ressources, qui est très adaptée aux applications de périphériques mobiles. Connectez-vous à distance au serveur MySQL et connectez-vous à la base de données MySQL sur le serveur distant via le réseau pour la lecture et l'écriture de données, mais il existe des inconvénients tels que des dépendances de réseau solides, des problèmes de sécurité et des coûts de serveur.

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.
