Maison base de données tutoriel mysql Modifiez le champ de partition en ligne dans la partition de la table de partition MySQL, puis apprenez-en plus sur la partition (2) -> les sous-partitions et le traitement de la saisie des valeurs nulles.

Modifiez le champ de partition en ligne dans la partition de la table de partition MySQL, puis apprenez-en plus sur la partition (2) -> les sous-partitions et le traitement de la saisie des valeurs nulles.

Feb 17, 2017 am 11:58 AM
mysql partition 分区表

-- MySQL分区, 以及对录入Null值的处理情况. 看完官方文档做的笔记.

-- Partitionnement par clé
Le partitionnement par clé est similaire au partitionnement par hachage, sauf que le partitionnement par hachage utilise un partitionnement défini par l'utilisateur. expression, la fonction de hachage pour le partitionnement des clés est fournie par le serveur MySQL. Cette fonction de hachage interne est basée sur le même algorithme que PASSWORD().
KEY est utilisé plutôt que HASH.
KEY prend uniquement une liste d'un ou plusieurs noms de colonnes. La ou les colonnes utilisées comme clé de partitionnement doivent comprendre une partie ou la totalité de la clé primaire de la table, si la table en a une.
KEY prend une liste de zéro ou plusieurs noms de colonnes. Lorsqu'aucun nom de colonne n'est spécifié comme clé de partitionnement, la clé primaire de la table est utilisée, le cas échéant. Par exemple, l'instruction CREATE TABLE suivante est valide dans MySQL 5.5 : 

 mysql> CREATE TABLE k1 (
  ->     id INT NOT NULL PRIMARY KEY,
  ->     name VARCHAR(20)
  -> )
  -> PARTITION BY KEY()
  -> PARTITIONS 2;
 Query OK, 0 rows affected (0.06 sec)

 If there is no primary key but there is a unique key, then the unique key is used for the partitioning key:
 mysql> CREATE TABLE k2 (
  ->     id INT NOT NULL,
  ->     name VARCHAR(20),
  ->     UNIQUE KEY (id)
  -> )
  -> PARTITION BY KEY()
  -> PARTITIONS 2;
 Query OK, 0 rows affected (0.02 sec)
Copier après la connexion



Cependant, si la colonne de clé unique n'était pas définie comme NOT NULL, alors l'instruction précédente échouerait.

Dans ces deux cas, la clé de partitionnement est la colonne id, même si elle n'est pas affichée dans la sortie de SHOW CREATE TABLE ou dans la colonne PARTITION_EXPRESSION de INFORMATION_SCHEMA Table .PARTITIONS.
Comme ci-dessous :

mysql>  SELECT t.TABLE_NAME, t.PARTITION_NAME,t.TABLE_ROWS  FROM INFORMATION_SCHEMA.PARTITIONS t WHERE table_name='k2';
+------------+----------------+------------+
| TABLE_NAME | PARTITION_NAME | TABLE_ROWS |
+------------+----------------+------------+
| k2         | p0             |          3 |
| k2         | p1             |          4 |
+------------+----------------+------------+
2 rows in set (0.01 sec)
Copier après la connexion

Contrairement au cas des autres types de partitionnement, les colonnes utilisées pour le partitionnement par KEY ne sont pas limitées aux valeurs entières ou NULL.
Par exemple , l'instruction CREATE TABLE suivante est valide : <br/>没有clé primaire,没有在定义时候指定分区字段,会抱错:

mysql> CREATE TABLE tm3 (
    ->     s1 CHAR(32) 
    -> )
    -> PARTITION BY KEY()
    -> PARTITIONS 10;
ERROR 1488 (HY000): Field in list of fields for partition function not found in table
在定义中加入分区字段,add the column in define , it is ok
mysql> CREATE TABLE tm3 (
    ->     s1 CHAR(32) 
    -> )
    -> PARTITION BY KEY(s1)
    -> PARTITIONS 10;
Query OK, 0 rows affected (0.07 sec)

mysql>
Copier après la connexion

 

子分区 Sous-partitionnement
Le sous-partitionnement, également appelé partitionnement composite, est la pision supplémentaire de chaque partition dans une table partitionnée.
Par exemple, considérons l'instruction CREATE TABLE suivante :

