2012-11-14 13 views
18

Sposto occasionalmente tra Oracle e SQL Server e spesso dimentico come eseguire alcune delle attività più banali in SQL Server. Voglio inserire manualmente una riga di dati in una tabella di database SQL Server utilizzando SQL. Qual è il modo più semplice per farlo?Esempio di inserimento di SQL Server

Ad esempio, se ho una tabella USERS, con le colonne di ID (numero), FIRST_NAME e LAST_NAME, quale query devo utilizzare per inserire una riga in tale tabella?

Anche quale sintassi devo usare se voglio inserire più righe alla volta?

risposta

42

Per inserire una singola riga di dati:

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

Per fare un inserto su colonne specifiche (al contrario di tutti) è necessario specificare le colonne che si desidera aggiornare.

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

Per inserire più righe di dati in SQL Server 2008 o versioni successive:

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

Per inserire più righe di dati nelle versioni precedenti di SQL Server, utilizzare "UNION ALL" in questo modo:

-

Nota, la parola chiave "INTO" è facoltativa nelle query INSERT. L'origine e le query più avanzate possono essere trovate here.

+0

Grazie per lo snippet di codice extra! – Roman

7

Ecco quattro modi per inserire i dati in una tabella.

  1. Inserimento semplice quando la sequenza di colonne della tabella è nota.

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

  2. inserimento semplice in colonne specificate della tabella.

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

  3. inserimento Bulk quando ...

    1. si desidera inserire ogni colonna della Tabella 2 in Table1
    2. Sai l'ordine delle colonne della Tabella 2
    3. si è certi che il la sequenza di colonne di Table2 non cambierà mentre questa istruzione è in uso (forse la dichiarazione sarà usata una sola volta).

    INSERT INTO Table1 {Column sequence} SELECT * FROM Table2

  4. inserimento bulk dei dati selezionati in colonne specificate Table2.

.

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