SQL oinarrizkoak

Ezagutu DDL, DML eta JOINs-i buruz

Query Language Structured datu base arkitektura modernoaren oinarrizko blokeetako bat da. SQL-k plataformetarako garrantzitsuenak diren datu-base erlazionalak sortzeko eta manipulatzeko metodoak definitzen ditu. Lehen begiratuan, hizkuntza beldurgarria eta konplexua dirudi, baina ez da zaila.

SQL atzean dauden oinarriei buruzko sarrera honek datu-baseak sortzeko eta aldatzeko erabiltzen diren komando nagusietako batzuk laburbiltzen ditu.

SQL buruz

SQL-en ahoskera zuzena da datu-basearen komunitatean arazo larria. Bere SQL estandarrean, American National Standards Institute-ek "es queue el" izeneko ahoskera ofiziala dela esan du. Hala eta guztiz ere, hainbat datu-base profesionalek slang-aren ahoskera "sequel" hartu dute. Aukerea zurea da.

SQL zapore askotan dator. Oracle datu-baseak bere PL / SQL jabeduna erabiltzen du. Microsoft SQL Server-ek Transact-SQL erabiltzen du. Aldaketak guztiak ANSI SQL industriako estandarrean oinarritzen dira. Sarrera honek datu base sistema erlazional moderno batean lan egiten duen SQL komandoak betetzen ditu.

DDL eta DML

SQL komandoak bi azpilurralde nagusi banatu daitezke. Datuen definizioaren hizkuntza (DDL) datu-baseak eta datu-baseak sortzeko eta suntsitzeko erabiltzen diren komandoak ditu. Datu-egitura DDL-rekin definitzen den ondoren, datu-manipulazioen hizkuntza (DML) erabiltzeko datu-baseen administratzaileak eta erabiltzaileak datuak barruan sartzen, berreskuratu eta aldatu ditzakete.

Datuen definizioaren hizkuntza-komandoak

Datuen definizioaren hizkuntza datu-baseak eta datu-baseak sortzeko eta suntsitzeko erabiltzen da. Komando hauek datu-baseko administratzaileek datu-baseko proiektu baten konfigurazio eta ezabatze faseetan erabiltzen dituzte batez ere. Hona hemen lau oinarrizko DDL komandoen egitura eta erabilera begirada bat:

SORTU. Ordenagailu batean datu-basearen kudeaketa sistema bat instalatzeko aukera ematen du hainbat datu-base independente sortu eta kudeatzeko. Esate baterako, zure bezeroen kontaktuen datu-base bat mantendu nahi duzu zure salmentako sailera eta zure HR saileko langileen datu-basean. Sortu CREATE komandoa datu base horietako bakoitza zure plataforman ezartzeko erabiltzen da. Adibidez, komandoa:

DATU BASEAREN SORKUNTZA sortzea

DBMSren "langile" izeneko datu huts bat sortzen du. Datu-basea sortu ondoren, hurrengo urratsa da datuak dituzten taulak sortzeko. CREATE komandoaren beste aldaera horretarako erabil daiteke. Komandoa:

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

"datu pertsonala" izeneko taula bat ezartzen du datu basean. Adibidez, mahaiak hiru atributu ditu: first_name, last_name eta employee_id, informazio gehigarri batekin batera.

USO. ERABILTZEKO komandoa zure DBMS barruan lan egin nahi duzun datu basea zehaztu ahal izango duzu. Adibidez, salmenten datu-basean lanean ari bazara eta langile-datu-basean eragina duten komando batzuk igorri nahi badituzu, bidali hurrengo SQL aginduarekin:

USE langileak

Garrantzitsua da beti lanean ari zaren datu-basea kontutan edukitzea datuak manipulatzen dituzten SQL komandoak eman aurretik.

ALTER. Datu-base baten barruan taula bat sortu ondoren, bere definizioa aldatu nahi izango duzu. ALTER komandoa taula baten egitura aldatzeko aukera ematen du, ezabatu gabe eta berregin gabe. Begiratu komando hau:

ALTER TABLE personal_info ADD dirua irabazteko dirua

Adibide honek personal_info taula atributu berria gehitzen dio langile baten soldata. "Dirua" argumentuak langile baten soldatak dolar eta zentimoen formatua erabiliz gordetzen ditu. Azkenean, "null" gako-hitzak domeinuak dioenez, ongi dago Eremu honetan langile jakin bat ez balitz.

DROP. Datuen definizioaren hizkuntzaren amaierako komandoa, DROP, datu base objektu guztiak kendu ditzake gure DBMS-tik. Adibidez, sortu genituen behin-betiko ezabatu nahi badugu, honako komandoa erabiliko dugu:

DROP TABLE personal_info

Era berean, beheko komandoa erabiliko litzateke langile datu base osoa kentzeko:

DROP DATABASE langileak

Erabili komando hau arretaz. DROP komandoak zure datu-basearen datu-egitura osoa kentzen du. Erregistro indibidualak kendu nahi badituzu, erabili Datuak Manipulatzeko Hizkuntzaren DELETE komandoa.

Datuen manipulazioa hizkuntza komandoak

Datuen manipulazioen hizkuntza (DML) datu-basearen informazioa berreskuratu, txertatzeko eta aldatzeko erabiltzen da. Komando hauek datu-baseko erabiltzaile guztien datu-basearen funtzionamenduan zehar erabiltzen dira.

