sql >> Databáze >  >> RDS >> Database

SQL INSERT pro začátečníky

Tento článek obsahuje základní SQL INSERT příkazy, které mohou začátečníci používat k vkládání dat do svých databázových tabulek.

Základní syntaxe

Základní syntaxe pro vkládání dat do SQL vypadá takto:

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

Kde:

  • TableName je název tabulky, do které chcete vložit data
  • Column1 , atd. jsou názvy sloupců, do kterých chcete vložit data
  • Value1 , atd. jsou hodnoty, které vkládáte do těchto sloupců. Pořadí těchto hodnot musí odpovídat pořadí, ve kterém jste uvedli sloupce (tj. Value1 přejde do Column1 , atd.).

Názvy sloupců můžete vynechat, pokud hodnoty vkládáte do všech sloupců. V takovém případě můžete použít následující syntaxi:

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

Všimněte si, že některé DBMS používají složitější syntaxi než tato (tj. nabízejí více možností), ale obecně se jedná o základní syntaxi požadovanou pro vkládání dat do tabulky.

Vložit do všech sloupců

Zde je základní příklad, který vkládá data do všech sloupců v tabulce:

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

V tomto případě jsou v PetTypes dva sloupce tabulky a do obou sloupců vkládáme hodnoty, proto nemusíme uvádět názvy sloupců.

Výše uvedené prohlášení je stejné jako toto:

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

Naše data můžeme zkontrolovat spuštěním SELECT prohlášení.

SELECT * FROM PetTypes;

Výsledek:

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

Vložit do některých sloupců

Zde je základní příklad, který vkládá data jen do některých sloupců v tabulce:

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

Tato tabulka má ve skutečnosti čtyři sloupce, ale data vkládáme pouze do tří z těchto sloupců. Můžeme to vidět, když spustíme SELECT příkaz k tabulce po vložení dat.

SELECT * FROM Users;

Výsledek:

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

Jak vložit hodnoty do nesprávného pořadí

Metoda seznamu sloupců umožňuje vkládat data, která nejsou ve stejném pořadí:

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

V tomto příkladu jsem přeuspořádal pořadí sloupců a jejich příslušné hodnoty. Naštěstí seznam sloupců poskytuje DBMS pokyny, kam by měla být každá hodnota vložena.

Pokud tedy nyní vybereme naše data, uvidíme, že byla vložena do správných sloupců.

SELECT * FROM Users;

Výsledek:

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

Vložte výsledek dotazu

Je také možné vložit sadu výsledků dotazu do tabulky. Existuje několik přístupů, které s tím můžete použít.

  • Použijte INSERT INTO... SELECT prohlášení. V tomto případě musíte nejprve vytvořit tabulku, než do ní vložíte sadu výsledků dotazu.
  • Použijte příkaz CREATE TABLE… AS SELECT. Tato metoda automaticky vytvoří novou tabulku na základě sady výsledků dotazu a poté tyto výsledky vloží do tabulky. Přestože tato metoda odpovídá standardu SQL, není podporována všemi DBMS.
  • Použijte SELECT INTO prohlášení. Je to podobné jako u předchozí možnosti. Automaticky vytvoří novou tabulku na základě sady výsledků dotazu a poté tyto výsledky vloží do tabulky. Pokud předchozí metoda (CREATE TABLE ... AS SELECT ) není vaším DBMS podporováno, zkuste tuto metodu.

  1. PostgreSQL, komplexní dotaz pro výpočet přísad podle receptury

  2. Trvale nastavit cestu schématu Postgresql

  3. Nejlepší nástroje GUI pro PostgreSQL

  4. Jak nainstalovat a zabezpečit MariaDB na Debian 9