MySQL Requête INSERT INTO : Comment ajouter une ligne dans un tableau (exemple)
⚡ Résumé intelligent
MySQL La requête INSERT INTO ajoute de nouvelles lignes à une table, soit en spécifiant explicitement les colonnes cibles, soit en fournissant une valeur pour chaque colonne. L'utilisation correcte des guillemets pour les chaînes de caractères, les nombres et les dates est essentielle pour que les données stockées soient conservées intactes.

Qu’est-ce que INSÉRER DANS ?
INSÉRER DANS Elle sert à stocker des données dans les tables. La commande INSERT crée une nouvelle ligne dans la table pour y insérer des données. Ces données proviennent généralement d'applications qui s'exécutent sur la base de données.
Syntaxe de base
Regardons la syntaxe de base de INSERT INTO MySQL commander:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
ICI. (en anglais seulement)
- INSERT INTO `table_name` est la commande qui indique MySQL serveur pour ajouter une nouvelle ligne dans une table nommée `table_name.`
- (column_1,column_2,…) précise les colonnes à mettre à jour dans le nouveau MySQL rangée
- VALUES (value_1,value_2,…) spécifie les valeurs à ajouter dans la nouvelle ligne
Lors de la fourniture des valeurs de données à insérer dans le nouveau tableau, les éléments suivants doivent être pris en compte :
- Types de données chaîne – toutes les valeurs de chaîne doivent être placées entre guillemets simples.
- Types de données numériques – toutes les valeurs numériques doivent être fournies directement, sans les encadrer de guillemets simples ou doubles.
- Types de données de date – entourez les valeurs de date entre guillemets simples au format « AAAA-MM-JJ ».
Insertion simultanée de plusieurs lignes
Une seule instruction INSERT peut contenir plusieurs lignes. Séparez chaque ensemble de valeurs par une virgule. Une seule instruction est plus rapide que plusieurs, car l'index est mis à jour une seule fois.
INSERT INTO `categories`(`category_name`,`remarks`) VALUES ('Documentary', 'Factual films'), ('Musical', 'Song driven films');
MySQL Exemple de requête INSERT INTO
Supposons que nous ayons la liste suivante de nouveaux membres de bibliothèque qui doivent être ajoutés à la base de données.
| Noms complets | Date de naissance | le sexe | Adresse physique | Adresse postale | Numéro de contact | Adresse Email |
|---|---|---|---|---|---|---|
| Léonard Hofstadter | Masculin | Crête des bois | 0845738767 | |||
| Sheldon Cooper | Masculin | Crête des bois | 0976736763 | |||
| Rajesh Koothrappali | Masculin | Crête des bois | 0938867763 | |||
| Leslie Winkel | 14/02/1984 | Masculin | Crête des bois | 0987636553 | ||
| Howard Wolowitz | 24/08/1981 | Masculin | Parc du Sud | Tel: 4563 | 0987786553 | lwolowitz@email.me |
Insérons les données ligne par ligne, en commençant par Leonard Hofstadter. Nous traiterons le numéro de téléphone comme un type de données numériques et ne l'entourerons pas de guillemets simples.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
L'exécution du script ci-dessus supprime le 0 du numéro de téléphone de Leonard, car la valeur est traitée comme numérique et un zéro initial n'est pas significatif.
Pour éviter de tels problèmes, la valeur doit être placée entre guillemets simples, comme indiqué ci-dessous.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
⚠️ Astuce : Stockez les numéros de téléphone, les codes postaux et autres identifiants similaires dans une colonne de type texte, comme VARCHAR. Les colonnes numériques ne peuvent pas commencer par un zéro.
Modifier l'ordre des colonnes
La modification de l'ordre des colonnes n'a aucun effet sur la requête INSERT dans MySQL, à condition que les valeurs correctes aient été associées aux colonnes appropriées. La requête ci-dessous illustre ce point.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
Les requêtes ci-dessus ont ignoré la colonne date de naissance. Par défaut, MySQL Insère des valeurs NULL dans les colonnes omises de la requête INSERT.
Insérons maintenant l'enregistrement de Leslie, pour lequel la date de naissance est renseignée. La date doit être placée entre guillemets simples au format « AAAA-MM-JJ ».
INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');
Omission de la liste des colonnes
Toutes les requêtes ci-dessus ont nommé les colonnes et les ont associées à des valeurs. Si nous fournissons des valeurs pour TOUTES les colonnes de la table, la liste des colonnes peut être omise. MySQL insérer une requête.
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');
Utilisons maintenant le Instruction SELECT pour afficher toutes les lignes du tableau des membres.
SELECT * FROM `members`;
| numéro de membre | noms complets | le sexe | date de naissance | adresse physique | adresse postale | numéro de contact | en nous envoyant un mail |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | femme | 21-07-1980 | Terrain de la première rue n° 4 | Sac privé | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | femme | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Masculin | 12-07-1989 | 3e rue 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | femme | 14-02-1984 | 2e rue 23 | NULL | NULL | NULL |
| 5 | Léonard Hofstadter | Masculin | NULL | Crête des bois | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Masculin | NULL | Crête des bois | NULL | 0976736763 | NULL |
| 7 | Rajesh Koothrappali | Masculin | NULL | Crête des bois | NULL | 0938867763 | NULL |
| 8 | Leslie Winkel | Masculin | 14-02-1984 | Crête des bois | NULL | 0987636553 | NULL |
| 9 | Howard Wolowitz | Masculin | 24-08-1981 | Parc du Sud | Tel: 4563 | 0987786553 | lwolowitz@email.me |
Remarquez que le numéro de téléphone de Leonard Hofstadter a perdu son zéro initial, comme prévu. Les numéros cités le conservent.
Insertion dans une table à partir d'une autre table
La commande INSERT peut également être utilisée pour insérer des données dans une table à partir d'une autre table. La syntaxe de base est la suivante.
INSERT INTO table_1 SELECT * FROM table_2;
Nous allons maintenant créer une table factice pour les catégories de films, appelée categories_archive. Le script ci-dessous crée le tableau.
CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))
Exécutez le script ci-dessus pour créer la table. Insérons maintenant toutes les lignes de la table « categories » dans la table « categories archive ».
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Pour que ce script fonctionne, la structure des tables doit être identique. Un script plus robuste établit une correspondance entre les noms de colonnes de la table de destination et ceux de la table contenant les données, comme illustré ci-dessous.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
L'exécution de la requête SELECT ci-dessous donne les résultats suivants.
SELECT * FROM `categories_archive`;
| id_catégorie | Nom de catégorie | Remarques |
|---|---|---|
| 1 | Comédie | Films avec humour |
| 2 | Romantiques | Histoires d'amour |
| 3 | Épique | Films anciens |
| 4 | Horreur | NULL |
| 5 | Science-fiction | NULL |
| 6 | Thriller | NULL |
| 7 | Action | NULL |
| 8 | Comédie romantique | NULL |
| 9 | Dessins animés | NULL |
| 10 | Dessins animés | NULL |
Exemple PHP : Insérer dans MySQL lampe de table
La fonction mysqli_query est utilisée pour exécuter SQL Il exécute des requêtes PHP. Il gère indifféremment les instructions INSERT, SELECT, UPDATE et DELETE, et possède la syntaxe suivante.
mysqli_query($db_handle,$query);
ICI,
- « mysqli_query(…) » est la fonction qui exécute les requêtes SQL.
- « $query » est la requête SQL à exécuter.
- « $db_handle » est le lien de connexion au serveur renvoyé par mysqli_connect.
Exemple
$servername = "localhost"; $username = "alex"; $password = "yPXuPT"; $dbname = "afmznf"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully" . '<br>'; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); }
