Avec MariaDB INSERT INTO, vous insérez de nouveaux enregistrements dans une table existante. C’est l’une des commandes de base essentielles en SQL. Utilisez-la dès que vous souhaitez enrichir une base de données avec de nouveaux contenus ou étendre les informations existantes.

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 structures de données existantes par des lignes complètes. Chaque fois que des utilisateurs s’inscrivent, soumettent un formulaire 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 correspondent aux types de données des colonnes et si tous les champs requis sont remplis. Si les valeurs violent des contraintes telles que NOT NULL, UNIQUE ou FOREIGN KEY, la base de données refuse l’opération. Par conséquent, la structure de la table cible et la spécification correcte des colonnes jouent un rôle important dans l’utilisation 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 optionnelle, mais recommandée.
  • La partie VALUES contient les valeurs que vous souhaitez insérer dans les colonnes spécifiées.

MariaDB complète les valeurs dans l’ordre où les colonnes sont définies. Si le nombre ou l’ordre des valeurs ne correspond 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 avantageux et cœurs dédiés performants
  • Sans engagement pour plus de flexibilité
  • Assistance par des experts 24h/24 et 7j/7 incluse

Quels sont les paramètres et arguments pour MariaDB INSERT INTO ?

INSERT INTO peut être étendu et adapté selon les besoins. Voici les principaux paramè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 uniquement des colonnes spécifiques, exécutez la commande suivante :

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

Ici, nous sélectionnons les colonnes name et email.

Insérer plusieurs lignes

Cette méthode est plus efficace que plusieurs commandes individuelles 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 contraintes et continue avec les autres.

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

INSERT ... ON DUPLICATE KEY UPDATE

Cette expression met à jour les lignes existantes 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’économiser des requêtes supplémentaires et assure de combiner la logique d’insertion et de mise à jour en une seule commande. Cela est très utile pour les importations, les données synchronisées ou les opérations comptables automatisées.

Insertion avec SELECT

Avec SELECT, vous copiez des enregistrements d’une table à une autre :

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

Exemples d’application pour MariaDB INSERT INTO

Dans ce qui suit, nous vous présentons des scénarios d’utilisation courants pour INSERT INTO.

Inscription des utilisateurs

Dans l’exemple suivant, MariaDB insère une nouvelle utilisatrice dans la table users. Les valeurs pour les colonnes name et email proviennent d’un formulaire ou d’une application. La valeur NOW() récupère le timestamp actuel, c’est-à-dire le moment de l’inscription.

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

Cette méthode convient pour les formulaires Web classiques comme les écrans de connexion, où chaque saisie est directement enregistrée dans la base de données. Il est important que created_at soit de type DATETIME ou TIMESTAMP pour que NOW() soit enregistré correctement.

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

Cet exemple montre comment transférer des données existantes d’une table (orders) vers une autre table (archive_orders). MariaDB sélectionne 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, correspond 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
  • Architecture de niveau professionnel, gérée par des experts
  • Hébergées en Europe, conformément aux normes de protection des données les plus strictes
Cet article vous a-t-il été utile ?
Aller au menu principal