MySQLВСТАВИТЬ


Синтаксис

  1. INSERT [LOW_PRIORITY | ЗАДЕРЖАННЫЕ | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (имя_пользователя, ...)] [(col_name, ...)] {VALUES | VALUE} ({expr | DEFAULT}, ...), (...), ... [ON DUPLICATE KEY UPDATE col_name = expr [, col_name = expr] ...]

  2. INSERT [LOW_PRIORITY | ЗАДЕРЖАННЫЕ | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (имя_пользователя, ...)] SET col_name = {expr | DEFAULT}, ... [ON DUPLICATE KEY UPDATE col_name = expr [, col_name = expr] ...]

  3. INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (имя_раздела, ...)] [(col_name, ...)] SELECT ... [ON DUPLICATE KEY UPDATE col_name = expr [, col_name = expr] ...]

  4. Выражение expr может ссылаться на любой столбец, который был установлен ранее в списке значений. Например, вы можете сделать это, потому что значение для col2 относится к col1, который ранее был назначен:
    INSERT INTO tbl_name (col1, col2) VALUES (15, col1 * 2);

  5. Операторы INSERT, использующие синтаксис VALUES, могут вставлять несколько строк. Для этого включите несколько списков значений столбцов, каждый из которых заключен в круглые скобки и разделен запятыми. Пример:
    INSERT INTO tbl_name (a, b, c) ЗНАЧЕНИЯ (1,2,3), (4,5,6), (7,8,9);

  6. Список значений для каждой строки должен быть заключен в круглые скобки. Следующий оператор является незаконным, поскольку количество значений в списке не соответствует числу имен столбцов:
    INSERT INTO tbl_name (a, b, c) ЗНАЧЕНИЯ (1,2,3,4,5,6,7,8,9);

  7. INSERT ... SELECT Синтаксис
    INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (имя_пользователя, ...)] [(col_name, ...)] SELECT ... [ON DUPLICATE KEY UPDATE col_name = expr, ...]

  8. С помощью INSERT ... SELECT вы можете быстро вставить много строк в таблицу из одной или многих таблиц. Например:
    INSERT INTO tbl_temp2 (fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id> 100;

замечания

ВСТАВИТЬ Связанные примеры