Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer plusieurs lignes dans MySQL

Parfois, vous devrez peut-être insérer plusieurs lignes de données dans MySQL. MySQL vous permet de saisir plusieurs lignes d'informations avec une seule requête. Dans cet article, nous verrons comment insérer plusieurs lignes dans MySQL.


Comment insérer plusieurs lignes dans MySQL

Voici les étapes pour insérer plusieurs lignes dans MySQL. Il existe plusieurs façons d'insérer plusieurs lignes dans MySQL. Nous allons examiner chacune de ces approches une par une.


Insérer plusieurs lignes à l'aide de INSERT

Disons que vous avez la table suivante employees(id, first_name, last_name) .

mysql> create table employees(id int,
       first_name varchar(255),
       last_name varchar(255));

Voici la syntaxe pour insérer plusieurs lignes à l'aide de l'instruction INSERT.

INSERT INTO table_name(column1, column2, ...),
    values(row1_value1, row1_value2,...),
          (row2_value1, row2_value2,...),
          ...

Dans la requête ci-dessus, vous devez mentionner le nom de votre table dans laquelle vous devez insérer des valeurs. Ensuite, vous devez entrer les valeurs de chaque ligne entre parenthèses ‘()’ en les séparant par des virgules.

Voici la requête SQL pour insérer plusieurs lignes d'informations dans employés tableau.

mysql> insert into employees(id, first_name, last_name)
values(1,'John','Doe'),
(2,'Jane','Doe');

mysql> select * from employees;
+------+------------+-----------+
| id | first_name | last_name |
+------+------------+-----------+
| 1 | John | Doe |
| 2 | Jane | Doe |
+------+------------+-----------+


Insérer plusieurs lignes à partir de SELECT

Vous pouvez également insérer plusieurs lignes de données dans votre table à l'aide du résultat d'une requête SELECT.

Voici la syntaxe de requête SQL pour copier des données d'une table à une autre à l'aide de l'instruction INSERT INTO.

INSERT INTO table1 (column1, column2, ...)
select column1, column2, ...
from table2

Dans la requête ci-dessus, nous sélectionnons colonne1, colonne2, … de table2 et les insérons dans table1.

Veuillez noter que les colonnes utilisées dans l'instruction INSERT INTO et l'instruction SELECT doivent avoir le même nom et le même ordre. Sinon, vous obtiendrez une erreur.

Voici la requête SQL pour copier les données des employés tableau aux employés2 tableau.

mysql> insert into employees2(id, first_name, last_name)
       select id, first_name, last_name
       from employees;

mysql> select * from employees2;
+------+------------+-----------+
| id   | first_name | last_name |
+------+------------+-----------+
|    1 | John       | Doe       |
|    2 | Jane       | Doe       |
+------+------------+-----------+


Insérer plusieurs lignes sans doublon

Si vous souhaitez éviter automatiquement les enregistrements en double lorsque vous insérez plusieurs valeurs dans votre table, utilisez le mot-clé IGNORE après INSERT dans votre requête SQL.

Cependant, cela ne fonctionne que pour les tables qui ont une clé primaire.

Voici un exemple,

mysql> create table employees(id int primary key,
       first_name varchar(255),
       last_name varchar(255));

mysql> insert ignore into employees(id, first_name, last_name)
            values(1,'John','Doe'),
            (1,'John','Doe');

mysql> select * from employees;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | John       | Doe       |
+----+------------+-----------+

Comme vous pouvez le voir, une seule ligne a été insérée au lieu de deux lignes en double.

Ubiq facilite la visualisation des données et leur suivi dans des tableaux de bord en temps réel. Essayez Ubiq gratuitement.