2012-11-14 21 views
18

Czasami przełączam się między Oracle i SQL Server i często zapominam, jak wykonać niektóre z najbardziej trywialnych zadań w SQL Server. Chcę ręcznie wstawić wiersz danych do tabeli bazy danych SQL Server przy użyciu SQL. Jaki jest najłatwiejszy sposób na zrobienie tego?Przykład wstawienia serwera SQL

Na przykład, jeśli mam tabelę USERS, z kolumnami ID (numer), FIRST_NAME i LAST_NAME, jakiego kwerendy używam do wstawiania wiersza do tej tabeli?

Również jakiej składni używam, jeśli chcę wstawiać wiele wierszy naraz?

Odpowiedz

42

Aby wstawić pojedynczy wiersz danych:

INSERT INTO USERS 
VALUES (1, 'Mike', 'Jones'); 

zrobić wkładkę o konkretnych kolumn (w przeciwieństwie do wszystkich z nich) należy określić kolumny, które chcesz zaktualizować.

INSERT INTO USERS (FIRST_NAME, LAST_NAME) 
VALUES ('Stephen', 'Jiang'); 

Aby wstawić wiele wierszy danych w SQL Server 2008 lub później:

INSERT INTO USERS VALUES 
(2, 'Michael', 'Blythe'), 
(3, 'Linda', 'Mitchell'), 
(4, 'Jillian', 'Carson'), 
(5, 'Garrett', 'Vargas'); 

Aby wstawić wiele wierszy danych we wcześniejszych wersjach SQL Server, należy użyć "UNION ALL" tak:

INSERT INTO USERS (FIRST_NAME, LAST_NAME) 
SELECT 'James', 'Bond' UNION ALL 
SELECT 'Miss', 'Moneypenny' UNION ALL 
SELECT 'Raoul', 'Silva' 

Uwaga, słowo kluczowe "INTO" jest opcjonalne w zapytaniach INSERT. Źródło i bardziej zaawansowane zapytania można znaleźć here.

+0

Dziękujemy za dodatkowy fragment kodu! – Roman

7

Oto 4 sposoby wstawiania danych do tabeli.

  1. Proste wstawianie, gdy znana jest kolejność kolumn tabeli.

    INSERT INTO Table1 VALUES (1,2,...)

  2. Proste wstawianie do określonych kolumn tabeli.

    INSERT INTO Table1(col2,col4) VALUES (1,2)

  3. Luzem wstawiania kiedy ...

    1. Chcesz wstawić każdą kolumnę Table2 do Table1
    2. Wiesz sekwencję kolumny Table2
    3. Jesteś pewien, że kolejność kolumn w tabeli 2 nie ulegnie zmianie podczas używania tej instrukcji (być może instrukcja zostanie użyta tylko raz).

    INSERT INTO Table1 {Column sequence} SELECT * FROM Table2

  4. sypkich wybranych wstawiania danych do określonych kolumn Table2.

.

INSERT INTO Table1 (Column1,Column2 ....) 
    SELECT Column1,Column2... 
     FROM Table2