INSERT. SQL INSERT komandoa erregistroak egungo taulan gehitzeko erabiltzen da. Aurreko ataleko pertsonal_info adibideara itzultzea, imajinatu gure HR sailak langile berri bat datu basean sartu behar duela. Honen antzeko komandoa erabil dezakezu:

INDEFINIRES personal_info balioak ('bart', 'simpson', 12345, $ 45000)

Kontuan izan erregistroan zehaztutako lau balioak daude. Taularen atributuei dagokienez zehaztu dira: first_name, last_name, employee_id eta soldata.

SELECT. SELECT komandoa SQL erabiltzen den komandoa da gehien. Datu-basearen datu base batetik erabiltzaileek nahi duten informazio espezifikoa berreskuratzen uzten dio. Begiratu zenbait adibide, datu pertsonaleko datu pertsonalaren taula pertsonala erabiliz.

Hemen erakusten den komandoa informazio pertsonalaren aurkako informazio guztia jasotzen du. Kontuan izan asteriskoa SQL komodin gisa erabiltzen dela. Honek literalki esan nahi du "Hautatu dena pertsonako_info taulatik".

SELECT * FROM personal_info

Bestela, erabiltzaileek datu basean berreskuratutako atributuak mugatu nahi dituzte. Adibidez, Giza Baliabideetako sailak konpainiaren langile guztien azken izenen zerrenda eska dezake. SQL komando hauek informazio hori bakarrik berreskuratu beharko lukete.

SELECT last_name FROM personal_info

NON klausula zehaztutako irizpideak betetzen dituztenek berreskuratutako erregistroak mugatzeko erabil daiteke. Zuzendaritza Nagusiak interes handiko langile guztien erregistroa aztertzea nahi du. Hurrengo komandoak $ 50.000 baino gehiagoko soldata-balio bat duten erregistroetarako jasotzen dituen datu pertsonalak jasotzen dituen datu guztiak berreskuratzen ditu:

SELECT * FROM personal_info WHERE soldata> $ 50000

UPDATE. UPDATE komandoa mahai baten barruan dagoen informazioa aldatzeko erabil daiteke, ontziratu edo banaka. Eman diezaiokegu langile guztiei urteko soldataren% 3ko soldata-kostua handitzen dutela langile guztiei. SQL komando hau erabil daiteke hau datu basean gordetako langileei azkar aplikatzeko:

ACTUALIZACIÓN personal_info SET salary = salary * 1.03

Bart Simpson langile berria betebeharra deialdiaren gainetik eta betetzeari frogatzen duenean, kudeaketan bere lorpen esterei aitortu nahi die 5.000. urterako. WHERE klausula Bart-en banaketarako erabil daiteke:

ACTUALIZACIÓN personal_info SET salary = salary + $ 5000 WHERE employee_id = 12345

EZABATU. Azkenean, sakatu DELETE komandoa. Komando honen sintaxia DML beste komandoen antzekoa dela aurkituko duzu. Zoritxarrez, gure azken korporazioen irabazien txostenak ez zituen aurreikuspen guztiak betetzen, eta Bart gaixoaren alde egin du. The WHERE klausula batekin DELETE komandoa erabil daiteke bere erregistroa pertsonala_info taulan kentzeko:

DELETE FROM personal_info WHERE employee_id = 12345

elkartzen

Orain SQL-ren oinarrizko ikasgaiak ikasi dituzunean, hizkuntza kontzeptu indartsuenetako batera joateko garaia da: JOIN adierazpena. JOIN adierazpen batek datuak mahai anitzetan konbinatu ahal izango ditu datuak kantitate handiak modu eraginkorrean prozesatzeko. Adierazpen hauek non dago datu-basearen benetako boterea?

OINARRIZKO eragiketa baten erabilera aztertzeko bi tauletatik datuak konbinatzeko, jarraitu adibidean PERSONAL_INFO taula erabiliz eta nahasketa taula gehigarri bat gehitzeko. Ondorengo adierazpenarekin sortu zen DISCIPLINARY_ACTION izeneko taula bat suposatuko dizu:

CREATE TABLE disciplinary_action (action_id int ez nulua, employee_id int not null, comments char (500))

Taulan enpresako langileen diziplina-ekintzen emaitzak jasotzen dira. Langile kopuruaren gainetik ez duen langileei buruzko informazioa ez da izango. Oso erraza da eszenatoki desberdinak imajinatzea, DISCIPLINARY_ACTION eta PERSONAL_INFO tauletatik datozen informazioa konbinatzeko.

Demagun 40.000 $ baino gehiagoko soldata duten langile guztien aurka egindako diziplina ekintzak zerrendatzen dituen txostena sortzea. JOIN eragiketa baten erabilera kasu honetan erraza da. Informazio hau berreskuratu ahal izango dugu komando hau erabiliz:

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

Kodeak FROM katerakoan sartu nahi ditugun bi taulak zehazten ditu eta, ondoren, nazioarteko klausulan adierazpen bat biltzen du, emaitzei lotutako dokumentuak erregistratzeko, eta 40.000 dolar baino gehiagoko soldata bat duten irizpideak betetzen.