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); }