mysql> CREATE TABLE ts (id INT, purchased DATE)
    ->     PARTITION BY RANGE( YEAR(purchased) )
    ->     SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
    ->         PARTITION p0 VALUES LESS THAN (1990) (
    ->             SUBPARTITION s0,
    ->             SUBPARTITION s1
    ->         ),
    ->         PARTITION p1 VALUES LESS THAN (2000) (
    ->             SUBPARTITION s2,
    ->             SUBPARTITION s3
    ->         ),
    ->         PARTITION p2 VALUES LESS THAN MAXVALUE (
    ->             SUBPARTITION s4,
    ->             SUBPARTITION s5
    ->         )
    ->     );

Query OK, 0 rows affected (0.04 sec)


CREATE TABLE ts3 (id INT, purchased DATE)
    PARTITION BY RANGE( YEAR(purchased) )
    SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
        PARTITION p0 VALUES LESS THAN (1990) (
            SUBPARTITION s0,
            SUBPARTITION s1
        ),
        PARTITION p1 VALUES LESS THAN (2000),
        PARTITION p2 VALUES LESS THAN MAXVALUE (
            SUBPARTITION s2,
            SUBPARTITION s3
        )
    );
Copier après la connexion

 

(1) Chaque partition doit avoir le même nombre de sous-partitions. sinon, échouez

 mysql> CREATE TABLE ts3 (id INT, purchased DATE)
  ->     PARTITION BY RANGE( YEAR(purchased) )
  ->     SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
  ->         PARTITION p0 VALUES LESS THAN (1990) (
  ->             SUBPARTITION s0,
  ->             SUBPARTITION s1
  ->         ),
  ->         PARTITION p1 VALUES LESS THAN (2000),
  ->         PARTITION p2 VALUES LESS THAN MAXVALUE (
  ->             SUBPARTITION s2,
  ->             SUBPARTITION s3
  ->         )
  ->     );
 ERROR 1064 (42000): Wrong number of subpartitions defined, mismatch with previous setting near &#39;
   PARTITION p2 VALUES LESS THAN MAXVALUE (
    SUBPARTITION s2,
  &#39; at line 8
 mysql>
Copier après la connexion



(2) Chaque clause SUBPARTITION doit inclure (au minimum) un nom pour la sous-partition.

Sinon, vous pouvez définir n'importe quelle option souhaitée pour la sous-partition ou lui permettre d'adopter son paramètre par défaut pour cette option.


(3) Les noms de sous-partition doivent être uniques. la table entière.


(4)  Les sous-partitions peuvent être utilisées avec des tables particulièrement volumineuses pour distribuer des données et des index sur plusieurs disques. Supposons que vous ayez 6 disques montés en tant que /disk0, /disk1, /disk2, etc. Considérons maintenant l'exemple suivant :

mysql> CREATE TABLE ts5 (id INT, purchased DATE)
    ->     PARTITION BY RANGE( YEAR(purchased) )
    ->     SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
    ->         PARTITION p0 VALUES LESS THAN (1990) (
    ->             SUBPARTITION s0
    ->                 DATA DIRECTORY = &#39;/disk0/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk0/idx&#39;,
    ->             SUBPARTITION s1
    ->                 DATA DIRECTORY = &#39;/disk1/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk1/idx&#39;
    ->         ),
    ->         PARTITION p1 VALUES LESS THAN (2000) (
    ->             SUBPARTITION s2
    ->                 DATA DIRECTORY = &#39;/disk2/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk2/idx&#39;,
    ->             SUBPARTITION s3
    ->                 DATA DIRECTORY = &#39;/disk3/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk3/idx&#39;
    ->         ),
    ->         PARTITION p2 VALUES LESS THAN MAXVALUE (
    ->             SUBPARTITION s4
    ->                 DATA DIRECTORY = &#39;/disk4/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk4/idx&#39;,
    ->             SUBPARTITION s5
    ->                 DATA DIRECTORY = &#39;/disk5/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk5/idx&#39;
    ->         )
    ->     );
Query OK, 0 rows affected (0.04 sec)

In this case, a separate disk is used for the data and for the indexes of each RANGE. Many other variations are possible;
Copier après la connexion
another example might be: 
mysql> CREATE TABLE ts6 (id INT, purchased DATE)
    ->     PARTITION BY RANGE(YEAR(purchased))
    ->     SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
    ->         PARTITION p0 VALUES LESS THAN (1990) (
    ->             SUBPARTITION s0a
    ->                 DATA DIRECTORY = &#39;/disk0&#39;
    ->                 INDEX DIRECTORY = &#39;/disk1&#39;,
    ->             SUBPARTITION s0b
    ->                 DATA DIRECTORY = &#39;/disk2&#39;
    ->                 INDEX DIRECTORY = &#39;/disk3&#39;
    ->         ),
    ->         PARTITION p1 VALUES LESS THAN (2000) (
    ->             SUBPARTITION s1a
    ->                 DATA DIRECTORY = &#39;/disk4/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk4/idx&#39;,
    ->             SUBPARTITION s1b
    ->                 DATA DIRECTORY = &#39;/disk5/data&#39;
    ->                 INDEX DIRECTORY = &#39;/disk5/idx&#39;
    ->         ),
    ->         PARTITION p2 VALUES LESS THAN MAXVALUE (
    ->             SUBPARTITION s2a,
    ->             SUBPARTITION s2b
    ->         )
    ->     );
