Privire de ansamblu asupra posibilităților de manipulare a datelor - stadopedia

Limbajul de manipulare a datelor (DML) face parte din SQL, ceea ce permite utilizatorului bazei de date să facă schimbări reale în baza de date relațională. Cu DML, utilizatorul poate actualiza tabelele cu date noi, poate actualiza datele existente și le poate șterge din tabele. Cu comenzi DML, puteți efectua și câteva tipuri de interogări.

Există trei comenzi DML de bază în SQL:

INSERTAȚI ACTUALIZAREA

Comanda SELECT, care poate fi folosită și cu comenzi DML, va fi discutată în detaliu în timpul Lecției 7, "Obținerea cunoștințelor cu interogări".

Umplerea meselor cu date noi

Completarea unui tabel cu date este procesul de introducere a datelor noi într-un tabel, fie prin utilizarea manuală a unor comenzi individuale, fie prin utilizarea automată a programelor sau a oricărei alte metode.

Ce date și cât de mult pot fi astfel introduse în tabel, depinde de mulți factori, principalele dintre care sunt constrângerile date în tabelul de determinare, dimensiunea fizică a tabelului, tipurile de date ale coloanelor, lățimea coloanei, integritatea cerințe sub formă de chei și cheile externe. În secțiunile următoare, vom discuta caracteristicile procesului de introducere a datelor în tabele, luând în considerare o serie de recomandări și precauții relevante.

Nu uitați că instrucțiunile SQL pot utiliza ambele caractere minuscule și majuscule. Datorită modului în care operatorii sunt stocați în baza de date, ele nu depind de alegerea literelor. În exemplele de mai jos, literele de la literele de jos și de la majuscule sunt utilizate numai pentru a arăta că acest lucru nu afectează rezultatul.

Introducerea datelor într-o tabelă

Pentru a introduce noi date în tabel, utilizați instrucțiunea INSERT. După cum reiese clar din vizualizarea de bază prezentată mai jos, operatorul INSERT are mai multe opțiuni.

introduceți în numele schemei numele tabelului VALUES ('value1', 'value2', [NULL]);

În conformitate cu sintaxa instrucțiunii INSERT, trebuie să introduceți valori pentru toate coloanele din tabelul corespunzător din lista VALORI. Valorile din listă sunt separate prin virgule. Valorile caracterelor și valorile date trebuie incluse în ghilimele. Pentru valorile numerice și valorile goale specificate de cuvântul cheie NULL, nu sunt necesare citate. Valorile trebuie specificate pentru toate coloanele din tabel.

În exemplul următor, o intrare nouă este introdusă în tabela PRODUCTS_TBL.

Exemplu de utilizare a instrucțiunii INSERT:

INSCRIEȚI ÎN VALORILE PRODUCTS_TBL ('7725', 'GLOVES LEATHER', 24.99);

În acest exemplu, trei valori sunt introduse într-un tabel cu trei coloane. Ordinea valorilor introduse corespunde ordinii coloanelor din tabel. Primele două valori sunt cuprinse în ghilimele, deoarece tipul de date al coloanelor corespunzătoare este un tip de date caracter. A treia valoare asociată coloanei COST are un tip de date numeric și, prin urmare, nu necesită ghilimele, deși pot fi folosite și în acest caz.

În acest exemplu, numele proprietarului schemei sau al tabelului nu a fost specificat. Numele schemei nu este necesar dacă sunteți conectat ca utilizator care deține tabelul corespunzător.

Introducerea datelor în coloane specifice din tabel

Este posibil să introduceți date nu în totalitate, ci numai în anumite coloane, de exemplu, dacă trebuie să introduceți toate informațiile despre un angajat, cu excepția numărului de pager. În acest caz, în instrucțiunea INSERT, împreună cu o listă cu valorile VALUES, trebuie să specificați o listă cu coloanele corespunzătoare.

