Понякога може да се наложи да вмъкнете няколко реда данни в MySQL. MySQL ви позволява да въведете няколко реда информация с една заявка. В тази статия ще разгледаме как да вмъкнете няколко реда в MySQL.
Как да вмъкнете няколко реда в MySQL
Ето стъпките за вмъкване на няколко реда в MySQL. Има няколко начина за вмъкване на няколко реда в MySQL. Ще разгледаме всеки един от тези подходи един по един.
Вмъкнете няколко реда с помощта на INSERT
Да кажем, че имате следната таблица служители(id, first_name, last_name) .
mysql> create table employees(id int, first_name varchar(255), last_name varchar(255));
Ето синтаксиса за вмъкване на няколко реда с помощта на оператор INSERT.
INSERT INTO table_name(column1, column2, ...), values(row1_value1, row1_value2,...), (row2_value1, row2_value2,...), ...
В горната заявка трябва да споменете името на вашата таблица, в която трябва да вмъкнете стойности. След това трябва да въведете стойности на всеки ред, затворен в кръгли скоби „()“ по начин, разделен със запетая.
Ето SQL заявката за вмъкване на няколко реда информация в служители таблица.
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 |
+------+------------+-----------+
Вмъкване на няколко реда от SELECT
Можете също да вмъкнете няколко реда данни във вашата таблица, като използвате резултата от заявка SELECT.
Ето синтаксиса на SQL заявката за копиране на данни от една таблица в друга с помощта на оператор INSERT INTO.
INSERT INTO table1 (column1, column2, ...) select column1, column2, ... from table2
В горната заявка избираме колона 1, колона 2, ... от таблица 2 и ги вмъкваме в таблица 1.
Моля, имайте предвид, че колоните, използвани в операторите INSERT INTO и SELECT, трябва да имат едно и също име и ред. В противен случай ще получите грешка.
Ето SQL заявката за копиране на данни от служители таблица до служители2 таблица.
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 | +------+------------+-----------+
Вмъкване на няколко реда без дубликат
Ако искате да избегнете автоматично дублиране на записи, когато вмъквате множество стойности във вашата таблица, използвайте ключова дума IGNORE след INSERT във вашата SQL заявка.
Това обаче работи само за таблици, които имат първичен ключ.
Ето един пример,
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 | +----+------------+-----------+
Както можете да видите, беше вмъкнат само 1 ред вместо два дублиращи се реда.
Ubiq улеснява визуализирането на данни и наблюдението им в табла за управление в реално време. Опитайте Ubiq безплатно.