Fonaments SQL

Conegui més sobre DDL, DML i JOIN

El llenguatge de consulta estructurada és un dels blocs fonamentals de l'arquitectura moderna de base de dades. SQL defineix els mètodes utilitzats per crear i manipular bases de dades relacionals a totes les plataformes principals. A primera vista, el llenguatge pot semblar intimidatori i complex, però no és tan difícil.

Aquesta introducció als fonaments de SQL fa una ullada breu a alguns dels principals comandaments utilitzats per crear i modificar bases de dades.

Sobre SQL

La pronunciació correcta de SQL és un problema contenciós dins de la comunitat de bases de dades. En el seu estàndard SQL, l'American National Standards Institute va declarar que la pronunciació oficial és "es queue el". No obstant això, molts professionals de la base de dades han portat a la pronunciació de l'argot "seqüela". L'elecció és vostra.

SQL ve en molts sabors. Les bases de dades Oracle utilitzen la seva propietat PL / SQL. Microsoft SQL Server fa servir Transact-SQL. Totes les variacions es basen en l'estàndard de la indústria ANSI SQL. Aquesta introducció utilitza ordres SQL compatibles amb ANSI que funcionen en qualsevol sistema de base de dades relacional modern.

DDL i DML

Les ordres SQL es poden dividir en dos subtemes principals. El llenguatge de definició de dades (DDL) conté les ordres utilitzades per crear i destruir bases de dades i objectes de base de dades. Una vegada que l'estructura de la base de dades es defineix amb DDL, els administradors de bases de dades i els usuaris poden utilitzar el llenguatge de manipulació de dades (DML) per inserir, recuperar i modificar les dades que conté.

Ordres del llenguatge de definició de dades

El llenguatge de definició de dades s'utilitza per crear i destruir bases de dades i objectes de base de dades. Aquests comandaments són utilitzats principalment pels administradors de la base de dades durant les fases de configuració i eliminació d'un projecte de base de dades. Aquí teniu un cop d'ull a l'estructura i l'ús de quatre comandaments bàsics de DDL:

CREAR. Instal·lar un sistema de gestió de bases de dades en un ordinador us permet crear i gestionar moltes bases de dades independents. Per exemple, és possible que vulgueu mantenir una base de dades de contactes amb els clients del vostre departament de vendes i una base de dades de personal per al vostre departament de recursos humans. La comanda CREATE s'utilitza per establir cadascuna d'aquestes bases de dades a la vostra plataforma. Per exemple, l'ordre:

CREATE DATABASE empleats

crea una base de dades buida anomenada "empleats" al vostre DBMS. Després de crear la base de dades, el següent pas és crear taules que continguin dades. Una altra variant de la comanda CREATE es pot utilitzar per a aquest propòsit. El comandament:

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

estableix una taula anomenada "personal_info" a la base de dades actual. En l'exemple, la taula conté tres atributs: first_name, last_name i employee_id juntament amb informació addicional.

USE. L'ordre USE us permet especificar la base de dades que voleu treballar amb el vostre SGBD. Per exemple, si actualment esteu treballant a la base de dades de vendes i voleu emetre algunes ordres que afectaran la base de dades dels empleats, premeu-les amb la següent comanda SQL:

Empleats de USE

És important tenir sempre en compte la base de dades en què està treballant abans d'emetre ordres SQL que manipulin dades.

ALTER. Una vegada que hàgiu creat una taula dins d'una base de dades, podeu modificar la seva definició. L'ordre ALTER us permet fer canvis a l'estructura d'una taula sense suprimir-la ni recrear-la. Mireu el següent comandament:

ALTER TABLE personal_info Afegiu diners salari null

Aquest exemple afegeix un nou atribut a la taula personal_info: salari d'un empleat. L'argument "diners" especifica que el salari d'un empleat s'emmagatzema usant un format de dòlars i centaus de dòlar. Finalment, la paraula clau "nul" indica a la base de dades que està bé que aquest camp no contingui cap valor per a cap empleat determinat.

TIRAR. L'ordre final de l'idioma de definició de dades, DROP, ens permet eliminar objectes de base de dades sencers del nostre SGBD. Per exemple, si volem eliminar permanentment la taula personal_info que hem creat, utilitzaríem el següent comandament:

DROP TABLE personal_info

De la mateixa manera, el comandament a continuació s'utilitza per eliminar tota la base de dades dels empleats:

DROP DATABASE empleats

Utilitzeu aquesta ordre amb compte. L'ordre DROP elimina estructures de dades senceres de la vostra base de dades. Si voleu eliminar registres individuals, utilitzeu l'ordre DELETE del llenguatge de manipulació de dades.

Ordres de llenguatge de manipulació de dades

El llenguatge de manipulació de dades (DML) s'utilitza per recuperar, inserir i modificar la informació de la base de dades. Aquests comandaments són utilitzats per tots els usuaris de la base de dades durant el funcionament rutinari de la base de dades.

