SQL datu pievienošana. SQL vaicājums ierakstu pievienošanai un dzēšanai

16.09.2023

Iepriekšējās sadaļās mēs apskatījām darbu, kas saistīts ar datu izgūšanu no iepriekš izveidotām tabulām. Tagad ir pienācis laiks izdomāt, kā mēs varam izveidot/dzēst tabulas, pievienot jaunus ierakstus un dzēst vecos. Šiem nolūkiem iekšā SQL Ir tādi operatori kā: IZVEIDOT- izveido tabulu, ALTER- maina tabulas struktūru, NOLIET- dzēš tabulu vai lauku, IEVIETOT- pievieno datus tabulai. Sāksim iepazīties ar šo operatoru grupu no operatora IEVIETOT.

1. Veselu rindu pievienošana

Kā norāda nosaukums, operators IEVIETOT izmanto, lai datu bāzes tabulā ievietotu (pievienotu) rindas. Pievienošanu var veikt vairākos veidos:

  • - pievienojiet vienu pilnu rindu
  • - pievienot rindas daļu
  • - pievienot vaicājuma rezultātus.

Tātad, lai pievienotu tabulai jaunu rindu, mums ir jānorāda tabulas nosaukums, jāuzskaita kolonnu nosaukumi un jānorāda katras kolonnas vērtība, izmantojot konstrukciju INSERT INTO tabulas_nosaukums (lauks1, lauks2...) VĒRTĪBAS (vērtība1, vērtība2...). Apskatīsim piemēru.

INSERT INTO Pārdevēju (ID, adrese, pilsēta, pārdevēja_nosaukums, valsts) VĒRTĪBAS("6", "1st Street", "Los Angeles", "Harry Monroe", "USA")

Varat arī mainīt kolonnu nosaukumu secību, taču tajā pašā laikā jums ir jāmaina parametra vērtību secība VĒRTĪBAS.

2. Daļas līniju pievienošana

Iepriekšējā piemērā, izmantojot operatoru IEVIETOT mēs esam skaidri atzīmējuši tabulas kolonnu nosaukumus. Izmantojot šī sintakse, mēs varam izlaist dažas kolonnas. Tas nozīmē, ka jūs ievadāt vērtības dažām kolonnām, bet nenodrošiniet tās citām. Piemēram:

INSERT INTO Pārdevēju (ID, pilsēta, Pārdevēja_nosaukums) VĒRTĪBAS("6", "Losandželosa", "Harijs Monro")

IN šajā piemērā mēs nenorādījām vērtību divām kolonnām Adrese Un Valsts. Varat izslēgt dažas kolonnas no paziņojuma INSERT INTO, ja tas pieļauj tabulas definīciju. Šajā gadījumā ir jāizpilda viens no nosacījumiem: šī kolonna ir definēta kā derīga NULL(nav nekādas vērtības) vai tabulas definīcijā norādītā noklusējuma vērtība. Tas nozīmē, ka, ja vērtība nav norādīta, tiks izmantota noklusējuma vērtība. Ja tabulā trūkst kolonnas, kas neļauj rindās parādīties vērtībām NULL un nav definēta noklusējuma vērtība, DBVS ģenerēs kļūdas ziņojumu un rinda netiks pievienota.

3. Atlasīto datu pievienošana

Iepriekšējos piemēros mēs ievietojām datus tabulās, manuāli ievadot tos vaicājumā. Tomēr operators INSERT INTOļauj automatizēt šo procesu, ja vēlamies ievietot datus no citas tabulas. Šim nolūkam SQL ir tāda konstrukcija kā INSERT INTO... ATLASĪT.... Šis dizains ļauj vienlaikus atlasīt datus no vienas tabulas un ievietot tos citā. Pieņemsim, ka mums ir cita tabula Pārdevēji_ES ar mūsu preču pārdevēju sarakstu Eiropā un mums tie jāpievieno vispārējai tabulai Pārdevēji. Šo tabulu struktūra ir vienāda (vienāds kolonnu skaits un vienādi nosaukumi), taču dati atšķiras. Lai to izdarītu, mēs varam uzrakstīt šādu vaicājumu:

INSERT INTO Pārdevēji (ID, adrese, pilsēta, pārdevēja_nosaukums, valsts) ATLASĪTID, adrese, pilsēta, pārdevēja_nosaukums, valsts NO Pārdevēji_ES

Jums jāpievērš uzmanība, lai neatkārtotos iekšējo atslēgu vērtības (lauks ID), pretējā gadījumā radīsies kļūda. Operators ATLASĪT var ietvert arī ieteikumus KUR lai filtrētu datus. Jāņem arī vērā, ka DBVS nepievērš uzmanību paziņojumā ietverto kolonnu nosaukumiem ATLASĪT, viņai ir svarīga tikai kārtība, kādā tie ir sakārtoti. Tāpēc dati pirmajā norādītajā kolonnā, kas tika atlasīti sakarā ar ATLASĪT, jebkurā gadījumā tiks aizpildīta tabulas pirmajā ailē Pārdevēji, norādīts aiz operatora INSERT INTO, neatkarīgi no lauka nosaukuma.

4. Datu kopēšana no vienas tabulas uz otru

Bieži vien, strādājot ar datu bāzēm, ir nepieciešams izveidot jebkuru tabulu kopijas dublēšanas vai modifikācijas nolūkos. Lai izveidotu pilnu tabulas kopiju, SQL nodrošina atsevišķu paziņojumu IZVĒLĒTIES. Piemēram, mums ir jāizveido tabulas kopija Pārdevēji, jums būs jāraksta pieprasījums šādi:

SELECT * INTO Sellers_new FROM Pārdevēji

Atšķirībā no iepriekšējā dizaina INSERT INTO... ATLASĪT... kad tiek pievienoti dati esošā tabula, konstrukcija kopē datus jaunā tabulā. Varat arī teikt, ka pirmā konstrukcija importē datus, bet otrā eksportē. Izmantojot dizainu IZVĒLĒTIES ... UZ ... NO ... Jāņem vērā sekojošais:

  • - operatorā varat izmantot jebkurus teikumus ATLASĪT, piemēram, GROUP BY Un ŅEMOT
  • - Varat izmantot savienojumu, lai pievienotu datus no vairākām tabulām
  • - datus var pievienot tikai vienai tabulai neatkarīgi no tā, no cik tabulām tie ņemti.

Vispārējā sintakse:

a) ievietojot vienu jauna līnija pie galda:

IEVIETOT<таблица>[(kolonnas)]

VĒRTĪBAS

b) vienas vai vairāku rindu ievietošana tabulā, kas ņemta no apakšvaicājumā norādītā avota:

IEVIETOT<таблица>[(kolonnas)]