how use pl sql insert
Tento tutoriál vysvetľuje, ako používať príkazy PL SQL INSERT, UPDATE, DELETE a SELECT na príkladoch programovania:
V tomto článku budeme pokračovať s Séria PL / SQL . V PL / SQL dátové typy, konštanty a premenné tutoriálu sme sa podrobne dozvedeli o dátových typoch PL SQL, premenných, konštantoch a literáloch pomocou príkladov programovania. Tu budeme diskutovať o príkazoch PL SQL DML a o tom, ako fungujú.
Budeme skúmať príkazy PL SQL INSERT, DELETE, UPDATE a SELECT na manipuláciu s údajmi v tabuľkách PL / SQL.
Začnime s poznatkami !!
Čo sa dozviete:
- Príkazy PL SQL DML
- Záver
Príkazy PL SQL DML
Začnime chápať implementáciu príkazov INSERT, DELETE, UPDATE a SELECT na tabuľkách. Súhrnne sa nazývajú príkazy jazyka Data Manipulation Language (DML).
Príkaz PL SQL INSERT
Príkaz INSERT INTO sa používa na vloženie údajov do tabuľky. Volá sa a Jazyk manipulácie s údajmi . Ako vstupy používa názov tabuľky, názvy stĺpcov a hodnoty a vykonáva vkladanie hodnôt do tabuľky.
Syntax:
INSERT INTO <> VALUES (<>, <>, …..);Názov tabuľky a hodnoty, ktoré sa majú vložiť, sú povinnou súčasťou príkazu PL SQL INSERT. Prípadne môžeme spomenúť aj názvy stĺpcov, do ktorých sa majú hodnoty vložiť.
Tabuľku ZAMESTNANCI sme vytvorili pomocou nižšie uvedeného príkazu SQL:
CREATE TABLE EMPLOYEE ( CODE INT NOT NULL, NAME VARCHAR (15) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (CODE) );
Implementácia kódu pomocou PL SQL INSERT:
BEGIN INSERT INTO EMPLOYEE VALUES (1, 'FLEX', 34); INSERT INTO EMPLOYEE VALUES (2, 'HARRY', 35); END
Výstup z vyššie uvedeného kódu by mal byť:
SELECT * from EMPLOYEE;
VLOŽTE DO VÝBERU
VLOŽTE DO VŠETKÝCH STĹPCOV
INSERT INTO SELECT sa používa na vloženie riadkov do tabuľky pôsobením na výsledok príkazu SELECT. Môže byť potrebné získať riadok z tabuľky a vložiť ho do inej tabuľky.
najlepší mobilný špionážny softvér pre Android
Syntax:
INSERT INTO <> (col1, col2, col3) SELECT col1, col2, col3 FROM <
Príkaz INSERT INTO SELECT vyžaduje, aby boli dátové typy zdrojovej a cieľovej tabuľky rovnaké. V prípade, že požadujeme kopírovanie celých riadkov zdrojovej tabuľky do cieľovej tabuľky, môžeme vynechať podmienku WHERE.
Ďalšiu tabuľku s názvom MANAGER sme vytvorili pomocou nižšie uvedeného príkazu SQL:
CREATE TABLE MANAGER ( CODE INT NOT NULL, NAME VARCHAR (15) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (CODE) );
Zvážme opäť tabuľku ZAMESTNANCI.
Implementácia kódu pomocou INSERT INTO SELECT .:
BEGIN INSERT INTO MANAGER (CODE, NAME, AGE) SELECT CODE, NAME, AGE FROM EMPLOYEE WHERE CODE = 1; END;
Výstup vyššie uvedeného kódu:
SELECT * from MANAGER;
VLOŽTE ČIASTOČNÉ ÚDAJE
Môžeme vložiť aj čiastkové údaje do inej tabuľky. Najskôr vytvorme MANAŽMENT PODROBNOSTI tabuľka z tabuľky ZAMESTNANEC s nižšie uvedeným dotazom.
CREATE TABLE MANAGERDETAIL AS SELECT * FROM EMPLOYEE WHERE 1 = 0;
Tu, KDE 1 = 0 odkazuje na prvý stĺpec tabuľky ZAMESTNANCOV, ktorým je CODE.
Ďalej použijeme príkaz INSERT INTO SELECT na duplikovanie údajov z tabuľky ZAMESTNANEC do tabuľky MANAGERDETAIL.
Implementácia kódu pomocou INSERT INTO SELECT;
BEGIN INSERT INTO MANAGERDETAIL SELECT CODE, NAME, AGE FROM EMPLOYEE WHERE CODE! = 0 END;
Výstup vyššie uvedeného kódu:
SELECT * from MANAGERDETAIL;
Vo vyššie uvedenom príklade sme v príkaze INSERT neuviedli názvy stĺpcov, pretože výstup príkazu SELECT má hodnoty, ktoré sa zhodujú so stĺpcami tabuľky MANAGERDETAIL. Do klauzuly WHERE sme zahrnuli aj podmienku.
VLOŽTE ČIASTOČNÉ ÚDAJE A PÍSMENO
Do tabuľky môžeme vložiť čiastočné údaje a literálnu hodnotu.
Najprv si vytvoríme tabuľku MANAGERCONTACT s nasledujúcim dotazom:
CREATE TABLE MANAGERCONTACT ( CODE INT NOT NULL, NAME VARCHAR (15) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (CODE) );
Teraz znova využime pomoc tabuľky ZAMESTNANCI a pokúsme sa duplikovať údaje z tabuľky ZAMESTNANCI do tabuľky MANAGERCONTACT.
Implementácia kódu pomocou INSERT INTO:
BEGIN INSERT INTO MANAGERCONTACT (CODE, NAME, AGE) SELECT CODE, NAME, 0 FROM EMPLOYEE; END;
Výstup z vyššie uvedeného kódu:
SELECT * from MANAGERCONTACT;
Vo vyššie uvedenom príklade sme získali hodnoty z tabuľky ZAMESTNANEC a do príkazu INSERT sme zahrnuli aj 0 literál, ktorý upravil hodnoty stĺpca AGE na 0 v tabuľke MANAGERCONTACT.
VLOŽTE VŠETKO
Príkaz INSERT ALL sa používa na pridanie viac ako jedného riadku do jednej tabuľky alebo viacerých tabuliek. Tiež sa nazýva príkaz pre viac tabuliek a má dva typy, podmienené a bezpodmienečné.
# 1) BEZ PODMIENOK VLOŽTE VŠETKO
Na vloženie viac ako jedného riadku do tabuľky sa používa príkaz INSERT ALL.
Syntax:
INSERT ALL INTO <> (c1, c2, c3) VALUES (v1, v2, v3) INTO <> (c1, c2, c3) VALUES (v4, v5, v6) INTO <> (c1, c2, c3) VALUES (v7, v8, v9) Tu sú názvy stĺpcov c1, c2 a c3 a hodnoty, ktoré sa majú vložiť, sú v1, v2 a v3. V prípade, že namiesto poddotazu musíme použiť literálnu hodnotu; musíme použiť nasledujúci dotaz:
SELECT * FROM dual;
Tabuľku SOCCERPLAYERS sme vytvorili pomocou nižšie uvedeného príkazu SQL:
CREATE TABLE SOCCERPLAYERS ( PLAYERID INT NOT NULL, NAME VARCHAR (15) NOT NULL, COUNTRY VARCHAR (15), PRIMARY KEY (PLAYERID) );
Implementácia kódu pomocou INSERT ALL:
BEGIN INSERT ALL INTO SOCCERPLAYERS (PLAYERID, NAME, COUNTRY) VALUES (4, 'DANIEL', 'USA') INTO SOCCERPLAYERS (PLAYERID, NAME, COUNTRY) VALUES (8, 'DANNY', 'ITALY') INTO SOCCERPLAYERS (PLAYERID, NAME, COUNTRY) VALUES (7, 'FRANK', 'FRANCE') SELECT 1 FROM dual; END;
Výstup z vyššie uvedeného kódu:
SELECT * from SOCCERPLAYERS;
Vo vyššie uvedenom príklade boli do tabuľky s príkazom INSERT ALL vložené naraz tri riadky.
Na vloženie viac ako jedného riadku do viacerých tabuliek sa používa príkaz INSERT ALL.
Syntax:
INSERT ALL INTO <> (c1, c2, c3) VALUES (v1, v2, v3) INTO <> (c1, c2, c3) VALUES (v4, v5, v6) INTO <> (c1, c2, c3) VALUES (v7, v8, v9) Subquery;
Tu sú názvy stĺpcov c1, c2 a c3 a hodnoty, ktoré sa majú vložiť, sú v1, v2 a v3. Table_name1, table_name2 a table_name3 sú názvy tabuliek.
# 2) PODMIENENÉ VLOŽTE VŠETKO
Príkaz INSERT ALL môže v závislosti od určitých podmienok vložiť do tabuliek viac ako jeden riadok.
ako zobraziť xml súbory v
Syntax:
INSERT [ALL | FIRST] WHEN cond1 THEN INTO table_name1 <> VALUES <> WHEN cond2 THEN INTO table_name2 <> VALUES <> ELSE INTO table_name3 <> VALUES <> Subquery;
Kľúčové slovo ALL sa používa na určenie, že sa majú vykonať všetky podmienky podľa klauzuly WHERE. Ak je podmienka splnená, spustí sa zodpovedajúca klauzula INTO.
Ak sa použije kľúčové slovo PRVÉ, potom pre každý jednotlivý riadok získaný z poddotazu vykoná Oracle kritériá v klauzule KEDY zhora nadol. Akonáhle je podmienka splnená, zodpovedajúca klauzula INTO by bežala a preskočila na inú klauzulu WHEN pre daný riadok.
Tabuľky VEHICLE, CARS, SMALLCARS a LARGECARS sme vytvorili pomocou nižšie uvedených príkazov SQL:
CREATE TABLE VEHICLE ( CARID INT NOT NULL, NAME VARCHAR (15) NOT NULL, COLOR VARCHAR (15), PRIMARY KEY (CARID) );
Vložte nasledujúce hodnoty do tabuľky VOZIDLO:
INSERT INTO VEHICLE VALUES (1, 'AUDI', 'RED'); INSERT INTO VEHICLE VALUES (4, 'BMW', 'WHITE'); INSERT INTO VEHICLE VALUES (7, 'KIA', 'GREEN'); CREATE TABLE CARS ( CARID INT NOT NULL, NAME VARCHAR (15) NOT NULL, COLOR VARCHAR (15), PRIMARY KEY (CARID) ); CREATE TABLE SMALLCARS AS SELECT * FROM CARS; CREATE TABLE LARGECARS AS SELECT * FROM CARS;
Implementácia kódu pomocou INSERT ALL.
BEGIN INSERT ALL WHEN CARID = 1 THEN INTO CARS WHEN CARID = 4 THEN INTO SMALLCARS WHEN CARID = 7 THEN INTO LARGECARS SELECT CARID, NAME, COLOR FROM VEHICLE; END;
Výstup z vyššie uvedeného kódu:
SELECT * from CARS;
SELECT * from SMALLCARS;
SELECT * from LARGECARS;
Vo vyššie uvedenom príklade bol jeden riadok vložený do každej z troch tabuliek na základe hodnoty CARDID.
S príkazom INSERT ALL existujú určité obmedzenia:
- Používa sa iba na vkladanie hodnôt do tabuliek. Nepracuje s pohľadmi alebo zhmotnenými pohľadmi.
- Nie je schopný vkladať hodnoty do vzdialených tabuliek.
- Počet stĺpcov, ktoré dokáže spracovať príkaz INSERT INTO, by nemal byť väčší ako 999.
- Výraz príkazu tabuľka nemôže byť použitý v príkaze INSERT pre viac tabuliek.
- Poddotaz INSERT pre viac tabuliek nie je schopný použiť sekvenciu.
Príkaz PL SQL Update
Príkaz UPDATE sa používa na úpravu hodnôt v tabuľke. Tiež sa nazýva a Jazyk manipulácie s údajmi . Ako vstupy používa názvy tabuľky, stĺpca a hodnoty a vykonáva úpravy hodnôt v tabuľke.
Syntax:
UPDATE <> SET <>=<>, <>=<>,… WHERE <>;Kľúčové slovo SET sa používa na zmenu hodnoty stĺpca s novou hodnotou. Prípadne sa použije kľúčové slovo WHERE, ak sa vynechá, hodnota zadaného stĺpca v celej tabuľke sa upraví.
AKTUALIZOVAŤ JEDNOTLIVÝ STĹPEC RIADKU
Zvážme opäť tabuľku ZAMESTNANCI.
Implementácia kódu s UPDATE:
BEGIN UPDATE EMPLOYEE SET NAME = 'HENRY' WHERE CODE=1; END;
Výstup z vyššie uvedeného kódu:
SELECT * from EMPLOYEE;
AKTUALIZOVAJTE VIACEROČNÉ STĹPCE RIADKU
Zvážme opäť tabuľku ZAMESTNANCI.
Implementácia kódu s UPDATE:
BEGIN UPDATE EMPLOYEE SET NAME = 'COMO', AGE = 30 WHERE CODE=2; END;
Výstup z vyššie uvedeného kódu:
SELECT * from EMPLOYEE;
AKTUALIZOVAŤ VIACERÝCH RIADKOV
Zvážme opäť tabuľku ZAMESTNANCI.
Implementácia kódu s UPDATE:
BEGIN UPDATE EMPLOYEE SET AGE = AGE +1; END;
Výstup vyššie uvedeného kódu:
SELECT * from EMPLOYEE;
V uvedenom príklade sa VEK všetkých zamestnancov zvýšil o 1.
PL SQL príkaz na vymazanie
Príkaz DELETE sa používa na odstránenie celého záznamu z tabuľky. Tiež sa nazýva a Jazyk manipulácie s údajmi.
Syntax:
DELETE FROM <> WHERE <>;Kľúčové slovo FROM nie je povinné a príkaz DELETE prinesie rovnaký výsledok, ak sa do dotazu pridá alebo nepridá výraz FROM. Voliteľne sa použije kľúčové slovo WHERE, ak sa vynechá, celá tabuľka sa odstráni.
VYMAZAJTE JEDNU RIADKU Z TABUĽKY
Zvážme opäť tabuľku ZAMESTNANCI.
Implementácia kódu pomocou DELETE:
BEGIN DELETE FROM EMPLOYEE WHERE CODE=2; END;
Výstup vyššie uvedeného kódu:
SELECT * from EMPLOYEE;
VYMAZAJTE VIACERÉ RADY Z TABUĽKY
Zvážme znova tabuľku MANAGERDETAIL.
Implementácia kódu pomocou DELETE:
BEGIN DELETE FROM MANAGERDETAIL WHERE CODE > 0; END;
Výstup vyššie uvedeného kódu:
SELECT * from MANAGERDETAIL;
VYMAZAJTE CELÉ RADY Z TABUĽKY
Zvážme opäť tabuľku VOZIDLO.
Implementácia kódu pomocou DELETE:
BEGIN DELETE FROM VEHICLE; END;
Výstup vyššie uvedeného kódu:
SELECT * from VEHICLE;
PL SQL príkaz na výber
Príkaz SELECT sa používa na načítanie údajov z databázy. Príkaz SELECT INTO sa používa na získanie hodnôt z databázy a ich uloženie do lokálnych premenných zavedených PL / SQL.
Ak použijeme iba príkaz SELECT, vráti jeden záznam. V prípade, že príkaz SELECT načítava viac hodnôt, TOO_MANY_ROWS výnimku vyvolá PL / SQL. Pri použití príkazu SELECT INTO priradíme premennej najmenej jednu hodnotu. Ak sa však z databázy nezíska žiadny záznam, NEBOLI NÁJDENÉ ŽIADNE DÁTA je hodená výnimka.
Počet stĺpcov a ich typ by sa mal rovnať počtu premenných a ich typu v kľúčovom slove INTO. Hodnoty sa získavajú z databázy v rovnakom poradí, ako je definované v príkaze SELECT.
Kľúčové slovo WHERE vo vnútri príkazu SELECT je voliteľné a umožňuje nám získať záznamy, ktoré spĺňajú určité kritériá. Je dôležité si uvedomiť, že príkaz SELECT s príkazmi DELETE, UPDATE a INSERT nemá klauzulu INTO.
Syntax:
SELECT <>, <>, ..<> INTO <>, <>, … <> FROM <> WHERE <>;NAČÍTAJTE ÚDAJE ZO VŠETKÝCH STĹPCOV TABUĽKY
Zvážme opäť tabuľku ZAMESTNANCI.
Implementácia kódu pomocou SELECT:
BEGIN SELECT * FROM EMPLOYEE WHERE CODE=1; END;
Výstup vyššie uvedeného kódu:
Implementácia kódu s príkazom SELECT vyvolávajúcim výnimku:
BEGIN SELECT * FROM EMPLOYEE WHERE CODE=2; END;
Výstup vyššie uvedeného kódu:
Výnimka „nenájdené žiadne údaje“ je vyvolaná, pretože príkazu SELECT sa nepodarilo získať riadok zodpovedajúci zadanej podmienke, pretože v databáze nie je žiadny zamestnanec s KÓDOM 2.
NAČÍTAJTE ÚDAJE ZO STĹPCA TABUĽKY
Zvážme opäť tabuľku ZAMESTNANCI.
BEGIN SELECT CODE FROM EMPLOYEE; END;
Výstup z vyššie uvedeného kódu:
NAČÍTAJTE ÚDAJE Z VIACERÝCH STĹPCOV TABUĽKY
Zvážme opäť tabuľku ZAMESTNANCI.
BEGIN SELECT CODE, NAME FROM EMPLOYEE; END;
Výstup vyššie uvedeného kódu:
Vo vyššie uvedenom príklade boli do príkazu SELECT pridané dva stĺpce CODE a NAME.
Často kladené otázky a odpovede
Otázka č. 1) Čo je INSERT, UPDATE a DELETE v SQL?
Odpoveď: INSERT, UPDATE a DELETE sú príkazy v SQL, ktoré pomáhajú prevádzkovať a aktualizovať údaje. Príkaz INSERT vkladá riadky do tabuľky. Príkaz DELETE odstráni riadky z tabuľky a príkaz UPDATE aktualizuje hodnoty v riadkoch tabuľky.
Otázka 2) Môžeme INSERT, UPDATE a DELETE vymazať v zobrazení v SQL?
Odpoveď: Áno, môžeme vkladať, aktualizovať a mazať v zobrazení v SQL. Ak sa pohľad spojil medzi tabuľkami, môžeme vykonávať iba akcie INSERT a UPDATE, ale nemôžeme vykonať operáciu DELETE. Príkaz DROP sa používa na odstránenie zobrazenia.
Otázka 3) Je INSERT DDL alebo DML?
sleep () c ++
Odpoveď: INSERT je jazyk DML alebo jazyk manipulácie s údajmi). Ostatné príkazy DML zahŕňajú UPDATE, DELETE atď. Príkaz DDL je schopný vytvárať tabuľky, schémy a databázy.
Otázka č. 4) Môžeme použiť JOIN IN na vymazanie dotazu?
Odpoveď: Áno, na odstránenie riadkov z tabuľky môžeme použiť príkaz INNER JOIN v príkaze DELETE.
Otázka č. 5) Aký je rozdiel medzi príkazom orezania a odstránenia?
Odpoveď: TRUNCATE je príkaz DDL, zatiaľ čo DELETE je DML. Príkaz TRUNCATE je schopný odstrániť celú tabuľku. Nezachováva to integritu tabuľky. Príkaz DELETE môže vymazať iba konkrétne údaje z tabuľky. Môže tiež obsahovať podmienky na výmaz.
Otázka 6) Čo sú DML, DCL a DDL?
Odpoveď: Príkazy SQL sú typov - DML, DCL a DML.
Jazyk definície údajov alebo DDL obsahuje príkazy ako ALTER, DROP, CREATE, RENAME, TRUNCATE a COMMENT. Jazyk manipulácie s dátami alebo DML obsahuje príkazy ako VLOŽIŤ, ODSTRÁNIŤ, ZLÚČIŤ, AKTUALIZOVAŤ, VOLAŤ, ZAMKNÚŤ TABUĽKU a VYSVETLIVÝ PLÁN.
Jazyk Data Control Language alebo DCL obsahuje príkazy ako GRANT a REVOKE.
Otázka č. 7) Je skrátenie rýchlejšie ako pokles?
Odpoveď: Áno, prevádzka TRUNCATE je rýchlejšia ako DROP. Príkaz TRUNCATE vymaže iba údaje z tabuľky. Príkaz DROP vymaže štruktúru tabuľky a údaje z tabuľky.
Záver
V tomto tutoriáli sme podrobne prediskutovali niektoré základné koncepty príkazov PL SQL, ktoré sú nevyhnutné pre rozvoj vedomostí o nich. Prebrali sme nasledujúce témy uvedené nižšie:
- Príkazy jazyka na manipuláciu s údajmi.
- Použitie PL SQL INSERT.
- Využitie PL SQL UPDATE.
- Využitie PL SQL DELETE.
- Využitie PL SQL SELECT.
<< PREV Tutorial | ĎALŠÍ výukový program >>
Odporúčané čítanie
- Výukový program PL SQL pre začiatočníkov s príkladmi Čo je to PL / SQL
- Kurzor a reťazce PL SQL: Výukový program s príkladmi kódu
- PL SQL dátové typy, premenné, konštanty a literály
- Formát PL SQL Datetime: Funkcie dátumu a času v PL / SQL
- Balík PL SQL: Výukový program balíkov Oracle PL / SQL s príkladmi
- MySQL Vložiť do tabuľky - Vložiť syntax príkazov a príklady
- Výukový program pre vyhlásenie o aktualizácii MySQL - aktualizácia syntaxe dotazov a príklady
- Príkaz na odstránenie MySQL - odstránenie syntaxe príkazov a príkladov
^