Query OK, 0 rows affected (0.04 sec)
Copier après la connexion


 

À l'avenir, lorsque le nombre d'achats pour la décennie commençant par l'an 2000 augmentera jusqu'à un point où le défaut location ne fournit plus suffisamment d'espace, les lignes correspondantes peuvent être déplacées à l'aide d'une instruction ALTER TABLE ... REORGANIZE PARTITION. Voir Section 17.3, « Gestion des partitions » pour une explication de la façon dont cela peut être fait.


Les options DATA DIRECTORY et INDEX DIRECTORY ne sont pas autorisées dans les définitions de partition lorsque le mode SQL du serveur NO_DIR_IN_CREATE est en vigueur. À partir de MySQL 5.5.5, ces options sont également interdites lors de la définition de sous-partitions (bogue n° 42954).

Comment le partitionnement MySQL gère NULL
Partitionnement dans MySQL ne fait rien pour interdire NULL comme valeur d'une expression de partitionnement,
qu'il s'agisse d'une valeur de colonne ou de la valeur d'une expression fournie par l'utilisateur. Même s'il est permis d'utiliser NULL comme valeur d'une expression qui devrait autrement donner un nombre entier, il est important de garder à l'esprit que NULL n'est pas un nombre. Le partitionnement de MySQL l'implémentation traite NULL comme étant inférieur à toute valeur non NULL, tout comme le fait ORDER BY.

 

Cela signifie que le traitement de NULL varie selon le partitionnement de différents types et peut produire un comportement que vous ne vous attendez pas si vous n'y êtes pas préparé.
Cela étant le cas, nous discutons dans cette section de la manière dont chaque type de partitionnement MySQL gère les valeurs NULL lors de la détermination de la partition dans laquelle une ligne doit être stockée,
et fournissons des exemples pour chacun.

 

Gestion de NULL avec le partitionnement RANGE.  Si vous insérez une ligne dans une table partitionnée par RANGE de telle sorte que la valeur de colonne utilisée pour déterminer la partition soit NULL,
la ligne est insérée dans la partition la plus basse. Par exemple, considérons ces deux tables dans une base de données nommée p, créée comme suit :

 

(1) Rang Partition,OK
Vous pouvez voir les partitions créé par ces deux instructions CREATE TABLE à l'aide de la requête suivante sur la table PARTITIONS dans la base de données INFORMATION_SCHEMA :

mysql> SELECT TABLE_NAME, PARTITION_NAME, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH
    ->    FROM INFORMATION_SCHEMA.PARTITIONS
    ->     WHERE TABLE_SCHEMA = &#39;test&#39; AND TABLE_NAME LIKE &#39;t_&#39;;
+------------+----------------+------------+----------------+-------------+
| TABLE_NAME | PARTITION_NAME | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH |
+------------+----------------+------------+----------------+-------------+
| t1         | p0             |          0 |              0 |       16384 |
| t1         | p1             |          0 |              0 |       16384 |
| t1         | p2             |          0 |              0 |       16384 |
| t2         | p0             |          0 |              0 |       16384 |
| t2         | p1             |          0 |              0 |       16384 |
| t2         | p2             |          0 |              0 |       16384 |
| t2         | p3             |          0 |              0 |       16384 |
| ts         | p0             |          0 |              0 |       16384 |
| ts         | p0             |          0 |              0 |       16384 |
| ts         | p1             |          0 |              0 |       16384 |
| ts         | p1             |          0 |              0 |       16384 |
| ts         | p2             |          0 |              0 |       16384 |
| ts         | p2             |          0 |              0 |       16384 |
+------------+----------------+------------+----------------+-------------+
14 rows in set (0.00 sec)
Copier après la connexion

 

Remplissons maintenant chacune de ces tables avec une seule ligne contenant un NULL dans la colonne utilisée comme clé de partitionnement,
et vérifiez que les lignes ont été insérées à l'aide d'une paire d'instructions SELECT :

