Tùsan SQL

Ionnsaich mu DDL, DML agus JOINs

Is e an Cànan Ceist Structured aon de na bunaitean togail bunaiteach de ailtireachd ùr-nodha. Tha SQL a 'mìneachadh nan dòighean a thathar a' cleachdadh gus cruinneachaidhean dàta co-cheangailte a chruthachadh agus a làimhseachadh air na prìomh àrd-ùrlaran. Aig a 'chiad dol-a-mach, is dòcha gum bi a' chànan eagallach agus iom-fhillte, ach chan eil e cho duilich idir.

Bheir an ro-ràdh seo do na bunaitean air cùlaibh SQL sùil ghoirid air cuid de na prìomh òrduighean a thathar a 'cleachdadh gus stòran-dàta a chruthachadh agus atharrachadh.

Mu SQL

Tha fuaimneachadh ceart SQL na chùis connspaideach taobh a-staigh coimhearsnachd an stòr-dàta. Anns a 'bhun-tomhais SQL, dh' fhoillsich Institiùd Ìrean Nàiseanta Ameireagaidh gur e "es queue el" an fhuaimneachadh oifigeil. " Ach, tha mòran de luchd-proifeiseanta stòr-dàta air a thoirt gu fuaimneachadh "slang". Is e an roghainn leatsa.

Tha SQL a 'tighinn a-steach ann an iomadh blas. Bidh stòran-dàta Oracle a ' cleachdadh an cuid sealbhadairean PL / SQL. Bidh Microsoft SQL Server a 'cleachdadh Transact-SQL. Tha a h-uile h-eadar-dhealachadh stèidhichte air ANSI SQL inbhe gnìomhachais. Tha an ro-ràdh seo a 'cleachdadh òrdughan SQL a tha co-chòrdail le ANSI a bhios ag obair air siostam dàta dàta co-cheangailte ri chèile.

DDL agus DML

Faodar òrdughan SQL a roinn ann an dà phrìomh fo-chànan. Tha an Cànan Mìneachadh Dàta (DDL) a 'gabhail a-steach na h-òrduighean a chaidh a chleachdadh gus stòran-dàta agus nithean stòr-dàta a chruthachadh agus a sgrios. An dèidh structar an stòr-dàta a bhith air a mhìneachadh le DDL, luchd-rianachd stòr-dàta agus faodaidh luchd-cleachdaidh an Cànan Mion-fhiosrachadh Dàta (DML) a chleachdadh gus an dàta a tha a-staigh a chur a-steach, a thoirt air ais agus atharrachadh.

Comandan Cànain Mìneachaidh Dàta

Tha an Cànan Mìneachadh Dàta air a chleachdadh gus stòran-dàta agus nithean stòr-dàta a chruthachadh agus a sgrios. Tha na riaghailtean seo air an cleachdadh gu h-àraidh le luchd-rianachd stòr-dàta fhad 'sa tha iad a' stèidheachadh agus a 'toirt às de phròiseact stòr-dàta. Seo sùil air structar agus cleachdadh ceithir òrdughan bunaiteach DDL:

CREATE. Le bhith a 'stàladh siostam rianachd stòr - dàta air coimpiutair leigidh leat dhut iomadh stòr-dàta neo-eisimeileach a chruthachadh agus a riaghladh. Mar eisimpleir, is dòcha gum bi thu airson stòr-dàta de luchd-cleachdaidh a chumail suas airson an roinn reic agad agus stòr-dàta luchd-obrach airson an roinn HR agad. Tha an àithne CREATE air a chleachdadh gus gach aon de na stòran-dàta sin a stèidheachadh air an àrd-ùrlar agad. Mar eisimpleir, an àithne:

CRUTHACH DATABASE luchd-obrach

cruthaich stòr-dàta falaichte leis an ainm "luchd-obrach" air an DBMS agad. An dèidh dhut an stòr-dàta a chruthachadh, is e an ath cheum clàran a chruthachadh anns a bheil dàta. Faodar diofar eile den àithne CREATE a chleachdadh airson an adhbhair seo. An t-òrdugh:

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

a 'stèidheachadh clàr leis an tiotal "personal_info" anns an stòr-dàta a th' ann an-dràsta. San eisimpleir, tha trì buadhan anns a 'chlàr: first_name, lastname agus employee_id còmhla ri beagan fiosrachaidh a bharrachd.

USE. Tha an t-òrdugh USE a 'leigeil leat an stòr-dàta a tha thu ag iarraidh obrachadh leis an DBMS agad a shònrachadh. Mar eisimpleir, ma tha thu an-dràsta ag obair anns an stòr-dàta reic agus ma tha thu airson cuid de dh 'òrduighean a thoirt seachad a bheir buaidh air stòr-dàta an luchd-obrach, dèan iad a-steach leis an àithne SQL a leanas:

Luchd-obrach USE

