Database
 sql >> база данни >  >> RDS >> Database

SQL INSERT за начинаещи

Тази статия съдържа основния SQL INSERT изрази, които начинаещите могат да използват за вмъкване на данни в своите таблици на база данни.

Основен синтаксис

Основният синтаксис за вмъкване на данни в SQL е така:

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

Къде:

  • TableName е името на таблицата, в която искате да вмъкнете данни
  • Column1 , etc са имената на колоните, в които искате да вмъкнете данни
  • Value1 , etc са стойностите, които вмъквате в тези колони. Редът на тези стойности трябва да съвпада с реда, в който сте посочили колоните (т.е. Value1 влиза в Column1 и др.).

Можете да пропуснете имената на колоните, ако вмъквате стойности във всички колони. В този случай можете да използвате следния синтаксис:

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

Обърнете внимание, че някои СУБД използват по-сложен синтаксис от този (т.е. предлагат повече опции), но това обикновено е основният синтаксис, необходим за вмъкване на данни в таблица.

Вмъкване във всички колони

Ето един основен пример, който вмъква данни във всички колони в таблицата:

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

В този случай има две колони в PetTypes таблица и вмъкваме стойности в двете колони, следователно не е необходимо да указваме имената на колоните.

Горното изявление е същото като да направите това:

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

Можем да проверим данните си, като изпълним SELECT изявление.

SELECT * FROM PetTypes;

Резултат:

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

Вмъкване в някои колони

Ето един основен пример, който вмъква данни само в някои от колоните в таблицата:

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

Тази таблица всъщност има четири колони, но ние вмъкваме данни само в три от тези колони. Можем да видим това, когато изпълним SELECT изявление срещу таблицата след вмъкване на данните.

SELECT * FROM Users;

Резултат:

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

Как да вмъкнете стойности в грешен ред

Методът на списъка с колони ви позволява да вмъквате данни, които не са в същия ред:

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

В този пример пренаредих реда на колоните и съответните им стойности. За щастие, списъкът с колони предоставя на СУБД насоки за това къде трябва да се вмъкне всяка стойност.

Така че сега, ако изберем нашите данни, ще видим, че те са били вмъкнати в правилните колони.

SELECT * FROM Users;

Резултат:

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

Вмъкване на резултата от заявка

Възможно е също да вмъкнете резултатния набор от заявка в таблица. Има няколко подхода, които можете да предприемете с това.

  • Използвайте INSERT INTO... SELECT изявление. В този случай първо трябва да създадете таблицата, преди да вмъкнете в нея набор от резултати от заявка.
  • Използвайте CREATE TABLE ... AS SELECT оператор. Този метод автоматично създава нова таблица въз основа на набора от резултати от заявката, след което вмъква тези резултати в таблицата. Въпреки че този метод отговаря на стандарта SQL, той не се поддържа от всички СУБД.
  • Използвайте SELECT INTO изявление. Това е подобно на предишния вариант. Той автоматично създава нова таблица въз основа на набора от резултати от заявката, след което вмъква тези резултати в таблицата. Ако предишният метод (CREATE TABLE ... AS SELECT ) не се поддържа от вашата СУБД, опитайте този метод.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на заявки:Показване на въздействието на индексите върху вложките

  2. T-SQL вторник #67 :Ново архивиране и възстановяване на разширени събития

  3. SQL урок за начинаещи

  4. Идентифициране на структурата на спецификацията (BOM) в базите данни

  5. 7 безплатни инструмента за диаграмиране на бази данни за заети хора с данни