sql >> Database >  >> RDS >> Database

SQL INSERT voor beginners

Dit artikel bevat basis SQL INSERT instructies die beginners kunnen gebruiken om gegevens in hun databasetabellen in te voegen.

Basissyntaxis

De basissyntaxis voor het invoegen van gegevens in SQL gaat als volgt:

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

Waar:

  • TableName is de naam van de tabel waarin u gegevens wilt invoegen
  • Column1 , enz. zijn de namen van de kolommen waarin u gegevens wilt invoegen
  • Value1 , enz. zijn de waarden die u in die kolommen invoegt. De volgorde van deze waarden moet overeenkomen met de volgorde waarin u de kolommen heeft vermeld (d.w.z. Value1 gaat naar Column1 , enz.).

U kunt de kolomnamen weglaten als u waarden in alle kolommen invoegt. In dat geval kunt u de volgende syntaxis gebruiken:

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

Merk op dat sommige DBMS'en een complexere syntaxis gebruiken dan deze (d.w.z. ze bieden meer opties), maar dit is over het algemeen de basissyntaxis die nodig is om gegevens in een tabel in te voegen.

Invoegen in alle kolommen

Hier is een eenvoudig voorbeeld waarbij gegevens in alle kolommen in de tabel worden ingevoegd:

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

In dit geval zijn er twee kolommen in de PetTypes tabel, en we voegen waarden in beide kolommen in, daarom hoeven we de kolomnamen niet op te geven.

De bovenstaande verklaring is hetzelfde als dit doen:

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

We kunnen onze gegevens controleren door een SELECT . uit te voeren verklaring.

SELECT * FROM PetTypes;

Resultaat:

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

Invoegen in enkele kolommen

Hier is een eenvoudig voorbeeld dat gegevens invoegt in slechts enkele van de kolommen in de tabel:

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

Deze tabel heeft eigenlijk vier kolommen, maar we voegen alleen gegevens in drie van die kolommen in. We kunnen dat zien wanneer we een SELECT . uitvoeren statement tegen de tabel na het invoegen van de gegevens.

SELECT * FROM Users;

Resultaat:

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

Waarden in de verkeerde volgorde invoegen

Met de kolomlijstmethode kunt u gegevens invoegen die niet in dezelfde volgorde staan:

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

In dit voorbeeld heb ik de volgorde van de kolommen en hun respectieve waarden herschikt. Gelukkig geeft de kolomlijst de DBMS richtlijnen over waar elke waarde moet worden ingevoegd.

Dus als we nu onze gegevens selecteren, zullen we zien dat deze in de juiste kolommen zijn ingevoegd.

SELECT * FROM Users;

Resultaat:

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

Voeg het resultaat van een zoekopdracht in

Het is ook mogelijk om de resultatenset van een query in een tabel in te voegen. Er zijn een aantal benaderingen die u hiermee kunt nemen.

  • Gebruik de INSERT INTO... SELECT uitspraak. In dit geval moet u eerst de tabel maken voordat u er een set met queryresultaten in invoegt.
  • Gebruik de CREATE TABLE … AS SELECT-instructie. Met deze methode wordt automatisch een nieuwe tabel gemaakt op basis van de resultatenset van de query en worden deze resultaten vervolgens in de tabel ingevoegd. Hoewel deze methode voldoet aan de SQL-standaard, wordt deze niet door alle DBMS'en ondersteund.
  • Gebruik de SELECT INTO uitspraak. Dit is vergelijkbaar met de vorige optie. Er wordt automatisch een nieuwe tabel gemaakt op basis van de resultatenset van de query en deze resultaten worden vervolgens in de tabel ingevoegd. Als de vorige methode (CREATE TABLE ... AS SELECT ) niet wordt ondersteund door uw DBMS, probeer deze methode.

  1. Buitenlandse PostgreSQL-sleutel bestaat niet, probleem met overerving?

  2. 6 leuke weetjes over Microsoft die u waarschijnlijk niet kent!

  3. Zoeken naar exact overeenkomende woorden met MySql Query

  4. oracle jdbc driver versie waanzin