SQL Fundamentals

Aflați mai multe despre DDL, DML și JOINs

Limbajul structurat de interogări este unul dintre elementele fundamentale ale arhitecturii moderne a bazelor de date. SQL definește metodele folosite pentru crearea și manipularea bazelor de date relaționale pe toate platformele majore. La prima vedere, limba poate părea intimidantă și complexă, dar nu este atât de dificilă.

Această introducere la fundamentele din spatele SQL ia o scurtă privire asupra unora dintre comenzile principale folosite pentru crearea și modificarea bazelor de date.

Despre SQL

Pronunția corectă a SQL este o problemă controversată în cadrul comunității bazei de date. În standardul său SQL, American National Standards Institute a declarat că pronunția oficială este "es queue el." Cu toate acestea, mulți profesioniști de baze de date au luat la pronunția slang "sequel". Alegerea este a ta.

SQL vine în multe arome. Bazele de date Oracle utilizează PL / SQL proprietate. Microsoft SQL Server utilizează Transact-SQL. Toate variantele se bazează pe standardul ANSI SQL din industrie. Această introducere utilizează comenzi SQL compatibile cu ANSI care funcționează pe orice sistem de baze de date relaționale moderne.

DDL și LMD

Comenzile SQL pot fi împărțite în două sub-limbi principale. Limba de definiție a datelor (DDL) conține comenzile utilizate pentru a crea și distruge baze de date și obiecte baze de date. După ce structura bazei de date este definită cu DDL, administratorii bazei de date și utilizatorii pot utiliza Limbajul de manipulare a datelor (DML) pentru a insera, prelua și modifica datele conținute în acesta.

Coduri de limbă pentru definirea datelor

Limba de definire a datelor este utilizată pentru a crea și distruge baze de date și obiecte baze de date. Aceste comenzi sunt utilizate în principal de către administratorii de baze de date în timpul fazelor de configurare și eliminare ale unui proiect de bază de date. Iată o privire asupra structurii și utilizării a patru comenzi DDL de bază:

CREA. Instalarea unui sistem de gestionare a bazelor de date pe un computer vă permite să creați și să gestionați multe baze de date independente. De exemplu, poate doriți să păstrați o bază de date cu contactele clientului pentru departamentul de vânzări și o bază de date cu personalul pentru departamentul de resurse umane. Comanda CREATE este utilizată pentru a stabili fiecare dintre aceste baze de date pe platforma dvs. De exemplu, comanda:

CREATE DATABASE angajați

creează o bază de date goală numită "angajați" în DBMS-ul dvs. După crearea bazei de date, următorul pas este crearea de tabele care conțin date. O altă variantă a comenzii CREATE poate fi utilizată în acest scop. Comanda:

CREATE TABLE personal_info (first_name char (20) nu null, last_name char (20) nu null, employee_id int nu este null)

stabilește un tabel intitulat "personal_info" în baza de date curentă. În exemplu, tabela conține trei atribute: first_name, last_name și employee_id împreună cu unele informații suplimentare.

UTILIZARE. Comanda USE vă permite să specificați baza de date în care doriți să lucrați în cadrul DBMS-ului dvs. De exemplu, dacă lucrați în prezent în baza de date de vânzări și doriți să emiteți unele comenzi care vor afecta baza de date a angajatului, le prefața cu următoarea comandă SQL:

Utilizați angajații

Este important să fiți conștienți de baza de date în care lucrați înainte de a emite comenzi SQL care manipulează datele.

MODIFICA. Odată ce ați creat o tabelă într-o bază de date, poate doriți să modificați definiția acesteia. Comanda ALTER vă permite să modificați structura unei mese fără a o șterge și ao recrea. Uitați-vă la următoarea comandă:

ALTER TABLE personal_info ADD salariu bani null

Acest exemplu adaugă un nou atribut tabelului personal_info - salariul unui angajat. Argumentul "banii" specifică faptul că salariul unui salariat este stocat utilizând un format de dolari și cenți. În cele din urmă, cuvântul cheie "nul" indică bazei de date că este OK pentru ca acest câmp să nu conțină valoare pentru niciun angajat dat.

CĂDERE BRUSCA. Comanda finală a limbii de definire a datelor, DROP, ne permite să eliminăm obiecte de bază de date din DBMS-ul nostru. De exemplu, dacă dorim să eliminăm definitiv tabela personal_info pe care am creat-o, vom folosi următoarea comandă:

TABEL DROP personal_info

În mod similar, comanda de mai jos va fi utilizată pentru a elimina întreaga bază de date a angajaților:

DROP DATABASE angajați

Utilizați această comandă cu grijă. Comanda DROP elimină întreaga structură de date din baza dvs. de date. Dacă doriți să eliminați înregistrări individuale, utilizați comanda DELETE a limbii de manipulare a datelor.

Comenzi de limbă pentru manipularea datelor

Limbajul de manipulare a datelor (DML) este utilizat pentru a prelua, introduce și modifica informațiile bazei de date. Aceste comenzi sunt folosite de toți utilizatorii bazei de date în timpul operării de rutină a bazei de date.

