sql >> Databasteknik >  >> RDS >> Database

SQL INSERT för nybörjare

Den här artikeln innehåller grundläggande SQL INSERT uttalanden som nybörjare kan använda för att infoga data i sina databastabeller.

Grundläggande syntax

Den grundläggande syntaxen för att infoga data i SQL ser ut så här:

INSERT INTO TableName (Column1, Column2, Column3, ...)
VALUES (Value1, Value2, Value3, ...);

Var:

  • TableName är namnet på tabellen du vill infoga data i
  • Column1 , etc är namnen på de kolumner du vill infoga data i
  • Value1 , etc är värdena som du infogar i dessa kolumner. Ordningen på dessa värden måste matcha ordningen som du angav kolumnerna (dvs. Value1 går in i Column1 , etc).

Du kan utelämna kolumnnamnen om du infogar värden i alla kolumner. I så fall kan du använda följande syntax:

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Observera att vissa DBMS använder en mer komplex syntax än denna (dvs de erbjuder fler alternativ), men detta är i allmänhet den grundläggande syntaxen som krävs för att infoga data i en tabell.

Infoga i alla kolumner

Här är ett grundläggande exempel som infogar data i alla kolumner i tabellen:

INSERT INTO PetTypes
VALUES( 1, 'Bird' );

I det här fallet finns det två kolumner i PetTypes tabell och vi infogar värden i båda kolumnerna, därför behöver vi inte ange kolumnnamnen.

Ovanstående uttalande är detsamma som att göra detta:

INSERT INTO PetTypes( PetTypeId, PetType )
VALUES( 1, 'Bird' );

Vi kan kontrollera vår data genom att köra en SELECT uttalande.

SELECT * FROM PetTypes;

Resultat:

+-------------+-----------+
| PetTypeId   | PetType   |
|-------------+-----------|
| 1           | Bird      |
+-------------+-----------+

Infoga i några kolumner

Här är ett grundläggande exempel som infogar data i bara några av kolumnerna i tabellen:

INSERT INTO Users( UserId, FirstName, LastName )
VALUES( 1, 'Lansell', 'Letterman' );

Den här tabellen har faktiskt fyra kolumner, men vi infogar bara data i tre av dessa kolumner. Vi kan se det när vi kör en SELECT uttalande mot tabellen efter att ha infogat data.

SELECT * FROM Users;

Resultat:

+----------+-------------+------------+-----------------------------+
| UserId   | FirstName   | LastName   | DateInserted                |
|----------+-------------+------------+-----------------------------|
| 1        | Lansell     | Letterman  | 2020-11-21 05:18:50.0029455 |
+----------+-------------+------------+-----------------------------+

Hur man infogar värden i fel ordning

Kolumnlistmetoden gör att du kan infoga data som inte är i samma ordning:

INSERT INTO Users( LastName, FirstName, UserId )
VALUES( 'Pitt', 'Bart', 2 );

I det här exemplet har jag ändrat ordningen på kolumnerna och deras respektive värden. Lyckligtvis ger kolumnlistan DBMS med vägledning om var varje värde ska infogas.

Så nu, om vi väljer vår data, kommer vi att se att den har infogats i rätt kolumner.

SELECT * FROM Users;

Resultat:

+----------+-------------+------------+-----------------------------+
| UserId   | FirstName   | LastName   | DateInserted                |
|----------+-------------+------------+-----------------------------|
| 1        | Lansell     | Letterman  | 2020-11-21 05:18:50.0029455 |
| 2        | Bart        | Pitt       | 2020-11-21 05:30:07.4456867 |
+----------+-------------+------------+-----------------------------+

Infoga resultatet av en fråga

Det är också möjligt att infoga resultatuppsättningen av en fråga i en tabell. Det finns ett par tillvägagångssätt du kan ta med detta.

  • Använd koden INSERT INTO... SELECT påstående. I det här fallet måste du skapa tabellen först innan du infogar en frågeresultatuppsättning i den.
  • Använd CREATE TABLE … SOM SELECT-satsen. Den här metoden skapar automatiskt en ny tabell baserat på resultatuppsättningen för frågan och infogar sedan dessa resultat i tabellen. Även om den här metoden överensstämmer med SQL-standarden, stöds den inte av alla DBMS.
  • Använd SELECT INTO påstående. Detta liknar det tidigare alternativet. Den skapar automatiskt en ny tabell baserat på resultatuppsättningen för frågan och infogar sedan dessa resultat i tabellen. Om föregående metod (CREATE TABLE ... AS SELECT ) inte stöds av din DBMS, prova den här metoden.

  1. Android - SQLite - VÄLJ MELLAN Datum1 OCH Datum2

  2. MySQL CRC32() Funktion – Exempel

  3. Hur man utför installation av en EBS 12.2 Vision-instans

  4. 2019 PostgreSQL-trendrapport:Privat vs. Public Cloud, Migrations, Database Combinations &Top Reasones Used