Sök…


Syntax

  • INSERT IN tabellnamn (kolumn1, kolumn2, kolumn3, ...) VÄRDER (värde1, värde2, värde3, ...);
  • INSERT INTO tabellnamn (kolumn1, kolumn2 ...) VÄLJ värde1, värde2 ... från annan tabell

Sätt in ny rad

INSERT INTO Customers
VALUES ('Zack', 'Smith', '[email protected]', '7049989942', 'EMAIL');

Detta uttalande kommer att infoga en ny rad i Customers . Observera att ett värde inte anges för Id kolumnen, eftersom det kommer att läggas till automatiskt. Alla andra kolumnvärden måste dock anges.

Infoga endast specificerade kolumner

INSERT INTO Customers (FName, LName, Email, PreferredContact)
VALUES ('Zack', 'Smith', '[email protected]', 'EMAIL');

Detta uttalande kommer att infoga en ny rad i Customers . Data infogas endast i de angivna kolumnerna - notera att inget värde anges för kolumnen PhoneNumber . Observera dock att alla kolumner som är markerade som not null måste inkluderas.

INSERT data från en annan tabell med SELECT

INSERT INTO Customers (FName, LName, PhoneNumber)
SELECT FName, LName, PhoneNumber FROM Employees

I det här exemplet infogas alla anställda i kundtabellen . Eftersom de två tabellerna har olika fält och du inte vill flytta över alla fält måste du ställa in vilka fält du vill infoga i och vilka fält du vill välja. De korrelerande fältnamnen behöver inte kallas samma sak, utan behöver då vara samma datatyp. I det här exemplet antas att ID-fältet har en identitetsspecifikationsuppsättning och kommer att öka automatiskt.

Om du har två tabeller som har exakt samma fältnamn och bara vill flytta alla poster över kan du använda:

INSERT INTO Table1
SELECT * FROM Table2

Sätt i flera rader på en gång

Flera rader kan läggas till med ett enkelt infogskommando:

INSERT INTO tbl_name (field1, field2, field3)

VALUES (1,2,3), (4,5,6), (7,8,9);

För att infoga stora mängder data (bulkinsats) på samma gång finns DBMS-specifika funktioner och rekommendationer.

MySQL - LADDA DATA INFIL

MSSQL - BULKINSERT



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow