Concept

Insert (SQL)

Résumé
est une commande SQL qui ajoute un ou plusieurs tuples dans une table d'une base de données relationnelle. La commande INSERT a la syntaxe suivante : INSERT INTO table (column1 [, column2, column3 ... ]) VALUES (value1 [, value2, value3 ... ]) Le nombre de colonnes doit être identique au nombre de valeurs. Si une colonne n'est pas spécifiée, sa valeur par défaut lui sera affectée. Les valeurs insérées doivent respecter toutes les contraintes tel que les clés étrangères, clés primaires, et les colonnes NOT NULL. Si la commande contient une erreur de syntaxe, ou si une contrainte n'est pas respectée, les valeurs ne sont pas insérées et une erreur est rapportée. Exemple : INSERT INTO film_cast (firstname, lastname) VALUES ('Raoul', 'Duke') Une écriture plus concise existe, sans nommer les colonnes, insérant les valeurs dans le même ordre que les colonnes de la table. Il n'est pas nécessaire de préciser toutes les colonnes, les colonnes restantes prendront leurs valeurs par défaut. Syntaxe : INSERT INTO table VALUES (value1, [value2, ... ]) L'exemple précédent peut donc être réecrit, si et seulement si les deux premières colonnes de la table film_cast sont firstname et lastname: INSERT INTO film_cast VALUES ('Raoul', 'Duke'); Depuis SQL-92 il est possible d'insérer plusieurs tuples en une seule requête : INSERT INTO table (column-a, [column-b, ...]) VALUES ('value-1a', ['value-1b', ...]), ('value-2a', ['value-2b', ...]), Cette fonctionnalité est supportée par DB2, SQL Server (Depuis la version 10.0), PostgreSQL (depuis la version 8.2), MySQL, SQLite (depuis la version 3.7.11) et H2. Exemple (considérant que 'firstname' et 'lastname' sont les deux seules colonnes de la table 'film_cast'): INSERT INTO film_cast VALUES ('Raoul', 'Duke'), ('Dr.', 'Gonzo') Les insertions multiples sont particulièrement intéressantes en termes de performance. Il est donc conseillé pour une application qui doit insérer beaucoup lignes par seconde d'utiliser des requêtes multiples pour réduire le nombre de requêtes effectuées et la charge du serveur.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.