instrucțiuni sql. SQL SELECT și interogări de selecție a datelor

Instrucțiunea SQL SELECT este destinată interogărilor de selectare a datelor dintr-o bază de date. Poate fi folosit fie fără condiții (selectarea tuturor rândurilor din toate coloanele sau a tuturor rândurilor din anumite coloane), fie cu mai multe condiții (selectarea anumitor rânduri) care sunt specificate în clauza WHERE. Să ne familiarizăm cu instrumentele SQL care pot fi folosite pentru a seta aceste condiții pentru selectarea datelor și, de asemenea, să învățăm cum să folosim instrucțiunea SELECT în subinterogări.

SELECT pentru a selecta coloanele din tabel

O interogare cu o instrucțiune SELECT pentru a selecta toate coloanele unui tabel are următoarea sintaxă:

SELECTAȚI * DIN TABLE_NAME

Adică, pentru a selecta toate coloanele unui tabel, trebuie să puneți un asterisc după cuvântul SELECT.

Exemplul 1. Există o bază de date a companiei - Compania. Conține un tabel Org (structura companiei) și personal (angajați). Trebuie să selectați toate coloanele din tabele. Interogarea corespunzătoare pentru a selecta toate coloanele din tabelul Org este următoarea:

SELECT * FROM ORG

Această interogare va returna următoarele (pentru a mări imaginea, faceți clic stânga pe ea):

Interogarea pentru a selecta toate coloanele din tabelul Staff arată astfel:

SELECTAȚI * DIN PERSONAL

Această interogare va returna următoarele:


Pentru a selecta anumite coloane din tabel, în loc de un asterisc, trebuie să listăm numele tuturor coloanelor care trebuie selectate, separate prin virgule:

SELECTAȚI SELECTABLE_COLUMNS DIN TABLE_NAME

Exemplul 2. Să presupunem că trebuie să selectați coloanele Depnumb și Deptname din tabelul Org, care conțin date despre numerele departamentelor companiei și, respectiv, numele acestora. Interogarea pentru a obține un astfel de eșantion ar fi următoarea:

SELECTAȚI DEPNUMB, DEPTNAME FROM ORG

Și din tabelul Staff trebuie să selectați coloanele DEPT, NUME, JOB, care conțin, respectiv, date despre numărul departamentului în care lucrează angajatul, numele și funcția acestuia:

SELECT și ORDER BY - sortarea (ordonarea) rândurilor

Interogările SQL SELECT discutate până acum au returnat rânduri care ar putea fi în orice ordine. Cu toate acestea, adesea trebuie să sortați rândurile după ordine numerică, alfabet și alte criterii. Acest lucru se face folosind cuvântul cheie ORDER BY. Astfel de solicitări au următoarea sintaxă:

Exemplul 15. Fie cerința să fie selectarea din tabelul Staff angajații care lucrează în departamentul numărul 84 și sortarea (ordonarea) înregistrărilor după numărul de ani lucrați în ordine crescătoare:

Cuvântul ASC indică faptul că ordinea de sortare este crescătoare. Acest cuvânt este opțional deoarece ordinea de sortare crescătoare este implicită. Rezultatul cererii:


Exemplul 16. Fie cerința să fie selectarea acelorași date ca în exemplul anterior, dar sortați (aranjați) înregistrările după numărul de ani lucrați în ordine descrescătoare.

Structure Query Language (SQL) a fost creat ca urmare a dezvoltării modelului de date relaționale și este în prezent limbajul standard de facto pentru SGBD-urile relaționale. Limbajul SQL astăzi este susținut de un număr mare de SGBD de diferite tipuri.

Numele limbajului SQL este de obicei pronunțat „es-qu-el”. Uneori este folosit numele mnemonic „See-Quel”.

Limbajul SQL oferă utilizatorului (cu un efort minim din partea lui) următoarele capabilități:

Creați baze de date și tabele cu o descriere completă a structurii acestora

Efectuați operațiuni de bază de manipulare a datelor: inserarea, modificarea, ștergerea datelor

Rulați atât interogări simple, cât și complexe.

Limbajul SQL este complet relațional.

Structura și sintaxa comenzilor sale sunt destul de simple, iar limbajul în sine este universal, adică sintaxa și structura comenzilor sale nu se schimbă la trecerea de la un SGBD la altul.

Limbajul SQL are două componente principale:

DDL (Data Definition Language) pentru definirea structurilor bazei de date și controlul accesului la date

Limbajul DML (Data Manipulation Language) conceput pentru preluarea și actualizarea datelor.

SQL este un limbaj non-procedural, ceea ce înseamnă că atunci când îl utilizați, trebuie să specificați ce informații trebuie obținute, nu cum pot fi obținute. Comenzile SQL sunt cuvinte obișnuite în limba engleză (SELECT, INSERT etc.). Să ne uităm mai întâi la instrucțiunile SQL DML:

SELECT - selectarea datelor din baza de date

INSERT - inserarea datelor într-un tabel

UPDATE - actualizarea datelor dintr-un tabel

DELETE - ștergerea datelor dintr-un tabel

instrucțiunea SELECT

Operatorul SELECT efectuează acțiuni echivalente cu următoarele operații de algebră relațională: selecție, proiecție și unire.

Cea mai simplă interogare SQL care o folosește arată astfel:

SELECT COL_name FROM tbl

Cuvântul cheie select este urmat de o listă de coloane separate prin virgulă ale căror date vor fi returnate de interogare. Cuvântul cheie from specifică din ce tabel (sau vizualizare) sunt preluate datele.

Rezultatul unei interogări select este întotdeauna un tabel numit tabel cu rezultate. Mai mult, rezultatele unei interogări executate folosind instrucțiunea select pot fi folosite pentru a crea un tabel nou. Dacă rezultatele a două interogări pe tabele diferite au același format, le puteți combina într-un singur tabel. De asemenea, tabelul obținut în urma unei interogări poate face obiectul unor interogări ulterioare.

Pentru a selecta toate coloanele și toate rândurile unui tabel, pur și simplu emiteți un SELECT * FROM tbl;

Luați în considerare tabelul Produs, care conține informații despre preț pentru diferite tipuri de produse:

Solicitați rezultatul

SELECT * FROM Produs;

va fi întregul tabel de produse.

Puteți selecta anumite coloane din tabel folosind o interogare

SELECT col1, col2, … , coln FROM tbl;

Deci, rezultatul cererii

SELECTează tipul, prețul din produs;

va fi o masă

Lista coloanelor din instrucțiunea select este folosită și dacă este necesar să se schimbe ordinea coloanelor din tabelul rezultat:

Pentru a selecta doar acele rânduri de tabel care îndeplinesc anumite restricții, se folosește un cuvânt cheie special unde, urmat de o condiție logică. Dacă o înregistrare îndeplinește această condiție, este inclusă în rezultat. În caz contrar, intrarea este eliminată.

De exemplu, selectarea acelor produse din tabelul Produs al căror preț satisface condiția Preț<3200, можно осуществить, используя запрос

