Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So fügen Sie mehrere Zeilen in MySQL ein

Manchmal müssen Sie möglicherweise mehrere Datenzeilen in MySQL einfügen. MySQL ermöglicht es Ihnen, mehrere Informationszeilen mit einer einzigen Abfrage einzugeben. In diesem Artikel sehen wir uns an, wie man mehrere Zeilen in MySQL einfügt.


Wie man mehrere Zeilen in MySQL einfügt

Hier sind die Schritte zum Einfügen mehrerer Zeilen in MySQL. Es gibt mehrere Möglichkeiten, mehrere Zeilen in MySQL einzufügen. Wir werden jeden dieser Ansätze einzeln betrachten.


Fügen Sie mehrere Zeilen mit INSERT ein

Angenommen, Sie haben die folgende Tabelle employees(id, first_name, last_name) .

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

Hier ist die Syntax zum Einfügen mehrerer Zeilen mit der INSERT-Anweisung.

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

In der obigen Abfrage müssen Sie Ihren Tabellennamen angeben, in den Sie Werte einfügen müssen. Als Nächstes müssen Sie die Werte jeder Zeile in runden Klammern „()“ durch Kommas getrennt eingeben.

Hier ist die SQL-Abfrage, um mehrere Informationszeilen in Mitarbeiter einzufügen Tabelle.

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


Mehrere Zeilen aus SELECT einfügen

Sie können auch mehrere Datenzeilen in Ihre Tabelle einfügen, indem Sie das Ergebnis einer SELECT-Abfrage verwenden.

Hier ist die SQL-Abfragesyntax zum Kopieren von Daten von einer Tabelle in eine andere mit der Anweisung INSERT INTO.

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

In der obigen Abfrage wählen wir Spalte1, Spalte2, … aus Tabelle2 aus und fügen sie in Tabelle1 ein.

Bitte beachten Sie, dass die in der INSERT INTO-Anweisung und der SELECT-Anweisung verwendeten Spalten denselben Namen und dieselbe Reihenfolge haben müssen. Andernfalls erhalten Sie eine Fehlermeldung.

Hier ist die SQL-Abfrage zum Kopieren von Daten von Mitarbeitern Tabelle an Mitarbeiter2 Tabelle.

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


Mehrere Zeilen ohne Duplikat einfügen

Wenn Sie automatisch doppelte Datensätze vermeiden möchten, wenn Sie mehrere Werte in Ihre Tabelle einfügen, verwenden Sie das Schlüsselwort IGNORE nach INSERT in Ihrer SQL-Abfrage.

Dies funktioniert jedoch nur für Tabellen, die einen Primärschlüssel haben.

Hier ist ein Beispiel,

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

Wie Sie sehen können, wurde nur eine Zeile anstelle von zwei doppelten Zeilen eingefügt.

Ubiq macht es einfach, Daten zu visualisieren und sie in Echtzeit-Dashboards zu überwachen. Testen Sie Ubiq kostenlos.