Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wstawić wiele wierszy w MySQL

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.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przydatne wskazówki dotyczące rozwiązywania typowych błędów w MySQL

  2. Jak połączyć bazę danych MySQL z witryną PHP?

  3. Najlepszy sposób na uniknięcie zduplikowanych wpisów do bazy danych mysql

  4. Jak uzyskać wiele zliczeń za pomocą jednego zapytania SQL?

  5. Jak zaplanować zapytanie MySQL?