Tha e cudromach a bhith mothachail daonnan air an stòr-dàta a tha thu ag obair mus cuir thu a-mach òrdughan SQL a bhios a 'làimhseachadh dàta.

ALTER. Aon uair 's gu bheil thu air clàr a chruthachadh taobh a-staigh stòr-dàta, is dòcha gum bi thu airson a mhìneachadh atharrachadh. Tha an t-ùghdarras ALTER a 'leigeil leat atharrachaidhean a dhèanamh air structar bùird gun a bhith air a sguabadh às agus ga ath-chruthachadh. Thoir sùil air an àithne a leanas:

ALTER TABLE personal_info airgead tuarastail ADD null

Tha an eisimpleir seo a 'cur buannachd ùr ris a' chlàr pearsanta_info-tuarastal an neach-obrach. Tha an argamaid "airgead" a 'sònrachadh gu bheil tuarastal neach-obrach air a stòradh le dollar agus cruth cents. Mu dheireadh, tha an teachdaireachd "null" ag innse don stòr-dàta gu bheil e ceart gu leòr nach eil luach aig an raon seo airson neach-obrach sam bith.

DROP. Tha an àithne deireannach de Chànan Mìneachaidh Dàta, DROP, a 'leigeil leinn stuth stòr-dàta gu lèir a thoirt às an DBMS againn. Mar eisimpleir, ma tha sinn airson am bòrd pearsanta_info a chruthaich sinn a thoirt air falbh gu buan, chleachdamaid an t-òrdugh a leanas:

DROP TABLE pearsanta_info

San aon dòigh, bhiodh an t-òrdugh gu h-ìosal air a chleachdadh gus an stòr-dàta air fad a dhìon air falbh:

DROP DATABASE luchd-obrach

Cleachd an t-òrdugh seo le cùram. Tha an t-òrdugh DROP a 'toirt air falbh structaran dàta iomlan bhon stòr-dàta agad. Ma tha thu airson clàran fa leth a thoirt air falbh, cleachd an àithne DELETE den chànan Mion-fhiosrachadh.

Comanndan Cànain Mion-fhiosrachaidh

Tha an Cànan Mion-fhiosrachadh Dàta (DML) air a chleachdadh gus fiosrachadh stòr-dàta a lorg, a chur a-steach agus a mhion-atharrachadh. Tha na h-òrdughan sin air an cleachdadh le luchd-cleachdaidh an stòr-dàta fhad 'sa tha an stòr-dàta ag obrachadh.

SGEULACHDAN. Tha an àithne INSERT ann an SQL air a chleachdadh gus clàran a chur ri clàr a th 'ann mar-thà. A 'tilleadh chun an eisimpleir pearsanta_info bhon earrann roimhe, smaoinich gum feum an roinn HR againn neach-obrach ùr a chur ris an stòr-dàta aice. Dh'fhaodadh tu àithne a chleachdadh coltach ris an fhear seo:

INSERT INTO values_info ('bart', 'simpson', 12345, $ 45000)

Thoir fa-near gu bheil ceithir luachan air an sònrachadh airson a 'chlàr. Tha iad seo a 'freagairt ri feartan clàr san òrdugh a chaidh an comharrachadh: first_name, lastname, employee_id agus tuarastal.

SELECT. Is e an comharra SELECT an t-àithne as cumanta a chleachdar ann an SQL. Tha e a 'toirt cothrom do luchd-cleachdaidh stòr-dàta an fhiosrachadh shònraichte a tha iad ag iarraidh bho stòr-dàta obrachaidh fhaighinn a-rithist. Thoir sùil air beagan eisimpleirean, a-rithist a 'cleachdadh a' bhùird pearsanta_info bhon stòr-dàta luchd-obrach.

Tha an t-òrdugh a tha air a shealltainn gu h-ìosal a 'faighinn a h-uile fiosrachadh a tha taobh a-staigh a' bhùird personal_info Thoir fa-near gu bheil an rionnag air a chleachdadh mar chairt-fiadhaich ann an SQL. Tha seo a 'ciallachadh "Tagh a h-uile càil bhon chlàr pearsanta_info."

SELECT * BHO pearsanta_info

No, dh'fhaodadh gum bi luchd-cleachdaidh airson na buadhan a gheibhear bhon stòr-dàta a chuingealachadh. Mar eisimpleir, is dòcha gum feum an roinn Goireasan Daonna liosta de na h-ainmean mu dheireadh aig a h-uile neach-obrach sa chompanaidh. Cha d 'fhuair an t-òrdugh SQL a leanas ach an fhiosrachadh sin a-mhàin:

SELECT ainm-deireannach FROM personal_info

