Introduction à l'insertion dans MySQL

L'objectif principal d'un système de base de données est de stocker des données dans des tables. Pour définir la fonctionnalité dans la base de données, nous avons différents types de commandes SQL. Dans cette rubrique, nous allons découvrir l'insertion dans MySQL.

Les commandes SQL peuvent être classées comme suit:

  • DDL (langage de définition de données)
  • DML (langage de manipulation de données)
  • DQL (langage de requête de données)
  • DCL (langage de contrôle des données)
  • TCL (langage de contrôle des transactions)

Ici, dans cet article, nous allons nous concentrer principalement sur DML. Comme nous pouvons voir le nom de langage de manipulation de données, donc une fois la table / base de données créée, pour manipuler quelque chose, nous avons besoin de commandes DML. Les mérites de l'utilisation de ces commandes sont si en cas de changements incorrects, nous pouvons les annuler / annuler.

Voici les commandes dans DML:

1. INSERER: utilisé pour insérer de nouvelles lignes dans le tableau.

INSERT into employee
Values(101, 'abcd');

2. SUPPRIMER: permet de supprimer une seule ligne ou des enregistrements entiers dans une table.

DELETE TABLE employee;

3. MISE À JOUR: Utilisé pour mettre à jour les enregistrements existants dans une table.

UPDATE employee
SET col1 = new_col
WHERE condition;

Syntaxe de la commande d'insertion dans MySQL

Nous pouvons écrire l'instruction INSERT INTO des deux manières suivantes.

Voie # 1

INSERT INTO table_name
VALUES (value1, value2, ….);

Voie # 2

INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);

  • INSERT INTO table_name est la commande qui ajoute une nouvelle ligne dans une table nommée `table_name` dans la base de données MySQL.
  • (column_1, column_2, …) sont les noms de colonnes dans lesquels un nouvel enregistrement sera ajouté.
  • VALUES (value_1, value_2, …) spécifie les valeurs à ajouter à la nouvelle ligne.

Lors de l'ajout de nouveaux enregistrements, nous devons faire attention aux types de données définis lors de la création de la structure de la table.

  • Chaîne: toutes les valeurs de chaîne doivent être entourées de guillemets simples.
  • Numérique: les valeurs numériques ne doivent pas être placées entre guillemets simples ou doubles.
  • Date: Ces types de données doivent être entre guillemets simples au format «AAAA-MM-JJ».

Considérons qu'il existe une table «employé» composée des attributs suivants:

Emp_id Emp_name Téléphone Email département Directeur Ville
1001Vinay9876543219CSRSudhirBangalore
1002Raaj9764527848ILStephenHyderabad
1003Sakti9567382784AutomobileVedBhubaneswar

Si nous ajoutons des valeurs pour toutes les colonnes d'une table, nous n'avons pas besoin de spécifier les noms de colonne dans la requête, mais nous devons nous assurer que notre nouvel enregistrement doit suivre la séquence de la colonne telle que définie dans la table.

INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');

Si nous n'avons pas toutes les valeurs des colonnes et que nous allons en insérer certaines, nous devons alors spécifier les noms des colonnes dans la requête.

INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');

Implémentation de la commande d'insertion dans MySQL

Considérons que nous avons les listes suivantes de nouveaux enregistrements qui sont nécessaires pour ajouter à la table de base de données STUDENT.

Roll_noPrénomNom de famillela normeTéléphonePourcentageVille
1SandeepKumardix987645672689, 33Cuttack
2Shyam976Bhubaneswar
3SaktiNaik646376577676
4Sid89864876986Kolkata
5VinayKumardix92

Nous allons insérer ces lignes une par une dans la base de données.

  • Commençons par Sandeep. Ici, «Roll_no», «Standard», «Phone» et «Percentage» sont des champs numériques, donc les valeurs de cette colonne seront insérées sans guillemets.

INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');

Remarque: Comme nous avons des valeurs de toutes les colonnes de la table des étudiants, nous n'avons pas besoin de spécifier le nom de la colonne lors de l'utilisation de la commande INSERT. Mais nous devons nous assurer que notre valeur doit suivre l'ordre des colonnes dans le tableau.

  • Dans le cas de l'enregistrement Shyam, nous pouvons voir que de nombreuses valeurs sont manquantes. Nous devons donc ici spécifier les noms de colonnes, dans lesquels nous voulons insérer les valeurs.

INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');

Remarque: Dans cet enregistrement, nous n'avons pas les valeurs de chaque colonne. C'est pourquoi nous devons spécifier tous les noms de colonnes dans lesquels nous voulons insérer nos valeurs et dans l'ordre de ces noms de colonnes, nous devons également mentionner les valeurs.

INSERT INTO student (Roll_no, First_name, Last_name, Phone, Percentage)
VALUES (3, 'Sakti', 'naik', 6463765776, 76);

INSERT INTO student (Roll_no, First_name, Standard, Phone, City)
VALUES (4, 'Sid', 8, 9864876986, 'Kolkata');

INSERT INTO student (Roll_no, First_name, Last_name, standard, Percentage)
VALUES (5, 'Vinay', 'Kumar', 10, 92);

La modification de l'ordre des colonnes et de la valeur n'aura aucun effet sur la requête INSERT car la bonne valeur ne peut pas être mappée sur la colonne de droite. Ainsi, des problèmes tels que l'insertion d'une valeur numérique dans une chaîne ou vice versa peuvent survenir.

Dans toutes les requêtes ci-dessus, tant de champs comme Last_name, Phone, City sont manquants. Ainsi, dans de tels cas, MySQL insérera par défaut des valeurs NULL dans les colonnes que nous avons ignorées dans les requêtes.

Insertion dans une table à partir d'une autre table

S'il existe 2 tables similaires et que nous voulons insérer directement les données de table_1 à table_2 pour éviter un travail manuel, nous pouvons également utiliser un autre type de requête INSERT. Dans un tel cas, nous devons utiliser une commande SELECT avec la commande INSERT. Fondamentalement, la commande SELECT relève du DQL (Data Query Language), qui est utilisé pour la récupération / récupération des données. La commande select peut également être utilisée avec de nombreux types de clauses.

La syntaxe de base pour insérer des enregistrements dans une table à partir d'une autre est la suivante:

INSERT INTO table_1 SELECT * FROM table_2;

Exemple

Voyons l'exemple donné ci-dessous:

1. Tableau de commande

N ° de commandeOrder_departmentNom_clientContact_noQuantitéEndroit
8465637MeublesPeter86598767661000Delhi
9473636OrnementsAlex9863769898800Mumbai

2. Table Order_archive

N ° de commandeOrder_departmentNom_clientContact_noQuantitéEndroit

Ici, nous avons 2 tables nommées Order et Order_archive. Si nous déplaçons tous les enregistrements de la table Order vers Order_archive, le code suivant peut effectuer la tâche:

INSERT INTO Order_archive SELECT * FROM Order;

Si nous voulons déplacer certaines colonnes spécifiques de la table Order vers Order_archive, alors:

INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;

Conclusion

La commande d'insertion est très utile car elle est exécutée depuis la création de la table jusqu'à chaque fois que nous ajoutons plus d'enregistrements à la table existante. Nous pouvons résumer les points suivants de cet article:

  • La commande INSERT est utilisée pour ajouter de nouvelles données à la table.
  • La date et la valeur de la chaîne doivent être entre guillemets simples.
  • La valeur numérique ne doit pas être entre guillemets.
  • Lors de l'insertion d'enregistrements dans des colonnes spécifiques, le nom et la valeur de la colonne doivent être mappés dans le même ordre.
  • Cette commande peut également être utilisée pour insérer des enregistrements d'une table dans une autre table.

Articles recommandés

Ceci est un guide pour insérer dans MySQL. Nous discutons ici de l'implémentation de la commande d'insertion dans MySQL avec des exemples et une syntaxe appropriés. Vous pouvez également consulter l'article suivant.

  1. Qu'est-ce que le schéma MySQL?
  2. Fonctions de chaîne MySQL
  3. Qu'est-ce que MySQL?
  4. Comment installer MySQL
  5. Exemples pour implémenter INSERT dans Oracle