SELECTAȚI * FROM Produs unde Preț<3200;

Rezultatul lui:

Condiția poate fi compusă și combinată folosind operatorii logici NOT , AND, OR, XOR, de exemplu: unde id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) și constantele șirului de caractere: unde name= "autoweights".

Utilizarea constructului BETWEEN var1 AND var2 vă permite să verificați dacă valorile oricărei expresii se încadrează în intervalul de la var1 la var2 (inclusiv aceste valori):

SELECTAȚI * FROM Produs la care Prețul INTRE 3000 SI 3500;

Similar cu operatorul NOT BETWEEN, există operatorul NOT IN.

Numele de coloane specificate în clauza SELECT pot fi redenumite. Pentru aceasta se folosește cuvântul cheie AS, care, totuși, poate fi omis, întrucât este implicit subînțeles. De exemplu, cerere

SELECT Tip AS model, Type_id AS num FROM Product unde Type_id =3

va reveni (numele de alias trebuie scrise fără ghilimele):

Operatorul LIKE este conceput pentru a compara un șir cu un model:

SELECT * FROM tbl unde col_name LIKE "abc"

Această interogare returnează numai acele înregistrări care conțin valoarea șirului abc în coloana col_name.

Eșantionului i se permite să utilizeze două caractere joker: „_” și „%”. Primul dintre ele înlocuiește un caracter arbitrar din șablon, iar al doilea înlocuiește o secvență de caractere arbitrare. Deci, „abc%” se potrivește cu orice șir care începe cu abc, „abc_” se potrivește unui șir de 4 caractere care începe cu abc, „%z” se potrivește cu orice șir care se termină cu z și, în final, „%z%” - secvențe de caractere care conțin z.

Puteți găsi toate înregistrările din tabelul Produs în care valoarea Tip începe cu litera „a” astfel:

SELECT * FROM Produs unde Tip LIKE „a%”;

cântare de camion

Dacă șirul de căutare conține un caracter wildcard, atunci trebuie să specificați caracterul de escape în clauza ESCAPE. Acest caracter de control trebuie să fie utilizat în modelul înainte de caracterul wildcard, indicând faptul că caracterul wildcard trebuie tratat ca un caracter obișnuit. De exemplu, dacă ar trebui să căutați toate valorile într-un câmp care conține caracterul „_”, atunci modelul „%_%” ar avea ca rezultat returnarea tuturor înregistrărilor din tabel. În acest caz, șablonul trebuie scris după cum urmează:

"%|_%" ESCAPE "|"

Pentru a verifica valoarea conformității cu șirul „20%” puteți utiliza următorul operator:

LIKE „20#%” ESCAPE „#”

Operatorul IS NULL vă permite să verificați absența (prezența) unei valori NULL în câmpurile unui tabel. Utilizarea operatorilor de comparație obișnuiți în aceste cazuri poate produce rezultate incorecte, deoarece compararea cu rezultatele NULL în NECUNOSCUT. Astfel, condiția de selecție ar trebui să arate astfel:

unde col_name ESTE NULL, în loc de unde col_name=NULL.

Rezultatul implicit al selecției returnează înregistrările în aceeași ordine în care sunt stocate în baza de date. Dacă doriți să sortați înregistrările după una dintre coloane, trebuie să utilizați clauza ORDER BY, urmată de numele acelei coloane:

SELECT * FROM tbl ORDER BY col_name;

Această interogare va returna înregistrările în ordinea crescătoare a valorii atributului col_name.

De asemenea, puteți sorta înregistrările după mai multe coloane. Pentru a face acest lucru, numele lor trebuie specificate după ORDER BY separate prin virgule:

SELECTAȚI * FROM tbl ORDER BY col_name1, col_name2.

Înregistrările vor fi sortate după câmpul col_name1; dacă există mai multe înregistrări cu o valoare potrivită în coloana col_name1, acestea vor fi sortate după câmpul col_name2.

Dacă doriți să sortați înregistrările în ordine inversă (de exemplu, descrescătoare după dată), trebuie să specificați ORDER BY col_name DESC.

Pentru sortarea directă, există cuvântul cheie ASC, care este acceptat ca valoare implicită.

Dacă rezultatul eșantionului conține sute sau mii de înregistrări, producția și procesarea acestora durează considerabil.

Prin urmare, informațiile sunt adesea împărțite în pagini și prezentate utilizatorului în porțiuni. Paginarea este utilizată folosind cuvântul cheie limită urmat de numărul de intrări de afișat. Următoarea interogare preia primele 10 înregistrări în timp ce sortează simultan înapoi în câmpul col_name1:

SELECTAȚI * FROM tbl ORDER BY col_name1 DESC LIMIT 10

Pentru a prelua următoarele 10 înregistrări, utilizați cuvântul cheie limit cu două valori: prima specifică poziția din care trebuie tipărit rezultatul, iar a doua specifică numărul de înregistrări de preluat:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10,10

Pentru a prelua următoarele 10 înregistrări, trebuie să utilizați construcția LIMIT 20, 10.

Limbajul de interogare structurat SQL se bazează pe calcul relațional cu tupluri variabile. Limbajul SQL este conceput pentru a efectua operații pe tabele, crearea, ștergerea, modificarea structurii, iar pe datele tabelului, selectarea, modificarea, adăugarea și ștergerea, precum și unele operațiuni conexe. SQL este un limbaj non-procedural și nu conține instrucțiuni de control pentru organizarea rutinelor, intrare, ieșire etc.


Distribuiți-vă munca pe rețelele sociale

Dacă această lucrare nu vă convine, în partea de jos a paginii există o listă cu lucrări similare. De asemenea, puteți utiliza butonul de căutare


Limbajul de interogare structurat SQL: istoric, standarde,

Operatori de bază în limbaj.

Limbajul de interogare structurat SQL se bazează pe calcul relațional cu tupluri variabile. Limba are mai multe standarde. Limbajul SQL este conceput pentru a efectua operații pe tabele (crearea, ștergerea, modificarea structurii) și asupra datelor din tabel (selectarea, modificarea, adăugarea și ștergerea), precum și unele operații conexe. SQL este un limbaj non-procedural și nu conține instrucțiuni de control, organizare a subrutinei, intrare-ieșire etc. În acest sens, SQL nu este utilizat în mod autonom; este de obicei scufundat în mediul limbajului de programare DBMS încorporat (de exemplu, FoxPro DBMS Visual FoxPro, ObjectPAL DBMS Paradox, Visual Basic for Applications DBMS Access).

