Avec MariaDB INSERT INTO, vous insérez de nouveaux en­re­gis­tre­ments dans une table existante. C’est l’une des commandes de base es­sen­tielles en SQL. Utilisez-la dès que vous souhaitez enrichir une base de données avec de nouveaux contenus ou étendre les in­for­ma­tions exis­tantes.

Qu’est-ce que la commande MariaDB INSERT?

Dans MariaDB, la commande INSERT insère de nouvelles données dans une table. Elle complète les struc­tures de données exis­tantes par des lignes complètes. Chaque fois que des uti­li­sa­teurs s’ins­cri­vent, sou­met­tent un for­mu­laire ou ajoutent un produit, le système exécute en arrière-plan un INSERT INTO.

MariaDB vérifie lors de l’insertion si les valeurs cor­res­pon­dent aux types de données des colonnes et si tous les champs requis sont remplis. Si les valeurs violent des con­traintes telles que NOT NULL, UNIQUE ou FOREIGN KEY, la base de données refuse l’opération. Par con­sé­quent, la structure de la table cible et la spé­ci­fi­ca­tion correcte des colonnes jouent un rôle important dans l’uti­li­sa­tion de INSERT.

À quoi ressemble la commande INSERT INTO dans MariaDB ?

La syntaxe standard pour INSERT INTO est la suivante :

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);
sql
  • table_name indique la table dans laquelle les données seront insérées.
  • La liste des colonnes (column1, column2, ...) est op­tion­nelle, mais re­com­man­dée.
  • La partie VALUES contient les valeurs que vous souhaitez insérer dans les colonnes spé­ci­fiées.

MariaDB complète les valeurs dans l’ordre où les colonnes sont définies. Si le nombre ou l’ordre des valeurs ne cor­res­pond pas à la liste des colonnes, cela entraîne une erreur.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Quels sont les pa­ra­mètres et arguments pour MariaDB INSERT INTO ?

INSERT INTO peut être étendu et adapté selon les besoins. Voici les prin­ci­paux pa­ra­mètres et variantes :

Liste des colonnes

Vous pouvez indiquer toutes les colonnes ou seulement certaines. Si la liste est omise, MariaDB attend des valeurs pour toutes les colonnes de la structure de la table.

INSERT INTO users VALUES (1, 'Anna', 'anna@example.com');
sql

Si vous souhaitez remplir uni­que­ment des colonnes spé­ci­fiques, exécutez la commande suivante :

INSERT INTO users (name, email) VALUES ('Anna', 'anna@example.com');
sql

Ici, nous sé­lec­tion­nons les colonnes name et email.

Insérer plusieurs lignes

Cette méthode est plus efficace que plusieurs commandes in­di­vi­duelles MariaDB INSERT, surtout pour de grandes quantités de données :

INSERT INTO products (name, price)
VALUES ('pen', 1.50),
    ('notepad', 2.00),
    ('bag', 9.90);
sql

INSERT IGNORE

Avec IGNORE, MariaDB ignore les lignes qui violent les con­traintes et continue avec les autres.

INSERT IGNORE INTO users (id, name) VALUES (1, 'Anna');
sql

INSERT ... ON DUPLICATE KEY UPDATE

Cette ex­pres­sion met à jour les lignes exis­tantes en cas de conflit de clé unique.

INSERT INTO users (id, name)
VALUES (1, 'Anna')
ON DUPLICATE KEY UPDATE name = 'Anna';
sql

Cette technique permet d’éco­no­mi­ser des requêtes sup­plé­men­taires et assure de combiner la logique d’insertion et de mise à jour en une seule commande. Cela est très utile pour les im­por­ta­tions, les données syn­chro­ni­sées ou les opé­ra­tions comp­tables au­to­ma­ti­sées.

Insertion avec SELECT

Avec SELECT, vous copiez des en­re­gis­tre­ments d’une table à une autre :

INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';
sql

Exemples d’ap­pli­ca­tion pour MariaDB INSERT INTO

Dans ce qui suit, nous vous pré­sen­tons des scénarios d’uti­li­sa­tion courants pour INSERT INTO.

Ins­crip­tion des uti­li­sa­teurs

Dans l’exemple suivant, MariaDB insère une nouvelle uti­li­sa­trice dans la table users. Les valeurs pour les colonnes name et email pro­vien­nent d’un for­mu­laire ou d’une ap­pli­ca­tion. La valeur NOW() récupère le timestamp actuel, c’est-à-dire le moment de l’ins­crip­tion.

INSERT INTO users (name, email, created_at)
VALUES ('Lena', 'lena@example.com', NOW());
sql

Cette méthode convient pour les for­mu­laires Web clas­siques comme les écrans de connexion, où chaque saisie est di­rec­te­ment en­re­gis­trée dans la base de données. Il est important que created_at soit de type DATETIME ou TIMESTAMP pour que NOW() soit en­re­gis­tré cor­rec­te­ment.

Insérer des données à partir d’une autre table

Cet exemple montre comment trans­fé­rer des données exis­tantes d’une table (orders) vers une autre table (archive_orders). MariaDB sé­lec­tionne toutes les commandes ayant le statut 'completed' et transfère les colonnes id et status.

INSERT INTO archive_orders (id, status)
SELECT id, status FROM orders WHERE status = 'completed';
sql

De telles commandes sont utilisées pour l’archivage, le nettoyage de données ou pour des rapports. Vérifiez que la structure, comme les types de colonnes, cor­res­pond entre la table source et la table cible, sans quoi MariaDB n’exécutera pas la commande.

Bases de données managées
Des bases de données gérées et sûres
  • Solutions flexibles, adaptées à vos besoins
  • Ar­chi­tec­ture de niveau pro­fes­sion­nel, gérée par des experts
  • Hébergées en Europe, con­for­mé­ment aux normes de pro­tec­tion des données les plus strictes
Aller au menu principal