sql >> Databáze >  >> RDS >> Mysql

Jak vložit více řádků do MySQL

Někdy může být potřeba vložit do MySQL více řádků dat. MySQL umožňuje zadat více řádků informací jedním dotazem. V tomto článku se podíváme na to, jak vložit více řádků do MySQL.


Jak vložit více řádků do MySQL

Zde jsou kroky pro vložení více řádků do MySQL. Existuje několik způsobů, jak vložit více řádků do MySQL. Podíváme se na každý z těchto přístupů jeden po druhém.


Vložit více řádků pomocí INSERT

Řekněme, že máte následující tabulku employees(id, first_name, last_name) .

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

Zde je syntaxe pro vložení více řádků pomocí příkazu INSERT.

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

Ve výše uvedeném dotazu musíte zmínit název vaší tabulky, do které potřebujete vložit hodnoty. Dále je třeba zadat hodnoty každého řádku uzavřeného v kulatých závorkách „()“ odděleným čárkou.

Zde je dotaz SQL pro vložení více řádků informací do zaměstnanců tabulka.

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


Vložit více řádků z SELECT

Do tabulky můžete také vložit více řádků dat pomocí výsledku dotazu SELECT.

Zde je syntaxe dotazu SQL pro kopírování dat z jedné tabulky do druhé pomocí příkazu INSERT INTO.

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

Ve výše uvedeném dotazu vybereme sloupec1, sloupec2, … z tabulky2 a vložíme je do tabulky1.

Upozorňujeme, že sloupce použité v příkazu INSERT INTO a příkazu SELECT musí mít stejný název a pořadí. V opačném případě se zobrazí chyba.

Zde je dotaz SQL pro kopírování dat od zaměstnanců stůl pro zaměstnance2 tabulka.

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


Vložit více řádků bez duplikátu

Pokud se chcete automaticky vyhnout duplicitním záznamům při vkládání více hodnot do tabulky, použijte klíčové slovo IGNORE za INSERT v dotazu SQL.

Toto však funguje pouze pro tabulky, které mají primární klíč.

Zde je příklad

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 můžete vidět, byl vložen pouze 1 řádek namísto dvou duplicitních řádků.

Ubiq usnadňuje vizualizaci dat a jejich sledování na řídicích panelech v reálném čase. Vyzkoušejte Ubiq zdarma.

  1. Jak hromadně vkládat pouze nové řádky v PostreSQL

  2. Použití databáze Oracle s CakePHP 2.0

  3. Jaký je rozdíl mezi Float a Numeric/Decimal na SQL Server - SQL Server / T-SQL výukový program, část 33

  4. Problémy s nastavením vlastního primárního klíče při migraci na Rails 4