În SGBD-urile moderne cu o interfață interactivă, puteți crea interogări folosind alte instrumente, cum ar fi QBE. Cu toate acestea, utilizarea SQL poate îmbunătăți adesea eficiența procesării datelor în baza de date. De exemplu, atunci când pregătiți o interogare în mediul Access, puteți muta din fereastra Generator de interogări (formulând un exemplu de interogare în limbajul QBE) la o fereastră cu instrucțiunea SQL echivalentă. În unele cazuri, pregătirea unei noi interogări prin editarea uneia existente este mai ușor de făcut prin schimbarea instrucțiunii SQL. Compoziția instrucțiunilor SQL poate diferi ușor în diferite SGBD. Limbajul SQL nu are funcțiile unui limbaj de dezvoltare cu drepturi depline, dar este axat pe accesul la date, deci este inclus în instrumentele de dezvoltare a programelor. În acest caz se numește SQL încorporat. Standardul limbajului SQL este susținut de implementări moderne ale următoarelor limbaje de programare: PL/1, Ada, C, COBOL, Fortran, MUMPS și Pascal.

În sistemele specializate de dezvoltare de aplicații de tip client-server, mediul de programare este, în plus, de obicei completat cu instrumente de comunicare (stabilirea și deconectarea conexiunilor cu serverele de baze de date, detectarea și procesarea erorilor apărute în rețea etc.), instrumente de dezvoltare interfețe cu utilizatorul, instrumente de proiectare și depanare Există două metode principale de utilizare a SQL încorporat: static și dinamic. Când se folosește un limbaj static (SQL static), textul programului conține apeluri la funcțiile limbajului SQL, care sunt incluse în mod rigid în modulul executabil după compilare.

Modificările în funcțiile apelate pot fi la nivelul parametrilor individuali de apel folosind variabile ale limbajului de programare. Când se utilizează limbajul în mod dinamic (SQL dinamic), se presupune că apelurile la funcțiile SQL sunt construite dinamic și interpretarea acestor apeluri, de exemplu, accesarea datelor dintr-o bază de date la distanță, în timpul execuției programului. Metoda dinamică este de obicei folosită în cazurile în care aplicația nu cunoaște în prealabil tipul de apel SQL și este construită în dialog cu utilizatorul. Scopul principal al limbajului SQL (precum și al altor limbaje pentru lucrul cu bazele de date) este pregătirea și executarea interogărilor. Preluarea datelor dintr-unul sau mai multe tabele poate duce la un set de înregistrări numit vizualizare. O vizualizare este în esență un tabel care este generat ca rezultat al unei interogări. Putem spune că este un tip de interogare stocată. Puteți construi mai multe vederi folosind aceleași tabele. Vederea în sine este descrisă prin specificarea identificatorului vizualizării și a cererii care trebuie făcută pentru a o obține.

Pentru confortul lucrului cu vizualizări, conceptul de cursor a fost introdus în limbajul SQL. Un cursor este un fel de indicator folosit pentru a vă deplasa prin seturi de înregistrări în timpul procesării acestora. Descrierea și utilizarea unui cursor în SQL este după cum urmează. În partea descriptivă a programului, o variabilă de tip cursor (CURSOR) este asociată cu o instrucțiune SQL (de obicei o instrucțiune SELECT). În partea de execuție a programului, cursorul este deschis (OPEN<имя курсора>), deplasând cursorul prin înregistrări (FETCH<имя курсора>...), urmată de procesarea corespunzătoare și, în final, de închiderea cursorului (ÎNCHIS<имя курсора>).

Operatori de bază în limbaj

Să descriem un subset minim al limbajului SQL, pe baza implementării acestuia în interfața standard ODBC (Open Database Connectivity) de la Microsoft. Operatorii limbajului SQL pot fi împărțiți în două sublimbaje: Limbajul de definire a datelor (DDL) și Limbajul de manipulare a datelor (DML) Principalii operatori ai limbajului SQL sunt prezentați în tabel.

Să luăm în considerare formatul și capacitățile de bază ale celor mai importanți operatori, cu excepția operatorilor specifici marcați în tabel cu simbolul „*”. Vom omite operanzi și elemente de sintaxă neimportante (de exemplu, regula adoptată în multe sisteme de programare de a pune „;” la sfârșitul operatorului).

1. Operator crearea unui tabelare formatul:

CREAȚI TABEL<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Operanzii necesari operatorului sunt numele tabelului care se creează și numele a cel puțin unei coloane (câmp) care indică tipul de date stocate în această coloană.

La crearea unui tabel, unele reguli suplimentare pentru controlul valorilor introduse în ele pot fi specificate pentru câmpurile individuale. Construcția NOT NULL servește tocmai acestui scop și, pentru o coloană de tabel, înseamnă că o valoare trebuie definită în acea coloană.

Instrucțiuni SQL

Vedere

Nume

Scop

CREAȚI TABEL

DROP TABLE

ALTER TABLE

CREAȚI INDEX

INDICE DE CĂDERARE

CREATE VIEW

DROP VIEW

MARE*

REVOCA*

crearea unui tabel

ștergerea unui tabel

schimbarea structurii mesei

crearea indexului

ștergerea unui index

crearea unei vederi

ștergerea unei vizualizări

atribuirea de privilegii

eliminarea privilegiilor

SELECTAȚI

ACTUALIZARE

INTRODUCE

ȘTERGE

probe de înregistrări

schimbarea înregistrărilor

introducerea de noi înregistrări

ștergerea intrărilor

În general, diferite SGBD-uri pot utiliza diferite tipuri de date. Interfața ODBC acceptă propriile tipuri de date standard, de exemplu, cele cu caractere (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR), etc. Când lucrați cu baza de date a unui anumit DBMS prin interfața ODBC, tipurile de date standard acceptate de interfață sunt convertite automat în tipuri de date sursă și invers. Dacă este necesar, schimbul de date între program și sursa de date poate fi efectuat fără conversie în formatul de date intern al sursei.

Exemplul 1 . Crearea unui tabel.

Să presupunem că doriți să creați un tabel bunuri care să descrie mărfurile care să aibă următoarele câmpuri: tipul de produs, identificatorul comp_id al companiei producătoare, numele denumirea produsului și prețul prețului produsului. Declarația de definiție a tabelului ar putea arăta astfel:

CREATE TABLE bunuri (tip SQL_CHAR(8) NOT NULL,

comp_id SQL_CHAR(10) NOT NULL, nume SQL_VARCHAR(20),

prețul SQL_DECIMAL(8,2)).

2. Operator se modifică structura tabeluluiare formatul:

ALTER TABLE<имя таблицы>

((ADĂUGAȚI, MODIFICAȚI, DROP)<имя столбца> [<тип данных>]

[,(ADĂUGAȚI, MODIFICAȚI, DROP)<имя столбца> [<тип данных>]]...)

Modificarea structurii unui tabel poate consta în adăugarea (ADD), modificarea (MODIFY) sau eliminarea (DROP) a uneia sau mai multor coloane de tabel. Regulile pentru scrierea instrucțiunii ALTER TABLE sunt aceleași ca și pentru instrucțiunea CREATE TABLE. Când ștergeți o coloană, indicați<тип данных>nu este nevoie.

3. Operator ștergerea unui tabelare formatul:

DROP TABLE<имя таблицы>

