Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserire più righe in MySQL

A volte potrebbe essere necessario inserire più righe di dati in MySQL. MySQL ti consente di inserire più righe di informazioni con una singola query. In questo articolo vedremo come inserire più righe in MySQL.


Come inserire più righe in MySQL

Ecco i passaggi per inserire più righe in MySQL. Esistono diversi modi per inserire più righe in MySQL. Analizzeremo ciascuno di questi approcci uno per uno.


Inserisci più righe utilizzando INSERT

Supponiamo che tu abbia la seguente tabella employees(id, first_name, last_name) .

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

Ecco la sintassi per inserire più righe usando l'istruzione INSERT.

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

Nella query precedente, devi menzionare il nome della tabella in cui devi inserire i valori. Successivamente, devi inserire i valori di ogni riga racchiusa tra parentesi tonde "()" in modo separato da virgole.

Ecco la query SQL per inserire più righe di informazioni in dipendenti tabella.

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 |
+------+------------+-----------+


Inserisci più righe da SELECT

Puoi anche inserire più righe di dati nella tabella utilizzando il risultato di una query SELECT.

Ecco la sintassi della query SQL per copiare i dati da una tabella all'altra utilizzando l'istruzione INSERT INTO.

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

Nella query precedente, selezioniamo column1, column2, … da table2 e li inseriamo in table1.

Si noti che le colonne utilizzate nell'istruzione INSERT INTO e nell'istruzione SELECT devono avere lo stesso nome e ordine. In caso contrario, riceverai un errore.

Ecco la query SQL per copiare i dati da dipendenti tabella a dipendenti2 tabella.

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       |
+------+------------+-----------+


Inserisci più righe senza duplicare

Se si desidera evitare automaticamente record duplicati quando si inseriscono più valori nella tabella, utilizzare la parola chiave IGNORE dopo INSERT nella query SQL.

Tuttavia, questo funziona solo per le tabelle che hanno una chiave primaria.

Ecco un esempio,

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       |
+----+------------+-----------+

Come puoi vedere, è stata inserita solo 1 riga invece di due righe duplicate.

Ubiq semplifica la visualizzazione dei dati e il monitoraggio in dashboard in tempo reale. Prova Ubiq gratuitamente.