Operatorul de limbă de inserare sql este conceput pentru. Instrucțiuni SQL de bază. Sintaxă și exemple de utilizare a instrucțiunii SELECT. Operatorul de eliminare a indexului

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 între ele. 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.

Operatorul O este un cuvânt sau un caracter rezervat folosit în principal în WHERE și a dat o instrucțiune SQL pentru a efectua operații, cum ar fi operații de comparare și aritmetice.

Operatorii sunt utilizați pentru a defini condiții în SQL și servesc ca îmbinări pentru mai multe condiții într-o instrucțiune.

  • Operatori aritmetici
  • Operatori de comparare
  • Operatori logici
  • Operatorii obișnuiau să anuleze o condiție

Operatori aritmetici în SQL:

Să presupunem că variabila A este egal cu 10, iar variabila b este egal cu 20, atunci:

Operatori de comparare în SQL:

Să presupunem că variabila a este egală cu 10 și variabila b este egală cu 20, atunci:

operatorDescriereexemplu
= Verifică dacă valorile a doi operanzi sunt egale sau nu, dacă da, atunci condiția devine adevărată.(a = b) nu este adevărată.
!= (a != b) este adevărată.
<> Verifică dacă valorile a doi operanzi sunt egale sau nu; dacă valorile nu sunt egale, atunci condiția devine adevărată.(A<>b) adevărat.
> Verifică dacă valoarea operandului din stânga este mai mare decât valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată.(a > b) nu este adevărată.
< Verifică dacă valoarea operandului din stânga este mai mică decât valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată.(A< b) истинно.
> = Testează dacă valoarea operandului din stânga este mai mare sau egală cu valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată.(a >= b) este incorectă.
<= Verifică dacă valoarea operandului din stânga este mai mică sau egală cu valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată.(A<= b) истинно.
Verifică dacă valoarea operandului din stânga nu este mai mică decât valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată.(A!< b) неверно.
!> Verifică dacă valoarea operandului din stânga nu este mai mare decât valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată.(a! > b) este corect.

Operatori logici în SQL:

Iată o listă a tuturor operatorilor logici disponibili în SQL.

operatorDescriere
TOATEOperatorul ALL este folosit pentru a compara o valoare pentru toate valorile dintr-un alt set de valori.
ȘIOperatorul AND permite să existe mai multe condiții în instrucțiunea SQL WHERE.
ORICEOperatorul ANY este utilizat pentru a compara orice valoare aplicabilă dintr-o listă în funcție de condiții.
ÎNTREOperatorul BETWEEN este folosit pentru a găsi valori care se află într-un set de valori, având o valoare minimă și o valoare maximă.
EXISTAOperatorul EXISTS este folosit pentru a găsi prezența unui rând într-un tabel specificat care îndeplinește anumite criterii.
ÎNOperatorul IN este utilizat pentru a compara o valoare dintr-o listă de valori literale care au fost definite.
CAOperatorul LIKE este folosit pentru a compara valori similare folosind operatori wildcard.
NUOperatorul NOT modifică semnificația operatorului logic cu care este folosit. De exemplu: NU EXISTĂ, NU ÎNTRE, NU ÎN etc. Operatorul neagă acest lucru.
SAUOperatorul OR este folosit pentru a combina mai multe condiții într-o instrucțiune SQL WHERE.
ESTE NULOperatorul NULL este folosit pentru a compara o valoare cu o valoare NULL.
UNICUn singur operator caută fiecare rând din tabelul specificat pentru unicitate (fără duplicate).

Și deasupra datelor din tabel.

Se numește limbajul SQL incorporat, deoarece Conține funcțiile unui limbaj de dezvoltare cu drepturi depline și se concentrează pe accesul la date, drept urmare face parte din instrumentele de dezvoltare a aplicațiilor. Standardele de limbaj SQL acceptă limbajele de programare Pascal, Fortran, COBOL, C etc.

Există 2 metode de utilizare a SQL încorporat:

  • static utilizarea limbajului ( SQL static) – textul programului conține apeluri la funcții SQL, care sunt incluse în modulul executabil după compilare.
  • dinamic utilizarea limbajului ( SQL dinamic) – construcția dinamică a apelurilor de funcții SQL și interpretarea acestora. De exemplu, puteți accesa date dintr-o bază de date la distanță în timpul execuției programului.