Operatorul vă permite să ștergeți un tabel existent. De exemplu, pentru a șterge un tabel numit itemi, este suficient să scrieți o instrucțiune de genul: DROP TABLE items.

4. Operator crearea unui indexare formatul:

CREAȚI INDEX< имя индекса >

PE< имя таблицы >

(<имя столбца>[ASC | DESC]

[,<имя столбца>[ASC | DESC]...)

Operatorul vă permite să creați un index pe una sau mai multe coloane dintr-un tabel dat pentru a accelera executarea operațiunilor de interogare și căutare pe tabel. Puteți crea mai mulți indici pe un singur tabel. Prin specificarea opțiunii opționale UNIQUE, vă puteți asigura că valorile din toate coloanele specificate în declarație sunt unice. În esență, crearea unui index folosind atributul UNIQUE înseamnă definirea unei chei într-un tabel creat anterior. Când creați un index, puteți seta valorile în coloane să fie sortate automat în ordine crescătoare ASC (implicit) sau în ordine descrescătoare DESC. Puteți seta o ordine de sortare diferită pentru diferite coloane.

5. Operator ștergerea unui indexare formatul:

INDICE DE CĂDERARE<имя индекса>

Acest operator vă permite să ștergeți un index creat anterior cu numele corespunzător. Deci, de exemplu, pentru a distruge indexul main_indx din tabelul emp, este suficient să scrieți instrucțiunea DROP INDEX main_indx.

6. Operator crearea unei vederiare formatul:

CREATE VIEW<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

LA FEL DE<оператор SELECT>

Acest operator vă permite să creați o vizualizare. Dacă numele coloanelor nu sunt specificate în vizualizare, vor fi utilizate numele coloanelor din interogarea descrisă de instrucțiunea SELECT corespunzătoare.

7. Șterge operator reprezentarea are următorul format:

DROP VIEW<имя представления>

Operatorul vă permite să ștergeți o vizualizare creată anterior. Rețineți că atunci când ștergeți o vizualizare, tabelele care participă la interogare nu sunt șterse. Eliminarea unei reprezentări gerg se face cu un operator de forma: DROP VIEW repr.

8. Operator de selectare a înregistrărilor are formatul:

SELECTAȚI

< список данных >

DIN<список таблиц>

... ]

...]

Aceasta este cea mai importantă declarație dintre toate instrucțiunile SQL. Funcționalitatea sa este enormă. Să ne uităm la cele principale. Instrucțiunea SELECT vă permite să selectați și să efectuați calcule pe date din unul sau mai multe tabele. Rezultatul instrucțiunii este un tabel de răspunsuri, care poate avea sau nu rânduri duplicate (DIstinct). În mod implicit, toate rândurile, inclusiv cele duplicat, sunt incluse în tabelul de răspuns. Selectarea datelor implică înregistrări din unul sau mai multe tabele listate în lista operandului FROM. Lista de date poate conține numele coloanelor care participă la interogare, precum și expresii peste coloane. În cel mai simplu caz, expresiile pot conține nume de coloane, simboluri aritmetice (+, , *, /), constante și paranteze. Dacă o expresie este scrisă în lista de date, atunci odată cu selecția datelor, sunt efectuate calcule, ale căror rezultate se încadrează într-o nouă coloană (creată) a tabelului de răspuns. Când se utilizează nume de coloane ale mai multor tabele în listele de date, se utilizează o construcție a formularului pentru a indica faptul că o coloană aparține unui anumit tabel:<имя таблицы>.<имя столбца>.

Operandul WHERE specifică condițiile care trebuie îndeplinite de înregistrările din tabelul rezultat. Expresie<условие выборки>este boolean. Elementele sale pot fi nume de coloane, operații de comparare, operații aritmetice, conective logice (ȘI, SAU, NU), paranteze, funcții speciale LIKE, NULL, IN etc. Operandul GROUP BY vă permite să selectați grupuri din setul de înregistrări rezultat.

9. Operator înregistrează modificăriare formatul:

ACTUALIZAȚI<имя таблицы>

A STABILIT<имя столбца> = {<выражение>, NUL )

[, A STABILIT<имя столбца> = {<выражение>, NUL)... ]

Executarea unei instrucțiuni UPDATE constă în modificarea valorilor din coloanele tabelului specificate de operandul SET pentru acele înregistrări care îndeplinesc condiția specificată de operandul WHERE. Noile valori de câmp din înregistrări pot fi goale (NULL) sau calculate conform unei expresii aritmetice. Regulile de scriere a expresiilor aritmetice și logice sunt similare cu regulile corespunzătoare pentru instrucțiunea SELECT.

10. Operator introducerea de noi înregistrăriare două tipuri de formate:

INTRODU IN<имя таблицы>

[(<список столбцов>)]

VALORI (<список значений>)

INTRODU IN<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

În primul format, instrucțiunea INSERT este folosită pentru a introduce noi înregistrări cu valori specificate în coloane. Ordinea de listare a numelor coloanelor trebuie să se potrivească cu ordinea valorilor enumerate în lista operandului VALORI. Dacă<список столбцов>omis, apoi in<списке значений>Toate valorile trebuie listate în ordinea coloanelor structurii tabelului.În al doilea format, instrucțiunea INSERT este destinată să intreun tabel dat de rânduri noi selectate dintr-un alt tabel cufolosind clauza SELECT.

PAGINA 1

Alte lucrări similare care vă pot interesa.vshm>