Sintaxa operatorului pentru introducerea valorilor în coloanele selectate din tabel este următoarea:

INSCRIEȚI ÎN SCHEMA NAME.IMY_TABLES ('COLUMN1', 'COLUMN2')

VALUES ('VALUE1', 'VALUE2');

În exemplul următor, numai valorile pentru unele coloane sunt introduse în tabela ORDERS_TBL.

Exemplu de utilizare a instrucțiunii INSERT:

inserați în orders_tbl (ord_num, cust_id, prod_id, cantitate) VALORI ( '23A16', '409', '7725', 2);

Aici, după numele tabelului, în paranteze este indicată o listă de coloane. Aceasta este o listă a tuturor coloanelor în care sunt introduse datele. În acest caz, numai coloana ORD_DATE nu este listată. Din definiția tabelului, puteți vedea că coloana ORD_DATE nu necesită prezența datelor în fiecare rând, deoarece NOT NULL este specificată în definiția tabelului pentru această coloană. NOT NULL înseamnă că valorile goale pentru o coloană nu sunt permise. Ordinea din lista valorilor trebuie să corespundă ordinii în care valorile sunt introduse în tabelul specificat în lista de coloane.

Lista coloanelor din instrucțiunea INSERT nu trebuie să corespundă cu lista coloanelor din tabelul corespunzător, dar lista valorilor de intrare trebuie să corespundă în mod necesar listei coloanelor selectate

Introducerea datelor dintr-un alt tabel

În tabel, puteți introduce datele obținute ca urmare a unei interogări într-un alt tabel, utilizând o combinație de instrucțiuni INSERT și SELECT. Pe scurt, o interogare este o cerere către baza de date, cu scopul de a obține date. Interogarea poate fi comparată cu interogarea utilizatorului pentru baza de date și datele returnate cu răspunsul primit. Dacă combinați instrucțiunile INSERT și SELECT, puteți introduce datele primite ca rezultat al interogării în tabel.

Sintaxa operatorului pentru introducerea datelor dintr-o tabelă în alta este următoarea:
inserați în schema.name.name_name [('column1', 'column2')] selectați [* | ("coloană!", "coloana 2")]

de la table_name [în cazul în care condițiile];

Aici vedeți trei cuvinte cheie noi SELECT, FROM și WHERE. SELECT este comanda principală pentru construirea de interogări în SQL. Utilizând FROM, interogarea specifică numele tabelelor în care doriți să găsiți datele. Folosind WHERE, interogările specifică condițiile care determină esența interogării. Această condiție poate fi, de exemplu, WHERE NAME = 'SMITH'. Folosirea acestor trei cuvinte cheie este discutată în detaliu în timpul lecțiilor 7 și 8.

Următorul exemplu utilizează o interogare simplă pentru a vedea toate datele din tabela PRODUCTS_TBL. Aici SELECT * spune serverului de baze de date că este necesar pentru a obține informații din toate coloanele din tabel. Și absența cuvântului cheie WHERE înseamnă că trebuie să afișați toate înregistrările din tabel.

selectați * din products_tbl;

PROD_ID PROD_DESC COST

11235 COSTUMUL WITCHULUI 29.99

222 POMPE PLASTICE 7.75

13 TEHNICA DE PARAFFIN ARTIFICIAL 1.1

15 COSTUME DIN SORTIMENT 10

9 LAPTOP 1.35

6 CANDY PUMPED 1.45

87 SPOCURI PLASTICE 1.05

119 MASCINI ÎN SARCINĂ 4.95

1234 CHERESTEA DE VITEZE 5.95

2345 COLECȚIA DE OAK 59.99

Acum, datele obținute ca urmare a acestei interogări, intrăm în tabelul PRODUCTS_TMP. Veți vedea că în acest tabel temporar vor fi create 11 rânduri.

INSCRIEȚI ÎN PRODUSE_TMP SELECT * FROM PRODOCTS_TBL;

Articole similare