no-style

Добавляем данные в таблицу [insert]


Для чего используется insert

insert используется для вставки информации в таблицу. На этой странице рассмотрим несколько наиболее частых вариантов insert'ов.

Периодически этот список будет пополняться.







Insert(вставка)

Например мы хотим добавить такие данные в бд dbname в таблицу rawproxy:

ip: 10.10.20.30
port: 3080
protocol: sosks5://
status: new
date: 1657507904


INSERT INTO `dbname`.`rawproxy` (`ip`, `port`, `protocol`, `status`, `date`)
VALUES('10.10.20.30','3080','sosks5://','new','1657507904');






Insert ignore

Мы не хотим чтобы в столбцы ip и port попадала одинаковая информация. Именно поэтому при создании таблицы был создан индекс uniq на эти столбцы. Но при добавления большого количества строк за раз, может случиться такая ситуация что попадутся неуникальные строки и в таком случае вместо инсерта произойдёт ошибка.

Например вставляем 50к проксей и 10 из них имеют одинаковый ip и port, и будет выдана ошибка что такие строки уже имеются в базе. Для того чтобы записать все остальные строки кроме дублей, просто используем запрос INSERT IGNORE. Таким образом вставятся только уникальные данные.


INSERT IGNORE INTO `dbname`.`rawproxy` (`ip`, `port`, `protocol`, `status`, `date`)
VALUES('10.10.20.30','3080','sosks5://','new','1657507904'),
('10.10.30.40','1080','sosks4://','new','1657507778');

Комментарии