16. Aflați elementele de bază ale limbajului de interogare structurat T-SQL 34,15 KB
Pentru a atinge acest scop, este necesar să se rezolve următoarele sarcini: crearea de interogări de selecție din mai multe tabele în limbaj SQL folosind criterii de selecție specificate; creați o interogare de selecție în SQL care conține funcții de agregare statice; creați o interogare care combină rezultatele a două sau mai multe interogări într-un singur set de rezultate folosind comanda UNION. În urma finalizării lucrării, elevii ar trebui să cunoască: categorii de comenzi SQL; comenzile SQL de bază utilizate pentru a construi o interogare; principiile creării de interogări SQL...
6030. LIMBAJUL CA FENOMEN ÎN DEZVOLTARE. FACTORI EXTERNI ŞI INTERNI AI DEZVOLTĂRII LIMBAJULUI 17,38 KB
Problema originii limbajului presupune două întrebări. Prima întrebare este legată de problema originii limbajului în general, cum s-a dezvoltat limbajul uman, cum a învățat o persoană să vorbească a doua cu originea fiecărei limbi individuale. Nu există dovezi ale acestei perioade păstrate, prin urmare, atunci când studiază originea limbii în general, lingviştii trebuie să opereze nu numai cu fapte lingvistice, ci şi cu date din ştiinţele conexe. Interesul pentru problema originii limbajului a apărut cu mult timp în urmă.
10870. Conexiuni interdisciplinare ale cursului „Limba rusă profesională”. Transformarea și diferențierea limbii ruse profesionale 10,57 KB
Transformarea și diferențierea limbii ruse profesionale 1. Transformarea și diferențierea limbii ruse profesionale. Normele sintactice sunt determinate de structura limbajului și, ca și alte norme ortoepice, lexicale și morfologice, suferă modificări în procesul de dezvoltare a limbajului. La stăpânirea sintaxei unei limbi non-native, există o serie de dificultăți care apar la alegerea formelor de control și la coordonarea construcției propozițiilor, utilizarea participiilor, alegerea prepoziției potrivite și așa mai departe.
6929. Istoria limbii Delphi 13,01 KB
Delphi este orașul grec în care a locuit oracolul din Delphi. Delphi este o combinație a mai multor tehnologii importante: Compilator de înaltă performanță la codul mașinii Modelul de componente orientat pe obiecte Construcția vizuală și, prin urmare, de mare viteză a aplicațiilor din prototipuri software Instrumente scalabile pentru construirea bazelor de date Compilatorul la codul mașinii Compilatorul încorporat în Delphi oferă înaltă performanță necesară pentru construirea de aplicații în arhitectură...
10869. Conceptele de „limbaj profesional”, „limbaj de specialitate”, diferențierea lor. Limba rusă profesională: originea sa, funcțiile, domeniul de funcționare (ținând cont de specificul specialității) 9,5 KB
Diferențierea limbajului. Fiecare specialitate economică, pe lângă limbajul comun comun tuturor economiștilor, are și limbajul său special și specializat. Specialiștii comunică în aceste limbi profesionale oral și în scris; aceste limbi profesionale sunt predate studenților; astfel de limbi profesionale descriu sisteme de cunoștințe și abilități în referințele educaționale științifice și alte literaturi. În sistemul lingvistic economic, există probleme comune tuturor limbilor profesionale.
1335. Modele de bază de formare a cuvintelor în engleza americană modernă 117,01 KB
Principalele diferențe dintre engleza americană și cea britanică. Problema determinării statutului mondial al englezei americane. Engleza americană în lumea modernă. Caracteristicile lexicale ale englezei americane.
1936. ISTORIE, STRUCTURA ȘI CONCEPTE DE BAZĂ ALE ECOLOGIEI 495,77 KB
Termenul „ecologie” este format din rădăcinile grecești „oikos” - casă, mediul imediat al unei persoane și „logos” - știință. Prin urmare, într-un sens literal, ecologia este știința organismelor, inclusiv a oamenilor, observată în limitele casei lor, cu o atenție deosebită acordată naturii relațiilor dintre organisme și mediul lor.
17746. Pedagogia artelor plastice: istorie și principalele tendințe de dezvoltare 25,96 KB
Sarcina testului este de a lua în considerare conceptul de creativitate artistică a copiilor, de a identifica cercetările unor profesori și psihologi remarcabili și istoria formării creativității artistice a copiilor. O manifestare a creativității artistice poate fi lucrări individuale - realizate independent sau sub îndrumarea unui adult, desene, modelaj, artă orală și scrisă, melodii, dramatizare, dans, precum și cânt coral, spectacole de teatru, arte și meșteșuguri, sculptură, teatru de păpuși, filme desenate și de ficțiune și...
6285. Declarații de control 103,51 KB
Operatori de buclă Operatorii de buclă sunt utilizați pentru a organiza calcule repetate. Pentru a organiza o buclă, aveți nevoie de o variabilă numită parametru de buclă sau o variabilă de control al buclei. Orice ciclu constă din: setări inițiale sau un bloc de inițializare a parametrilor ciclului; corpuri de buclă, adică acele instrucțiuni care sunt executate de mai multe ori; bloc de modificare a parametrilor ciclului; verificarea condiției de ieșire din buclă, care poate fi plasată fie înaintea corpului buclei, apoi se vorbește de o buclă cu o precondiție sau după corp...
2784. Declarații condiționale și de selecție 16 KB
Operatorul de condiție Dacă. Prin urmare, puteți deja să scrieți următorii operatori de atribuire: Koren:=Sqrtxy; Modul:=bsxy. Pentru a implementa astfel de salturi condiționate în limbajul Pascal, se folosesc operatorii If și Else, precum și operatorul de salt necondiționat Goto. Să ne uităm la declarația If.

Standardul limbajului SQL a fost adoptat în 1992 și este încă în uz astăzi. Acesta a devenit standardul pentru mulți. Desigur, unii producători folosesc propriile interpretări ale standardului. Dar orice sistem mai are componentele principale - instrucțiuni SQL.

Introducere

Folosind instrucțiunile SQL, valorile și tabelele sunt gestionate și obținute pentru analiză și afișare ulterioară. Sunt un set de cuvinte cheie prin care sistemul înțelege ce să facă cu datele.

Sunt definite mai multe categorii de instrucțiuni SQL:

  • definirea obiectelor bazei de date;
  • manipularea valorilor;
  • protectie si control;
  • parametrii de sesiune;
  • informatii despre baza de date;
  • SQL static;
  • SQL dinamic.

Instrucțiuni SQL pentru manipularea datelor

INTRODUCE. Inserează rânduri într-un tabel existent. Poate fi folosit pentru o valoare sau mai multe, definite de o anumită condiție. De exemplu:

numele tabelului (numele coloanei 1, numele coloanei 2)

VALORI(valoarea 1, valoarea 2).

Pentru a utiliza instrucțiunea INSERT pe mai multe valori, utilizați următoarea sintaxă:

numele tabelului 1 (numele coloanei 1, numele coloanei 2)

SELECTAȚI numele coloanei 1, numele coloanei 2

FROM numele tabelului 2

WHERE nume tabel 2.nume coloană 1>2

Această interogare va selecta toate datele din tabelul 2 care sunt mai mari decât 2 în coloana 1 și le va insera în prima.

ACTUALIZAȚI. După cum sugerează și numele, această instrucțiune de interogare SQL actualizează datele dintr-un tabel existent pe baza unei caracteristici specifice.

UPDATE numele tabelului 1

SET numele coloanei 2 = „Vasily”

WHERE nume tabel 1.nume coloană 1 = 1

Această construcție va umple cu valoarea Vasily toate liniile în care întâlnește numărul 1 în prima coloană.

Date din tabel. Puteți specifica o condiție sau puteți elimina toate liniile.

DELETE FROM numele tabelului

WHERE nume tabel.nume coloană 1 = 1

Interogarea de mai sus va elimina din baza de date toate datele cu valoarea unu din prima coloană. Iată cum puteți șterge întregul tabel:

instrucțiunea SELECT

Scopul principal al SELECT este de a selecta datele în funcție de anumite condiții. Rezultatul muncii sale este întotdeauna un nou tabel cu date selectate. Operatorul MS poate fi utilizat într-o varietate de interogări diferite. Prin urmare, împreună cu acesta, puteți lua în considerare și alte cuvinte cheie înrudite.

Pentru a selecta toate datele dintr-un anumit tabel, utilizați semnul „*”.

FROM numele tabelului 1