You can see which partitions are used to store the inserted rows by rerunning the previous query against INFORMATION_SCHEMA.PARTITIONS and inspecting the output:

mysql> INSERT INTO t1 VALUES (NULL, &#39;mothra&#39;);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO t2 VALUES (NULL, &#39;mothra&#39;);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM t1;
+------+--------+
| c1   | c2     |
+------+--------+
| NULL | mothra |
+------+--------+
1 row in set (0.01 sec)

mysql> SELECT * FROM t2;
+------+--------+
| c1   | c2     |
+------+--------+
| NULL | mothra |
+------+--------+
1 row in set (0.00 sec)

mysql> SELECT TABLE_NAME, PARTITION_NAME, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH    FROM INFORMATION_SCHEMA.PARTITIONS
Copier après la connexion
WHERE TABLE_SCHEMA = &#39;test&#39; AND TABLE_NAME LIKE &#39;t_&#39;;
+------------+----------------+------------+----------------+-------------+
| TABLE_NAME | PARTITION_NAME | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH |
+------------+----------------+------------+----------------+-------------+
| t1         | p0             |          1 |          16384 |       16384 |
| t1         | p1             |          0 |              0 |       16384 |
| t1         | p2             |          0 |              0 |       16384 |
| t2         | p0             |          1 |          16384 |       16384 |
| t2         | p1             |          0 |              0 |       16384 |
| t2         | p2             |          0 |              0 |       16384 |
| t2         | p3             |          0 |              0 |       16384 |
| ts         | p0             |          0 |              0 |       16384 |
| ts         | p0             |          0 |              0 |       16384 |
| ts         | p1             |          0 |              0 |       16384 |
| ts         | p1             |          0 |              0 |       16384 |
| ts         | p2             |          0 |              0 |       16384 |
| ts         | p2             |          0 |              0 |       16384 |
+------------+----------------+------------+----------------+-------------+
13 rows in set (0.00 sec)


You can also demonstrate that these rows were stored in the lowest partition of each table by dropping these partitions,
Copier après la connexion
and then re-running the SELECT statements:
Copier après la connexion
 <br/>
Copier après la connexion

(2) Handling of NULL with LIST partitioning. 必须将null在定义中加入才能录入null的分区数据

mysql> CREATE TABLE ts3 (
    ->     c1 INT,
    ->     c2 VARCHAR(20)
    -> )
    -> PARTITION BY LIST(c1) (
    ->     PARTITION p0 VALUES IN (0, 3, 6),
    ->     PARTITION p1 VALUES IN (1, 4, 7, NULL),
    ->     PARTITION p2 VALUES IN (2, 5, 8)
    -> );
Query OK, 0 rows affected (0.01 sec)
Copier après la connexion

否则insert null的分区数据会抱错: ERROR 1504 (HY000): Table has no partition for value NULL

(3) Handling of NULL with HASH and KEY partitioning. <br/>

mysql> CREATE TABLE th (
    ->     c1 INT,
    ->     c2 VARCHAR(20)
    -> )
    -> PARTITION BY HASH(c1)
    -> PARTITIONS 2;
Query OK, 0 rows affected (0.00 sec)

There is no data record in beginnig.
mysql>   SELECT TABLE_NAME,PARTITION_NAME,TABLE_ROWS,AVG_ROW_LENGTH,DATA_LENGTH
    ->          FROM INFORMATION_SCHEMA.PARTITIONS
    ->          WHERE TABLE_SCHEMA = &#39;test&#39; AND TABLE_NAME =&#39;th&#39;;
+------------+----------------+------------+----------------+-------------+
| TABLE_NAME | PARTITION_NAME | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH |
+------------+----------------+------------+----------------+-------------+
| th         | p0             |          0 |              0 |       16384 |
| th         | p1             |          0 |              0 |       16384 |
+------------+----------------+------------+----------------+-------------+
2 rows in set (0.00 sec)

mysql> INSERT INTO th VALUES (NULL, &#39;mothra&#39;), (0, &#39;gigan&#39;);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM th;
+------+--------+
| c1   | c2     |
+------+--------+
| NULL | mothra |
|    0 | gigan  |
+------+--------+
2 rows in set (0.00 sec)

mysql>   SELECT TABLE_NAME,PARTITION_NAME,TABLE_ROWS,AVG_ROW_LENGTH,DATA_LENGTH
    ->          FROM INFORMATION_SCHEMA.PARTITIONS
    ->          WHERE TABLE_SCHEMA = &#39;test&#39; AND TABLE_NAME =&#39;th&#39;;
+------------+----------------+------------+----------------+-------------+
| TABLE_NAME | PARTITION_NAME | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH |
+------------+----------------+------------+----------------+-------------+
| th         | p0             |          2 |           8192 |       16384 |
| th         | p1             |          0 |              0 |       16384 |
+------------+----------------+------------+----------------+-------------+
2 rows in set (0.00 sec)
Copier après la connexion

Recall that for any integer N, the value of NULL MOD N is always NULL. For tables that are partitioned by HASH or KEY, this result is treated for determining the correct partition as 0. Checking the INFORMATION_SCHEMA.PARTITIONS table once again, we can see that both rows were inserted into partition p0:

 

MySQL对分区中null值得处理, rang,key,以及hash中,都是直接放入min的分区中. list分区中则是放入事先定义好的包含null的分区中,如果list分区事先没有定义包含null值的分区,那么录入的时候会抱错

 以上就是MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (2) --> 子分区以及对录入Null值的处理情况.的内容,更多相关内容请关注PHP中文网(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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 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 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

Compétences en matière de traitement de la structure des Big Data : Chunking : décomposez l'ensemble de données et traitez-le en morceaux pour réduire la consommation de mémoire. Générateur : générez des éléments de données un par un sans charger l'intégralité de l'ensemble de données, adapté à des ensembles de données illimités. Streaming : lisez des fichiers ou interrogez les résultats ligne par ligne, adapté aux fichiers volumineux ou aux données distantes. Stockage externe : pour les ensembles de données très volumineux, stockez les données dans une base de données ou NoSQL.

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

La sauvegarde et la restauration d'une base de données MySQL en PHP peuvent être réalisées en suivant ces étapes : Sauvegarder la base de données : Utilisez la commande mysqldump pour vider la base de données dans un fichier SQL. Restaurer la base de données : utilisez la commande mysql pour restaurer la base de données à partir de fichiers SQL.

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

Les performances des requêtes MySQL peuvent être optimisées en créant des index qui réduisent le temps de recherche d'une complexité linéaire à une complexité logarithmique. Utilisez PreparedStatements pour empêcher l’injection SQL et améliorer les performances des requêtes. Limitez les résultats des requêtes et réduisez la quantité de données traitées par le serveur. Optimisez les requêtes de jointure, notamment en utilisant des types de jointure appropriés, en créant des index et en envisageant l'utilisation de sous-requêtes. Analyser les requêtes pour identifier les goulots d'étranglement ; utiliser la mise en cache pour réduire la charge de la base de données ; optimiser le code PHP afin de minimiser les frais généraux.

Comment insérer des données dans une table MySQL en utilisant PHP ? Comment insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

Comment insérer des données dans une table MySQL ? Connectez-vous à la base de données : utilisez mysqli pour établir une connexion à la base de données. Préparez la requête SQL : Écrivez une instruction INSERT pour spécifier les colonnes et les valeurs à insérer. Exécuter la requête : utilisez la méthode query() pour exécuter la requête d'insertion en cas de succès, un message de confirmation sera généré.

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

Pour utiliser les procédures stockées MySQL en PHP : Utilisez PDO ou l'extension MySQLi pour vous connecter à une base de données MySQL. Préparez l'instruction pour appeler la procédure stockée. Exécutez la procédure stockée. Traitez le jeu de résultats (si la procédure stockée renvoie des résultats). Fermez la connexion à la base de données.

Comment créer une table MySQL en utilisant PHP ? Comment créer une table MySQL en utilisant PHP ? Jun 04, 2024 pm 01:57 PM

La création d'une table MySQL à l'aide de PHP nécessite les étapes suivantes : Connectez-vous à la base de données. Créez la base de données si elle n'existe pas. Sélectionnez une base de données. Créer un tableau. Exécutez la requête. Fermez la connexion.

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

La différence entre la base de données Oracle et MySQL La différence entre la base de données Oracle et MySQL May 10, 2024 am 01:54 AM

La base de données Oracle et MySQL sont toutes deux des bases de données basées sur le modèle relationnel, mais Oracle est supérieur en termes de compatibilité, d'évolutivité, de types de données et de sécurité ; tandis que MySQL se concentre sur la vitesse et la flexibilité et est plus adapté aux ensembles de données de petite et moyenne taille. ① Oracle propose une large gamme de types de données, ② fournit des fonctionnalités de sécurité avancées, ③ convient aux applications de niveau entreprise ; ① MySQL prend en charge les types de données NoSQL, ② a moins de mesures de sécurité et ③ convient aux applications de petite et moyenne taille.

See all articles