INSERT La comanda INSERT en SQL s'utilitza per afegir registres a una taula existent. Tornant a l'exemple personal_info de la secció anterior, imagineu que el departament de RRHH necessita afegir un nou empleat a la seva base de dades. Podeu utilitzar una ordre similar a aquesta:

INSERIR EN valors personal_info ('bart', 'simpson', 12345, $ 45000)

Tingueu en compte que hi ha quatre valors especificats per al registre. Aquests corresponen als atributs de taula en l'ordre en què es van definir: first_name, last_name, employee_id i salari.

SELECCIONEU La comanda SELECT és l'ordre més utilitzada a SQL. Permet als usuaris de la base de dades recuperar la informació específica que desitgen des d'una base de dades operativa. Mireu alguns exemples, de nou utilitzant la taula personal_info des de la base de dades dels empleats.

L'ordre que es mostra a continuació recupera tota la informació continguda a la taula personal_info. Tingueu en compte que l'asterisc s'utilitza com comodí en SQL. Això significa literalment "Seleccionar tot des de la taula personal_info".

SELECCIONEU * DE personal_info

D'altra banda, els usuaris poden limitar els atributs que es recuperen de la base de dades. Per exemple, el departament de Recursos Humans pot requerir una llista dels cognoms de tots els empleats de l'empresa. La següent comanda SQL només recuperaria aquesta informació:

SELECCIONA el darrer nom de personal_info

La clàusula WHERE es pot utilitzar per limitar els registres que es recuperen d'aquells que compleixen criteris específics. El CEO podria estar interessat a revisar els registres de personal de tots els empleats altament remunerats. El següent comandament recupera totes les dades contingudes a la informació personal_info per als registres que tenen un valor salarial superior a $ 50,000:

SELECCIONEU * DE personal_info DONAR sou> $ 50000

ACTUALITZACIÓ. La comanda UPDATE es pot utilitzar per modificar la informació continguda en una taula, ja sigui a granel o individualment. Suposem que l'empresa ofereix a tots els empleats un augment del cost del salari del 3 per cent en el seu salari anual. Es pot utilitzar la següent comanda SQL per aplicar ràpidament això a tots els empleats emmagatzemats a la base de dades:

ACTUALITZACIÓ personal_info SET salari = sou * 1.03

Quan el nou empleat, Bart Simpson, demostra un rendiment més enllà de la crida del deure, la direcció vol reconèixer els seus assoliments estel·lars amb un augment de $ 5,000. La clàusula WHERE podria utilitzar-se per separar Bart per a aquest augment:

ACTUALITZACIÓ personal_info SET salari = salari + $ 5000 WHERE employee_id = 12345

SUPRAR. Finalment, fem una ullada a l'ordre DELETE. Trobareu que la sintaxi d'aquesta ordre és similar a la dels altres comandaments DML. Malauradament, el nostre últim informe d'ingressos corporatius no va complir amb les expectatives i el pobre Bart ha estat acomiadat. La comanda DELETE amb una clàusula WHERE es pot utilitzar per eliminar el seu registre de la taula personal_info:

DELETE FROM personal_info ON EMAIL employee_id = 12345

UNEIX

Ara que ha après els aspectes bàsics de SQL, és hora de passar a un dels conceptes més potents que el llenguatge ofereix: la declaració JOIN. Una declaració JOIN permet combinar dades en diverses taules per processar de manera eficient grans quantitats de dades. Aquestes declaracions són on resideix la veritable capacitat d'una base de dades.

Per explorar l'ús d'una operació JOIN bàsica per combinar dades de dues taules, continueu amb l'exemple utilitzant la taula PERSONAL_INFO i afegiu una taula addicional a la barreja. Assumiu que teniu una taula anomenada DISCIPLINARY_ACTION que es va crear amb la següent instrucció:

CREATE TABLE disciplinary_action (action_id int no null, employee_id int no null, comments char (500))

Aquesta taula conté els resultats de les accions disciplinàries als empleats de les empreses. Notaràs que no conté informació sobre l'empleat que no sigui el número d'empleat. És fàcil imaginar molts escenaris on és possible que vulgueu combinar informació de les taules DISCIPLINARY_ACTION i PERSONAL_INFO.

Assumeixi que s'ha encarregat de crear un informe que enumere les accions disciplinàries preses contra tots els empleats amb un salari superior a $ 40,000. L'ús d'una operació JOIN, en aquest cas, és senzill. Podem recuperar aquesta informació utilitzant el següent comandament:

SELECCIONAR 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 AND personal_info.salary> 40000

El codi especifica les dues taules que volem unir-se a la clàusula FROM i, a continuació, inclou una declaració a la clàusula WHERE per limitar els resultats als registres que tenien coincidències amb els ID d'empleats i complien amb els nostres criteris d'un salari superior a $ 40,000.