Limbajul SQL (ca și alte limbaje pentru lucrul cu baze de date) este conceput pentru pregătirea și executarea interogărilor. Ca urmare a executării unei interogări de date din unul sau mai multe tabele, se obține un set de înregistrări, care se numește prezentare.

Definiția 1

Performanţă este un tabel care se formează ca rezultat al executării unei interogări.

Operatori de bază în limbajul de interogare SQL

Operatorii limbajului SQL sunt împărțiți în mod convențional în 2 sublimbi:

  1. Limbajul de definire a datelor DDL;
  2. Limbajul de manipulare a datelor DML.

În tabel, acestea sunt marcate cu * operatori specifici limba.

Să ne uităm la cele mai importante instrucțiuni SQL.

    Declarație de creare a tabelului:

    Numele tabelului care este creat și numele a cel puțin unei coloane (câmp) sunt operanzi obligatorii. Pentru numele coloanei, trebuie să specificați tipul de date care vor fi stocate în ea.

    Pentru câmpurile individuale, puteți specifica reguli suplimentare pentru controlul valorilor care sunt introduse în acestea. De exemplu, NU NUL indică faptul că câmpul nu poate fi gol și trebuie completat cu o valoare.

    Exemplul 1

    Pentru a crea un tabel cărți catalog de carte, care conține câmpurile:

    tip- tip de carte,

    Nume- titlul cartii,

    Preț– prețul cărții

    afirmația ar putea arăta astfel:

    Operator pentru schimbarea structurii mesei:

    Când schimbați structura tabelului, puteți adăuga ( ADĂUGA), Schimbare ( MODIFICA) sau ștergeți ( CĂDERE BRUSCA) una sau mai multe coloane de tabel. Regulile de înregistrare a acestui operator sunt aceleași ca și pentru operator CREAȚI TABEL. Pentru a șterge o coloană nu trebuie să o specificați.

    Exemplul 2

    Pentru a adăuga la o masă cărți câmpuri număr, în care va fi stocat numărul de cărți, puteți scrie operatorul:

    Operatorul de eliminare a tabelului:

    Exemplul 3

    De exemplu, pentru a elimina un tabel existent numit cărți este suficient să folosiți operatorul:

    Operator de creare a indexului:

    Operatorul creează un index pe una sau mai multe coloane dintr-un tabel dat, ceea ce poate accelera operațiunile de interogare și căutare. Mai mulți indecși pot fi creați pentru un tabel.

    Opțiune opțională UNIC este responsabil să se asigure că valorile din toate coloanele care sunt specificate în declarație sunt unice.

    A.S.C. setează valorile din coloane să fie sortate automat în ordine crescătoare (implicit) și DESC– în ordine descrescătoare.

    Operatorul de eliminare a indexului:

    Vizualizare operator de creare:

    Când creați o vizualizare, nu trebuie să specificați numele coloanelor. Apoi, numele coloanelor din interogare, care este descris de operatorul corespunzător, vor fi utilizate SELECTAȚI.

    Vedeți operatorul de eliminare:

    Operator de selecție a înregistrărilor:

    Operator SELECTAȚI efectuează eșantionări și calcule pe date din unul sau mai multe tabele. Rezultatul executării operatorului este un tabel de răspuns care conține ( TOATE) sau nu conține ( DISTINCT) linii care se repetă.

    Operand DIN conține o listă de tabele din care sunt luate înregistrări pentru selectarea datelor.

    Operator de modificare a înregistrărilor:

    Noile valori de câmp din înregistrări nu pot conține valori ( NUL) sau calculate după o expresie aritmetică.

    Operator pentru introducerea de noi înregistrări:

    În prima înregistrare a operatorului INTRODUCEÎnregistrările noi sunt introduse cu valorile specificate în coloane.

    În a doua înregistrare a operatorului INTRODUCE sunt introduse rânduri noi, selectate dintr-un alt tabel printr-o clauză SELECTAȚI.

    Operator de ștergere a înregistrărilor:

    Ca urmare a executării operatorului, rândurile care îndeplinesc condiția specificată de operandul opțional sunt șterse din tabelul specificat UNDE. Dacă operandul UNDE nu este specificat, toate înregistrările din tabel sunt șterse.

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.

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ă:

SELECT Company

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

SELECT companie, telefon, e-mail

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

SELECTAȚI * FROM Clienți

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

Puteți folosi o clauză WHERE (opțională) pentru a filtra rezultatele returnate de o instrucțiune 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

Eliminați toate produsele care costă mai puțin de 100.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva