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.