Faodar an clàsail WHERE a chleachdadh airson cuingealachadh a dhèanamh air na clàran a tha air an toirt air ais don fheadhainn a tha a 'coinneachadh ri slatan-tomhais sònraichte. Dh'fhaodadh gum biodh ùidh aig an Stiùiriche ann a bhith a 'dèanamh ath-bhreithneachadh air clàran luchd-obrach nan luchd-obrach air fad pàighte. Tha an t-òrdugh a leanas a 'toirt a-steach an dàta air fad a tha taobh a-staigh personal_info airson clàran aig a bheil luach tuarastail nas motha na $ 50,000:

SELECT * FROM personal_info WHERE tuarastal> $ 50000

FIOSRACHADH ÙR. Faodar an t-òrdugh UPDATE a chleachdadh airson am fiosrachadh a tha taobh a-staigh clàr atharrachadh, gu h-iomlan no gu h-iomlan. Thoir an aire gu bheil an companaidh a 'toirt àrdachadh de 3 sa cheud cosgais-beò air an luchd-obrach gu lèir san tuarastal aca gach bliadhna. Dh'fhaodadh an t-òrdugh SQL a leanas a chleachdadh gus seo a chuir an gnìomh gu luath ris a h-uile neach-obrach a tha air an stòradh san stòr-dàta:

FIOSRACHADH ÙR pearsanta_info SET tuarastal = tuarastal * 1.03

Nuair a tha an neach-obrach ùr, Bart Simpson, a 'taisbeanadh coileanaidh os cionn agus taobh a-muigh gairm an dleastanais, is e stiùirichean a tha ag iarraidh a bhith a' toirt a-mach na h-euchdan aige le àrdachadh $ 5,000. Dh'fhaodadh an clásail WHERE a bhith air a chleachdadh gus Bart a shònrachadh airson an àrdachadh seo:

FIOSRACHADH ÙR pearsanta_info SET tuarastal = tuarastal + $ 5000 WHERE employee_id = 12345

DELETE. Mu dheireadh, leig dhuinn sùil a thoirt air an àithne DELETE. Gheibh thu a-mach gu bheil co-chòrdadh an òrdugh seo coltach ris an òrdugh DML eile. Gu mì-fhortanach, cha robh an aithisg cosnaidh corporra as ùire againn a 'coinneachadh ri dùil agus chaidh Bart bochd a leigeil dheth. Faodar an àithne DELETE le clàs-àite a chleachdadh gus an clàr aige a thoirt air falbh bhon chlàr pearsanta_info:

DELETE BHO pearsanta_info WHERE employee_id = 12345

A 'ceangal ri chèile

A-nis gu bheil thu air bunaitean SQL ionnsachadh, tha an ùine agad gluasad air adhart gu aon de na bun-bheachdan as cumhachdaiche a dh'fheumas an cànan a thabhann - an aithris A-STEACH. Tha aithris A-STEACH a 'toirt cothrom dhut dàta a chur còmhla ann am mòran chlàran gus tomhas mòr de dhàta a dhèanamh gu h-èifeachdach. Is e na h-aithrisean sin far a bheil fìor chumhachd stòr-dàta a 'fuireach.

Gus sgrùdadh a dhèanamh air cleachdadh obrachadh bunaiteach airson dàta a thoirt còmhla bho dhà chlàr, lean leis an eisimpleir le bhith a 'cleachdadh clàr PERSONAL_INFO agus cuir clàr a bharrachd ris a' mheasgachadh. Thoir an aire gu bheil clàr agad ris an canar DISCIPLINARY_ACTION a chaidh a chruthachadh leis an aithris a leanas:

CREATE TABLE disciplinary_action (action_id int nach eil null, employee_id int not null, beachdan char (500))

Anns a 'chlàr seo tha toraidhean gnìomhan smachdachaidh air luchd-obrach na companaidh. Nochdaidh tu nach eil fiosrachadh sam bith ann mun neach-obrach a bharrachd air àireamh an luchd-obrach. Tha e furasta smaoineachadh air mòran shuidheachaidhean far am faodadh tu a bhith ag iarraidh fiosrachadh a thoirt còmhla bho na clàran DISCIPLINARY_ACTION agus PERSONAL_INFO.

Thoir an aire gun deach iarraidh ort aithisg a chruthachadh a tha a 'liostadh nan gnìomhan smachdachaidh a chaidh a dhèanamh an aghaidh a h-uile neach-obrach le tuarastal nas àirde na $ 40,000. Tha cleachdadh cleachdadh JOIN, anns a 'chùis seo, sìmplidh. Faodaidh sinn am fiosrachadh seo fhaighinn air ais leis an òrdugh a leanas:

SELECT pearsanta_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

Bidh an còd a 'sònrachadh an dà chlàr a tha sinn airson gabhail pàirt anns a' chlàs FROM agus an uairsin a 'toirt a-steach aithris anns a' chlàs Lùbh gus na toraidhean a chuingealachadh gu clàran a bha a 'freagairt IDan luchd-obrach agus a choilionadh na slatan-tomhais againn de thuarastal nas àirde na $ 40,000.