Подтвердить что ты не робот

Пример внедрения SQL Server

Я иногда переключаюсь между Oracle и SQL Server и часто забываю, как выполнять некоторые из самых тривиальных задач в SQL Server. Я хочу вручную вставить строку данных в таблицу базы данных SQL Server с помощью SQL. Какой самый простой способ сделать это?

Например, если у меня есть таблица USERS, с столбцами идентификатора (номер), FIRST_NAME и LAST_NAME, какой запрос я использую для вставки строки в эту таблицу?

И какой синтаксис я использую, если я хочу вставлять сразу несколько строк?

4b9b3361

Ответ 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