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.