Czasami może być konieczne wstawienie wielu wierszy danych w MySQL. MySQL umożliwia wprowadzenie wielu wierszy informacji za pomocą jednego zapytania. W tym artykule przyjrzymy się, jak wstawić wiele wierszy w MySQL.
Jak wstawić wiele wierszy w MySQL
Oto kroki, aby wstawić wiele wierszy w MySQL. Istnieje wiele sposobów wstawiania wielu wierszy w MySQL. Przyjrzymy się każdemu z tych podejść jeden po drugim.
Wstaw wiele wierszy za pomocą INSERT
Załóżmy, że masz następującą tabelę pracownicy(id, imię, nazwisko) .
mysql> create table employees(id int,
first_name varchar(255),
last_name varchar(255)); Oto składnia do wstawiania wielu wierszy za pomocą instrukcji INSERT.
INSERT INTO table_name(column1, column2, ...),
values(row1_value1, row1_value2,...),
(row2_value1, row2_value2,...),
... W powyższym zapytaniu musisz podać nazwę swojej tabeli, do której musisz wstawić wartości. Następnie musisz wprowadzić wartości każdego wiersza w nawiasach okrągłych „()” w sposób oddzielony przecinkami.
Oto zapytanie SQL umożliwiające wstawienie wielu wierszy informacji w grupie pracowników tabela.
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 |
+------+------------+-----------+
Wstaw wiele wierszy z SELECT
Możesz także wstawić do tabeli wiele wierszy danych, korzystając z wyniku zapytania SELECT.
Oto składnia zapytania SQL do kopiowania danych z jednej tabeli do drugiej za pomocą instrukcji INSERT INTO.
INSERT INTO table1 (column1, column2, ...) select column1, column2, ... from table2
W powyższym zapytaniu wybieramy kolumnę1, kolumnę2, … z tabeli2 i wstawiamy je do tabeli1.
Należy pamiętać, że kolumny użyte w instrukcjach INSERT INTO i SELECT muszą mieć tę samą nazwę i kolejność. W przeciwnym razie pojawi się błąd.
Oto zapytanie SQL do kopiowania danych od pracowników stół do pracowników2 tabela.
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 |
+------+------------+-----------+
Wstaw wiele wierszy bez duplikatów
Jeśli chcesz automatycznie uniknąć duplikowania rekordów podczas wstawiania wielu wartości do tabeli, użyj słowa kluczowego IGNORE po INSERT w zapytaniu SQL.
Działa to jednak tylko w przypadku tabel, które mają klucz podstawowy.
Oto przykład:
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 |
+----+------------+-----------+ Jak widać, wstawiono tylko 1 wiersz zamiast dwóch zduplikowanych.
Ubiq ułatwia wizualizację danych i monitorowanie ich w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj Ubiq za darmo.