INTRODUCE. Comanda INSERT din SQL este utilizată pentru a adăuga înregistrări la un tabel existent. Revenind la exemplul personal_info din secțiunea anterioară, imaginați-vă că departamentul nostru de resurse umane trebuie să adauge un nou angajat în baza sa de date. Puteti folosi o comanda asemanatoare cu aceasta:

INSCRIEȚI ÎN VALORILE personal_info ("bart", "simpson", 12345, 45000 dolari)

Rețineți că există patru valori specificate pentru înregistrare. Acestea corespund atributelor de tabel în ordinea în care au fost definite: first_name, last_name, employee_id și salariu.

SELECTAȚI. Comanda SELECT este comanda cea mai frecvent utilizată în SQL. Permite utilizatorilor de baze de date să recupereze informațiile specifice pe care le doresc dintr-o bază de date operațională. Uitați-vă la câteva exemple, folosind din nou tabelul personal_info din baza de date a angajaților.

Comanda afișată mai jos preia toate informațiile conținute în tabelul personal_info. Rețineți că asteriscul este folosit ca un wildcard în SQL. Acest lucru înseamnă literalmente "Selectați totul din tabelul personal_info".

SELECT * FROM FROM personal_info

În mod alternativ, utilizatorii pot dori să limiteze atributele care sunt preluate din baza de date. De exemplu, Departamentul Resurse Umane poate solicita o listă cu numele ultimilor angajați ai companiei. Următoarea comandă SQL va prelua numai acele informații:

SELECT last_name FROM personal_info

Clauza WHERE poate fi utilizată pentru a limita înregistrările care sunt recuperate la cele care îndeplinesc criteriile specificate. Directorul executiv ar putea fi interesat de revizuirea dosarelor de personal ale tuturor salariaților foarte bine plătiți. Următoarea comandă preia toate datele conținute în personal_info pentru înregistrările care au o valoare salarială mai mare de 50.000 USD:

SELECT * FROM personal_info WHERE salariu> 50000 $

ACTUALIZAȚI. Comanda UPDATE poate fi utilizată pentru a modifica informațiile conținute într-un tabel, fie în bloc, fie în mod individual. Presupunem că societatea oferă tuturor angajaților o creștere anuală a salariului cu 3 la sută în salariu. Următoarea comandă SQL ar putea fi utilizată pentru a aplica rapid acest lucru tuturor angajaților stocați în baza de date:

UPDATE personal_info SET salariu = salariu * 1.03

Când noul angajat Bart Simpson demonstrează performanța deasupra și dincolo de apelul de datorie, conducerea dorește să recunoască realizările sale stelare cu o majorare de 5.000 $. Clauza WHERE ar putea fi utilizată pentru a identifica Bart pentru această majorare:

UPDATE personal_info SET salariu = salariu + $ 5000 WHERE employee_id = 12345

ȘTERGE. În cele din urmă, să aruncăm o privire la comanda DELETE. Veți găsi că sintaxa acestei comenzi este similară cu cea a celorlalte comenzi DML. Din păcate, ultimul nostru raport privind câștigurile corporative nu a satisfăcut destul de bine așteptările și bietul Bart a fost concediat. Comanda DELETE cu o clauză WHERE poate fi folosită pentru a elimina înregistrarea din tabela personal_info:

DELETE FROM personal_info WHERE employee_id = 12345

se alatura

Acum că ați învățat elementele de bază ale SQL, este timpul să treceți la unul dintre cele mai puternice concepte pe care le oferă limba - declarația JOIN. O instrucțiune JOIN vă permite să combinați date în mai multe tabele pentru a procesa eficient cantități mari de date. Aceste afirmații sunt locul în care se află adevărata putere a unei baze de date.

Pentru a explora utilizarea unei operații JOIN de bază pentru combinarea datelor din două tabele, continuați cu exemplul utilizând tabela PERSONAL_INFO și adăugați o masă suplimentară la mix. Să presupunem că aveți o tabelă numită DISCIPLINARY_ACTION care a fost creată cu următoarea declarație:

CREATE TABLE disciplinar_acțiune (action_id int nu este null, employee_id int nu este null, comentarii char (500))

Acest tabel conține rezultatele acțiunilor disciplinare asupra angajaților companiei. Veți observa că nu conține informații despre angajat decât numărul angajatului. Este ușor să vă imaginați multe scenarii în care este posibil să doriți să combinați informații din tabelele DISCIPLINARY_ACTION și PERSONAL_INFO.

Să presupunem că ați fost însărcinat cu crearea unui raport care să cuprindă acțiunile disciplinare întreprinse împotriva tuturor angajaților cu un salariu mai mare de 40.000 $. Utilizarea unei operațiuni JOIN, în acest caz, este simplă. Putem recupera aceste informații utilizând următoarea comandă:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id ȘI personal_info.salaria> 40000

Codul specifică cele două tabele pe care dorim să le aderăm la clauza FROM și apoi include o declarație în clauza WHERE pentru a limita rezultatele la înregistrările care au corespuns ID-urilor angajaților și au îndeplinit criteriile noastre de salariu mai mare de 40.000 $.