Rezultatul acestei interogări va fi o copie exactă a tabelului 1.

Și aici se face o selecție folosind condiția WHERE, care preia din tabelul 1 toate valorile mai mari decât 2 din coloana 1.

FROM numele tabelului 1

WHERE nume tabel 1.nume coloană 1 > 2

De asemenea, puteți specifica în selecție că sunt necesare doar anumite coloane.

SELECTează numele tabelului 1.numele coloanei 1

FROM numele tabelului 1

Rezultatul acestei interogări vor fi toate rândurile cu valori din coloana 1. Folosind instrucțiunile MS SQL, vă puteți crea propriul tabel, înlocuind, calculând și înlocuind anumite valori din mers.

numele tabelului 1.numele coloanei 1

numele tabelului 1.numele coloanei 2

numele tabelului 1.numele coloanei 3

nume tabel 1.nume coloană 2 * nume tabel 1.nume coloană 3 AS SUMMA

FROM numele tabelului 1

Această interogare aparent complexă preia toate valorile din Tabelul 1, apoi creează noi coloane EQ și SUMMA. Primul este completat cu semnul „+”, iar al doilea este produsul datelor din coloanele 2 și 3. Rezultatul obținut poate fi prezentat sub forma unui tabel pentru a înțelege cum funcționează:

Când utilizați instrucțiunea SELECT, puteți sorta imediat datele în funcție de orice criteriu. Cuvântul ORDER BY este folosit pentru aceasta.

numele tabelului 1.numele coloanei 1

numele tabelului 1.numele coloanei 2

numele tabelului 1.numele coloanei 3

FROM numele tabelului 1

ORDENAȚI DUPĂ numele coloanei 2

Tabelul rezultat va arăta astfel:

Adică, toate rândurile au fost setate într-o astfel de ordine încât valorile din coloana 2 să fie în ordine crescătoare.

Datele pot fi obținute și din mai multe tabele. Pentru claritate, mai întâi trebuie să vă imaginați că există două dintre ele în baza de date, ceva de genul acesta:

Tabelul „Angajați”

Tabelul „Salariu”

Acum trebuie să conectăm cumva aceste două tabele pentru a obține valori comune. Folosind instrucțiuni SQL de bază, puteți face acest lucru astfel:

Angajati.Numar

Numele Angajatului

Salariu.Rata

Salariu.Acumulat

DE LA Angajati, Salariu

WHERE Employees.Number = Salary.Number

Aici selectăm din două tabele diferite de valori, combinate după număr. Rezultatul va fi următorul set de date:

Mai multe despre SELECT. Utilizarea funcțiilor agregate

Unul dintre operatorii principali poate efectua unele calcule la preluare. Pentru a face acest lucru, el folosește anumite funcții și formule.

De exemplu, pentru a obține numărul de înregistrări din tabelul Angajați, trebuie să utilizați interogarea:

SELECTAȚI NUMĂRUL (*) CA N

DE LA Angajati

Rezultatul este un tabel cu o valoare și o coloană.

Puteți rula o interogare ca aceasta și să vedeți ce se întâmplă:

SUM(Salariu. Acumulat) AS SUMMA

MAX(Salariu. Acumulat) AS MAX

MIN(Salariu. Acumulat) AS MIN

AVG(Salariu. Acumulat) CA SRED

DIN Salariul

Masa finală va fi așa:

În acest fel, puteți selecta valorile dorite din baza de date, calculând diverse funcții din mers.

Unire, intersecție și diferențe

Combinați mai multe interogări în SQL

SELECT Angajati.Nume

DE LA Angajati

UNDE Angajații.Număr = 1

SELECT Angajati.Nume

DE LA Angajati, Salariu

UNDE Salariu.Număr = 1

Trebuie avut în vedere că cu o astfel de unire, tabelele trebuie să fie compatibile. Adică să aibă același număr de coloane.

Sintaxa instrucțiunii SELECT și ordinea de procesare

Primul lucru pe care îl face SELECT este să determine zona din care va prelua date. Cuvântul cheie FROM este folosit pentru aceasta. Daca nu este indicat ce anume sa alegi.

Atunci poate fi prezentă clauza SQL WHERE. Cu ajutorul său, SELECT parcurge toate rândurile tabelului și verifică datele pentru conformitate cu condiția.

Dacă interogarea conține GROUP BY, atunci valorile sunt grupate în funcție de parametrii specificați.

Operatori pentru compararea datelor

Există mai multe tipuri. În SQL, operatorii de comparație pot testa diferite tipuri de valori.

    „=". Denotă, după cum ați putea ghici, egalitatea a două expresii. De exemplu, a fost deja folosit în exemplele de mai sus - WHERE Salary.Number = 1.

    „>”. Mai mult semn. Dacă valoarea părții stângi a expresiei este mai mare, atunci adevărul logic este returnat și condiția este considerată îndeplinită.

    «<». Знак меньше. Обратный предыдущему оператор.

    Semne "<=» и «>=". Diferă de operatorii simpli mai mult și mai puțin prin aceea că, dacă operanzii sunt egali, condiția va fi și adevărată.

CA

Acest cuvânt cheie poate fi tradus ca „similar”. Operatorul LIKE din SQL este folosit aproximativ în același mod - execută o interogare bazată pe un șablon. Adică, vă permite să extindeți selecția de date din baza de date folosind expresii regulate.

De exemplu, a fost stabilită următoarea sarcină: din baza de date deja cunoscută „Angajați”, obțineți toate persoanele al căror nume se termină cu „I”. Atunci interogarea poate fi scrisă astfel:

DE LA Angajati

UNDE Numele LIKE `%i`

Semnul procentual în acest caz înseamnă o mască, adică orice caracter și numărul lor. Și prin litera „I”, SQL va determina că ultimul caracter ar trebui să fie exact așa.

CAZ

Această instrucțiune SQL Server este o implementare a selecției multiple. Amintește de construcția switch în multe limbaje de programare. Instrucțiunea CASE în SQL efectuează o acțiune bazată pe mai multe condiții.

De exemplu, trebuie să selectați valorile maxime și minime din tabelul „Salariu”.

Atunci interogarea poate fi scrisă astfel:

DIN Salariul

WHERE CAZ WHEN SELECT MAX(Acumulat) THEN Maxim

WHEN SELECT MIN(Acumulat) THEN Minimum

În acest context, sistemul caută valoarea maximă și minimă în coloana Acumulat. Apoi, folosind END, se creează un câmp „total”, în care se va introduce „Maximum” sau „Minim”, în funcție de rezultatul condiției.

Apropo, SQL are și o formă mai compactă de CASE - COALESCE.

Operatori de definire a datelor

Această vizualizare vă permite să efectuați diferite modificări ale tabelelor - crearea, ștergerea, modificarea și lucrul cu indecși.

Primul care merită luat în considerare este CREATE TABLE. Nu face altceva decât să creeze un tabel. Dacă introduceți pur și simplu interogarea CREATE TABLE, nu se va întâmpla nimic, deoarece mai trebuie să specificați mai mulți parametri.

De exemplu, pentru a crea tabelul deja familiar „Angajați”, trebuie să utilizați comenzile:

CREAȚI TABEL Angajații

(Numărul (10) NU NUL

Nume varchar(50) NOT NULL

Nume varchar(50) NOT NULL)

În această interogare, numele câmpurilor și tipurile lor sunt determinate imediat în paranteze, precum și dacă poate fi egal cu NULL.

DROP TABLE

Efectuează o sarcină simplă - aruncarea tabelului specificat. Are un parametru suplimentar DACĂ EXISTĂ. Absoarbe o eroare de drop dacă tabelul pe care îl căutați nu există. Exemplu de utilizare:

DROP TABLE Angajații DACĂ EXISTĂ.

CREAȚI INDEX

SQL are un sistem de indexare care vă permite să accelerați accesul la date. În general, este un link care indică o anumită coloană. Puteți crea un index cu o interogare simplă:

CREATE INDEX nume_index

ON nume_tabel(nume_coloană)

Acest operator este folosit în T-SQL, Oracle, PL SQL și multe alte tehnologii de interpretare.

ALTER TABLE

Un operator foarte funcțional cu numeroase opțiuni. În general, modifică structura, definiția și plasarea tabelelor. Operator folosit în Oracle SQL, Postgres și multe altele.

    ADĂUGA. Adaugă o coloană la tabel. Sintaxa sa este următoarea: ALTER TABLE nume_tabel ADD nume_coloană tip_date_stocat. Poate avea o opțiune IF NOT EXISTS pentru a suprima eroarea dacă coloana creată există deja;

    CĂDERE BRUSCA. Îndepărtează o coloană. Are și o cheie IF EXISTS, fără de care va fi generată o eroare care indică lipsa coloanei necesare;

    SCHIMBARE. Servește pentru a redenumi numele câmpului cu cel specificat. Exemplu de utilizare: ALTER TABLE nume_tabel CHANGE nume_vechi nume_nou;

    MODIFICA. Această comandă vă va ajuta să schimbați tipul și atributele suplimentare ale unei anumite coloane. Și este folosit astfel: ALTER TABLE table_name MODIFY column_name data_type attributes;

CREATE VIEW

În SQL există așa ceva ca o vizualizare. Pe scurt, acesta este un fel de tabel virtual cu date. Se formează ca rezultat al selecției folosind instrucțiunea SQL SELECT. Vizualizările pot restricționa accesul la baza de date, le pot ascunde și pot înlocui numele coloanelor reale.

Procesul de creare are loc folosind o cerere simplă:

CREATE VIEW view name AS SELECT FROM * nume tabel

Eșantionarea poate avea loc fie din întreaga bază de date, fie pe baza unei anumite condiții.

Câteva despre funcții

Interogările SQL folosesc foarte des diverse funcții încorporate care vă permit să interacționați cu datele și să le transformați din mers. Merită să le luați în considerare deoarece fac parte integrantă dintr-un limbaj structurat.

    NUMARA. Numărează înregistrările sau rândurile dintr-un anumit tabel. Puteți specifica numele coloanei ca parametru, apoi datele vor fi preluate din aceasta. SELECTARE NUMĂR * FROM Angajați;

    AVG. Se aplică numai coloanelor cu date numerice. Rezultatul său este determinarea mediei aritmetice a tuturor valorilor;

    MIN și MAX. Aceste funcții au fost deja utilizate în acest articol. Ele determină valorile maxime și minime dintr-o coloană specificată;

    SUMĂ. Este simplu - funcția calculează suma valorilor coloanei. Se aplică exclusiv datelor numerice. Prin adăugarea parametrului DISTINCT la interogare, vor fi însumate numai valorile unice;

    RUNDĂ. Funcție pentru rotunjirea fracțiilor zecimale. Sintaxa folosește numele coloanei și numărul de zecimale;

    LEN. O funcție simplă care calculează lungimea valorilor unei coloane. Rezultatul va fi un nou tabel care indică numărul de caractere;

    ACUM. Acest cuvânt cheie este folosit pentru a calcula data și ora curente.

Operatori suplimentari

Multe exemple de instrucțiuni SQL au cuvinte cheie care efectuează sarcini mici, dar totuși simplifică foarte mult recuperarea sau manipularea bazei de date.

    LA FEL DE. Este folosit atunci când trebuie să formatați vizual rezultatul atribuind numele specificat tabelului rezultat.

    ÎNTRE. Un instrument de eșantionare foarte convenabil. Specifică intervalul de valori printre care datele trebuie preluate. Preia ca intrare un parametru de la și la ce număr este utilizat intervalul;.

    NU. Operatorul dă opusul expresiei.

    TRUNCHIA. Șterge datele din secțiunea specificată a bazei de date. Diferă de operatorii similari prin faptul că este imposibil să restaurați datele după ce le utilizați. Merită luat în considerare faptul că implementarea acestui cuvânt cheie în diferite interpretări SQL poate diferi. Prin urmare, înainte de a încerca să utilizați TRUNCATE, este mai bine să citiți informațiile de ajutor.

    LIMITĂ. Setează numărul de linii de ieșit. Particularitatea operatorului este că acesta este întotdeauna situat la capăt. Acceptă un parametru obligatoriu și unul opțional. Prima specifică câte rânduri de date selectate trebuie afișate. Și dacă se folosește al doilea, atunci operatorul funcționează ca pentru un interval de valori.

    UNIUNE. Un operator foarte convenabil pentru combinarea mai multor interogări. A fost deja găsit printre exemple în acest articol. Puteți afișa rândurile dorite din mai multe tabele combinându-le cu UNION pentru o utilizare mai convenabilă. Sintaxa sa este următoarea: SELECT coloană_nume FROM table_name UNION SELECT alt_column_name FROM alt_table_name. Rezultatul este un tabel pivot cu interogări combinate.

    CHEIA PRINCIPALA. Tradus ca „cheie primară”. De fapt, aceasta este exact terminologia folosită în materialele de referință. Înseamnă un identificator unic de rând. Este folosit, de regulă, la crearea unui tabel pentru a indica câmpul care îl va conține.

    MOD IMPLICIT. La fel ca și operatorul anterior, acesta este utilizat în timpul execuției cererii de creare. Acesta definește valoarea implicită cu care câmpul va fi populat atunci când este creat.

    NUL. Începătorii și nu numai programatorii, atunci când scriu interogări, uită foarte des de posibilitatea de a obține valoarea NULL. Ca rezultat, o eroare se strecoară în cod, care este dificil de urmărit în timpul depanării. Prin urmare, atunci când creați tabele, selectați sau recalculați valori, trebuie să vă opriți și să vă gândiți dacă apariția lui NULL în această parte a interogării este luată în considerare.

    Memorie. Acest articol a arătat mai multe funcții care pot îndeplini anumite sarcini. Când dezvoltați un shell pentru lucrul cu o bază de date, puteți externaliza calculul expresiilor simple către sistemul de management al bazei de date. În unele cazuri, acest lucru oferă o creștere semnificativă a performanței.

    Restricții. Dacă trebuie să obțineți doar două rânduri dintr-o bază de date cu mii de rânduri, atunci ar trebui să utilizați operatori precum LIMIT sau TOP. Nu este nevoie să extrageți date folosind un limbaj de dezvoltare shell.

    Compus. După ce primesc date de la mai multe tabele, mulți programatori încep să le adună împreună folosind memoria shell. Dar de ce? La urma urmei, puteți crea o singură cerere în care toate acestea vor fi prezente. Nu este nevoie să scrieți cod suplimentar și să rezervați memorie suplimentară în sistem.

    Triere. Dacă este posibil să aplicați comanda într-o interogare, adică folosind SGBD, atunci trebuie să îl utilizați. Acest lucru vă va permite să economisiți semnificativ resursele atunci când rulați un program sau un serviciu.

    O mulțime de cereri. Dacă trebuie să introduceți mai multe înregistrări secvenţial, atunci pentru optimizare ar trebui să vă gândiţi la inserarea în lot a datelor cu o singură solicitare. Acest lucru va crește, de asemenea, performanța întregului sistem în ansamblu.

    Plasarea atentă a datelor. Înainte de a compila structura bazei de date, trebuie să vă gândiți dacă sunt necesare atâtea tabele și câmpuri. Poate că există o modalitate de a le combina sau de a le arunca. Foarte des programatorii folosesc o cantitate excesivă de date care nu vor fi niciodată folosite nicăieri.

    Tipuri. Pentru a economisi spațiu și resurse, trebuie să fiți sensibil la tipurile de date pe care le utilizați. Dacă este posibil să utilizați un tip care este mai puțin „greu” pentru memorie, atunci ar trebui să îl utilizați. De exemplu, dacă știți că valoarea numerică dintr-un anumit câmp nu va depăși 255, atunci de ce să folosiți un INT de 4 octeți dacă există un TINYINT de 1 octet.

