Пример внедрения SQL Server
Я иногда переключаюсь между Oracle и SQL Server и часто забываю, как выполнять некоторые из самых тривиальных задач в SQL Server. Я хочу вручную вставить строку данных в таблицу базы данных SQL Server с помощью SQL. Какой самый простой способ сделать это?
Например, если у меня есть таблица USERS, с столбцами идентификатора (номер), FIRST_NAME и LAST_NAME, какой запрос я использую для вставки строки в эту таблицу?
И какой синтаксис я использую, если я хочу вставлять сразу несколько строк?
Ответы
Ответ 1
Вставить одну строку данных:
INSERT INTO USERS
VALUES (1, 'Mike', 'Jones');
Чтобы сделать вставку для определенных столбцов (в отличие от всех), вы должны указать столбцы, которые хотите обновить.
INSERT INTO USERS (FIRST_NAME, LAST_NAME)
VALUES ('Stephen', 'Jiang');
Вставить несколько строк данных в SQL Server 2008 или более поздней версии:
INSERT INTO USERS VALUES
(2, 'Michael', 'Blythe'),
(3, 'Linda', 'Mitchell'),
(4, 'Jillian', 'Carson'),
(5, 'Garrett', 'Vargas');
Чтобы вставить несколько строк данных в более ранние версии SQL Server, используйте "UNION ALL" следующим образом:
INSERT INTO USERS (FIRST_NAME, LAST_NAME)
SELECT 'James', 'Bond' UNION ALL
SELECT 'Miss', 'Moneypenny' UNION ALL
SELECT 'Raoul', 'Silva'
Примечание. Ключевое слово INTO является необязательным в запросах INSERT. Источники и более сложные запросы можно найти здесь.
Ответ 2
Вот 4 способа вставки данных в таблицу.
-
Простая вставка, когда известна последовательность столбцов таблицы.
INSERT INTO Table1 VALUES (1,2,...)
-
Простая вставка в указанные столбцы таблицы.
INSERT INTO Table1(col2,col4) VALUES (1,2)
-
Массовая вставка, когда...
- Вы хотите вставить каждый столбец таблицы2 в таблицу 1
- Вы знаете последовательность столбцов таблицы 2
- Вы уверены, что последовательность столбцов таблицы2 не будет изменяться, пока используется этот оператор (возможно, оператор будет использоваться только один раз).
INSERT INTO Table1 {Column sequence} SELECT * FROM Table2
-
Массовая вставка выбранных данных в указанные столбцы таблицы 2.
.
INSERT INTO Table1 (Column1,Column2 ....)
SELECT Column1,Column2...
FROM Table2