Concluzie

În concluzie, trebuie menționat că limbajul de interogare structurat SQL este acum folosit aproape peste tot - site-uri web, servicii web, programe pentru computer, aplicații pentru dispozitive mobile. Prin urmare, cunoașterea SQL va ajuta toate ramurile de dezvoltare.

Cu toate acestea, modificările standardului limbii originale diferă uneori unele de altele. De exemplu, instrucțiunile PL SQL pot avea o sintaxă diferită de cea din SQL Server. Prin urmare, înainte de a începe dezvoltarea cu această tehnologie, merită să citiți tutorialele despre ea.

În viitor, analogii care ar putea depăși SQL în funcționalitate și performanță este puțin probabil să apară, așa că această zonă este o nișă destul de promițătoare pentru orice programator.

SQL (Structured Query Language) este un limbaj de computer universal folosit pentru a crea, modifica și gestiona date în baze de date relaționale. Limbajul SQL se bazează pe algebră relațională și este o colecție de operatori.

Există 4 grupuri de operatori. Să luăm în considerare un grup de operatori de manipulare a datelor (Data Manipulation Language, DML, SQL DML)

Selectarea datelor

Selectarea datelor este cea mai frecventă operație efectuată folosind SQL. Instrucțiunea SELECT este una dintre cele mai importante instrucțiuni din acest limbaj, folosită pentru selectarea datelor. Sintaxa acestui operator este următoarea:

SELECTARE coloana FROM tabel

Instrucțiunile SELECT trebuie să conțină cuvintele SELECT și FROM; alte cuvinte cheie sunt opționale.

Cuvântul cheie SELECT este urmat de informații despre câmpurile care trebuie incluse în setul de date rezultat. Un asterisc (*) indică toate câmpurile tabelului, de exemplu:

Pentru a selecta o coloană, utilizați următoarea sintaxă:

SELECTAȚI Companie

Un exemplu de selectare a mai multor coloane arată astfel:

SELECTAȚI Companie,Telefon,Poștă

Pentru a specifica numele tabelelor din care sunt selectate înregistrările, utilizați cuvântul cheie FROM, de exemplu:

SELECTAȚI * DIN Clienți

Această interogare va returna toate câmpurile din tabelul Clienți.

Puteți utiliza clauza WHERE (opțională) pentru a filtra rezultatele returnate de instrucțiunea SELECT

SELECTAȚI * FROM Produse WHERE Categorie = 4

Puteți folosi diverse expresii în clauza WHERE,

WHERE expresia1 [(ȘI | SAU) expresia2 ...]

De exemplu:

SELECTAȚI * FROM Produse UNDE Categoria = 2 ȘI Postavshik > 10

SELECTAȚI Nume, Preț FROM Produse WHERE Categorie= 3 SAU Preț< 50

Puteți utiliza următorii operatori:

< Меньше

<= Меньше или равно

<>Nu este egal

> Mai multe

>= Mai mare sau egal cu

Clauza ORDER BY (opțională) este utilizată pentru a sorta setul de date rezultat după una sau mai multe coloane. Cuvintele cheie ASC (crescător) sau DESC (descendent) sunt folosite pentru a determina ordinea de sortare. În mod implicit, datele sunt sortate în ordine crescătoare.

Modificarea datelor

Pe lângă preluarea datelor, SQL poate fi folosit pentru a actualiza și șterge date, pentru a copia înregistrări în alte tabele și pentru a efectua alte operațiuni. Mai jos ne vom uita la instrucțiunile UPDATE, DELETE și INSERT utilizate pentru a rezolva unele dintre aceste probleme.

Declarație UPDATE

Pentru a modifica valorile într-una sau mai multe coloane ale unui tabel, utilizați instrucțiunea UPDATE. Sintaxa acestui operator este:

UPDATE tabelul SET column1 = expression1 WHERE criteriile

Expresia din clauza SET poate fi o constantă sau rezultatul unui calcul. De exemplu, pentru a crește prețurile tuturor produselor care costă mai puțin de 10 USD, puteți rula următoarea interogare:

UPDATE Produse SET Pret = Pret * 1.1 WHERE Pret< 10

Declarația DELETE

Pentru a șterge rânduri din tabele, ar trebui să utilizați operatorul DELETE, a cărui sintaxă este:

DELETE FROM tabelul WHERE criteriile

Ștergeți toate produsele al căror cost este mai mic de 100:

ȘTERGEȚI DIN Produse UNDE Preț< 100

OperatorINTRODUCE

Pentru a adăuga înregistrări în tabele, ar trebui să utilizați instrucțiunea INSERT, a cărei sintaxă este:

INSERT INTO table ( VALUES (expresie [, ...])

De exemplu, pentru a adăuga un client nou la tabelul Clienți, puteți utiliza următoarea interogare:

INSERT INTO Customers (CustomerID, CompanyName) VALUES („XYZ”, „XYZ Deli”)