Bunreachtaí SQL

Foghlaim faoi DDL, DML agus JOINs

Tá an Teanga Iarratas Struchtúrtha ar cheann de na bloic thógála bunúsacha d'ailtireacht nua-aimseartha na mbunachar sonraí. Sainmhíníonn SQL na modhanna a úsáidtear chun bunachair shonraí gaolmhar a chruthú agus a ionramháil ar gach mórán ardán. Ar an gcéad amharc, is cosúil go bhfuil an teanga ag imeaglú agus casta, ach níl sé sin go léir deacair.

Tugann an réamhrá seo do na bunúsacha taobh thiar SQL breathnú gairid ar chuid de na príomh-orduithe a úsáidtear chun bunachair sonraí a chruthú agus a mhodhnú.

Maidir SQL

Is eisiúint chonspóid é an fuaimniú ceart SQL laistigh den phobal bunachar sonraí. Ina caighdeán SQL, dhearbhaigh Institiúid um Chaighdeáin Náisiúnta na Meiriceánach gurb é "es queue el" an fhuaimniú oifigiúil. Mar sin féin, tá go leor gairmithe bunachar sonraí tar éis glacadh leis an bhfuaimniú "slabhra". Is é an rogha leatsa.

Tagann SQL i go leor blasanna. Bain úsáid as bunachair shonraí Oracle a PL / SQL dílseánaigh. Déanann Microsoft SQL Server úsáid as Transact-SQL. Tá gach ceann de na héagsúlachtaí bunaithe ar an caighdeán tionscal ANSI SQL. Úsáideann an réamhrá seo orduithe SQL-chomhlíontacha ANSI a oibríonn ar aon chóras bunachar sonraí coibhneasta nua-aimseartha.

DDL agus DML

Is féidir orduithe SQL a roinnt ina dhá phríomhtheanga. Tá na horduithe a úsáidtear chun bunachair sonraí agus rudaí bunachar sonraí a chruthú agus a scriosadh sa Teanga Sainmhínithe Sonraí (DDL). Tar éis an struchtúr bunachar sonraí a shainmhíniú le DDL, is féidir le riarthóirí bunachar sonraí agus le húsáideoirí an Teanga Mionsonraí Sonraí (DML) a úsáid chun na sonraí atá istigh a chur isteach, a aisghabháil agus a mhodhnú.

Sainmhínithe Sonraí Orduithe Teanga

Úsáidtear an Teanga Sainmhínithe Sonraí chun bunachair sonraí agus rudaí bunachar sonraí a chruthú agus a scriosadh. Úsáidtear na horduithe seo go príomha ag riarthóirí bunachar sonraí le linn céimeanna socraithe agus aistrithe tionscadal bunachar sonraí. Seo breathnú ar struchtúr agus ar úsáid ceithre orduithe bunúsacha DDL:

CREATE. Ceadaíonn córas bainistíochta bunachar sonraí a shuiteáil ar ríomhaire leat go leor bunachair shonraí neamhspleácha a chruthú agus a bhainistiú. Mar shampla, b'fhéidir gur mhaith leat bunachar sonraí de theagmhálacha custaiméara a choimeád ar bun do do roinn díolacháin agus bunachar sonraí pearsanra do roinn AD. Úsáidtear an t-ordú CREATE chun gach ceann de na bunachair sonraí seo a bhunú ar do ardán. Mar shampla, an t-ordú:

Fostaithe FÁTHAÍOCHTA

cruthaíonn sé bunachar sonraí folamh darb ainm "fostaithe" ar do DBMS. Tar éis an bunachar sonraí a chruthú, is é an chéad chéim eile ná táblaí a chruthú ina bhfuil sonraí ann. Is féidir athrú eile ar ordú CREATE a úsáid chun na críche sin. An t-ordú:

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

bunaítear tábla dar teideal "personal_info" sa bhunachar sonraí reatha. Sa sampla, tá trí thréith ag an tábla: first_name, last_name and employee_id chomh maith le roinnt eolais bhreise.

ÚSÁID. Ceadaíonn an t-ordú USE duit an bunachar sonraí a theastaíonn uait oibriú leis laistigh de do DBMS a shonrú. Mar shampla, má tá tú ag obair sa bhunachar sonraí díolacháin faoi láthair agus gur mhaith leat roinnt orduithe a eisiúint a dhéanfaidh difear do bhunachar sonraí an fhostaí, déan iad a réamhrá leis an ordú SQL seo a leanas:

Fostaithe ÚSÁID

Tá sé tábhachtach a bheith i gcónaí ar an mbunachar sonraí atá tú ag obair sula n-eiseoidh sé orduithe SQL a ionramháiltear sonraí.

ALTER. Nuair a chruthaigh tú tábla laistigh de bhunachar sonraí, b'fhéidir gur mhaith leat a sainmhíniú a mhodhnú. Ceadaíonn an t-ordú ALTER duit athruithe a dhéanamh ar struchtúr tábla gan é a scriosadh agus a athchúrsáil. Féach ar an ordú seo a leanas:

ALTER TABLE personal_info ADD tuarastail airgid null

Cuireann an sampla seo tréith nua leis an mbord personal_info-tuarastal fostaí. Sonraíonn an argóint "airgead" go ndéantar tuarastal fostaí a stóráil ag baint úsáide as formáid dollar agus cents. Mar fhocal scoir, cuireann an eochairfhocal "null" leis an mbunachar sonraí go bhfuil sé ceart go leor don réimse seo nach mbeidh aon luach ag aon fhostaí ar leith.

DROP. Ceadaíonn an t-ordú deiridh den Teanga Sainmhínithe Sonraí, DROP dúinn rudaí bunachar sonraí iomlán a bhaint as ár DBMS. Mar shampla, más mian linn an tábla personal_info a chruthaigh muid a bhaint go buan, ba mhaith linn an t-ordú seo a leanas a úsáid:

TÁBLA DROP personal_info

Ar an gcaoi chéanna, ba cheart an t-ordú thíos a úsáid chun bunachar sonraí iomlán an fhostaí a bhaint as:

Fostaithe DROP DATABASE

Bain úsáid as an gceannas seo le cúram. Cuireann an t-ordú DROP struchtúir iomlána iomlána as do bhunachar sonraí. Más mian leat taifid aonair a bhaint, bain úsáid as ordú DELETE an Teanga Mionsonraí Sonraí.

Orduithe Teanga Mionsonraí Sonraí

Úsáidtear an Teanga Mionsonraí Sonraí (DML) chun faisnéis bunachar sonraí a aisghabháil, a chur isteach agus a mhodhnú. Úsáideann gach úsáideoir bunachar sonraí na horduithe seo le linn gnáthaimh an bhunachar sonraí.

INSERT. Úsáidtear an t-ordú INSERT i SQL chun taifid a chur le tábla atá ann cheana féin. Ag filleadh ar an sampla personal_info ón alt roimhe seo, shamhlú go gcaithfidh ár roinn Acmhainní Daonna fostaí nua a chur leis an mbunachar sonraí. D'fhéadfá ordú cosúil leis an gceann seo a úsáid:

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

Tabhair faoi deara go bhfuil ceithre luachanna sonraithe don taifead. Freagraíonn siad seo le tréithe tábla san ordú a sainmhíníodh iad: first_name, last_name, employee_id and salary.

SELECT. Is é an t-ordú SELECT an t-ordú is coitianta a úsáidtear i SQL. Ceadaíonn sé d'úsáideoirí bunachar sonraí an fhaisnéis shonrach a mhian leo ó bhunachar sonraí oibriúcháin a fháil. Féach ar roinnt samplaí, ag baint úsáide as an mbord personal_info arís ó bhunachar sonraí an fhostaí.

Aisghabhann an t-ordú a thaispeántar thíos an fhaisnéis uile atá sa bhord personal_info. Tabhair faoi deara go n-úsáidtear an réiltín mar chárta feirme i SQL. Ciallaíonn sé seo go litriúil "Roghnaigh gach rud ón mbord personal_info."

SELECT * Ó personal_info

De rogha air sin, b'fhéidir gur mhaith le húsáideoirí na tréithe a aisghabháil ón mbunachar sonraí a theorannú. Mar shampla, d'fhéadfadh go mbeadh liosta de ainmneacha deiridh na bhfostaithe go léir sa chuideachta ag teastáil ón roinn Acmhainní Daonna. Níorbh fhéidir an t-ordú SQL seo a leanas ach an fhaisnéis sin a aisghabháil:

SELECT last_name FROM personal_info

Is féidir an clásal AON a úsáid chun na taifid a aisghabháil dóibh siúd a chomhlíonann critéir shonraithe a theorannú. B'fhéidir go mbeadh suim ag an POF i dtaifead a dhéanamh ar thaifid phearsanra na bhfostaithe go léir íoctha. Aisghabhann an t-ordú seo a leanas na sonraí go léir atá laistigh de personal_info le haghaidh taifid a bhfuil luach tuarastail acu níos mó ná $ 50,000:

SELECT * FROM personal_info BHÁR tuarastal> $ 50000

Suas chun dáta. Is féidir an t-ordú UPDATE a úsáid chun an t-eolas atá laistigh de tábla a mhodhnú, i mórchóir nó ina n-aonar. Glac leis go gcuireann an chuideachta méadú 3 faoin gcéad ar chostas maireachtála ar a bhfostaithe go bliantúil ina dtuarastal go bliantúil. D'fhéadfaí an t-ordú SQL seo a leanas a úsáid chun é seo a chur i bhfeidhm go tapa leis na fostaithe go léir atá stóráilte sa bhunachar sonraí:

Suas chun dáta personal_info Suirbhé SET = tuarastal * 1.03

Nuair a léiríonn an fostaí nua, Bart Simpson, feidhmíocht os cionn an ghlaoiteachta agus lasmuigh den ghlao ar dualgas, is mian leis an mbainistíocht a n-éachtaí seanacha a aithint le ardú $ 5,000. D'fhéadfaí an clásal AON a úsáid chun Bart amháin a thabhairt don ardú seo:

Suas chun dáta personal_info Suirbhé SET = tuarastal + $ 5000 WHERE employee_id = 12345

DELETE. Mar fhocal scoir, tabhair cuma ar an ordú DELETE. Feicfidh tú go bhfuil comhréireacht an ordaithe seo cosúil le horduithe DML eile. Ar an drochuair, níor shásaigh ár dtuarascáil corparáideach is déanaí maidir le hionchais agus tá Bart bochta leagtha amach. Is féidir an t-ordú DELETE le clásal RO a úsáid chun a thaifead a bhaint as an mbord pearsanta_info:

Scriosadh as personal_info WHERE employee_id = 12345

COMHÁIN

Anois go bhfoghlaim tú bunúsacha SQL, tá sé in am dul ar aghaidh chuig ceann de na coincheapa is cumhachtaí atá ag an teanga a thairiscint - an ráiteas COMHAD. Ceadaíonn ráiteas COMHÁIN duit sonraí a chomhcheangal i ilbhoird chun cainníochtaí móra sonraí a phróiseáil go héifeachtach. Is iad na ráitis seo ina bhfuil cónaí fíorchumhachta bunachar sonraí.

Chun iniúchadh a dhéanamh ar úsáid oibríocht bhunúsach COMHAD chun sonraí a dháileadh ó dhá bhord, lean an sampla leis an mbord PERSONAL_INFO agus cuir tábla breise leis an meascán. Glac leis go bhfuil tábla agat ar a dtugtar DISCIPLINARY_ACTION a cruthaíodh leis an ráiteas seo a leanas:

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

Tá torthaí na ngníomhartha araíonachta ar fhostaithe na cuideachta sa tábla seo. Feicfidh tú nach bhfuil aon fhaisnéis ann maidir leis an bhfostaí seachas uimhir an fhostaí. Is furasta a shamhlú go leor cásanna inar mhaith leat faisnéis a chur le chéile ó na táblaí DISCIPLINARY_ACTION agus PERSONAL_INFO.

Tabhair faoi deara go ndearna tú tuairisc a chruthú a liostaítear na gníomhartha araíonachta a glacadh i gcoinne gach fostaí le tuarastal níos mó ná $ 40,000. Is é an úsáid a bhíonn ag oibriú COMHÁIN, sa chás seo, simplí. Is féidir linn an fhaisnéis seo a aisghabháil ag baint úsáide as an ordú seo a leanas:

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

Sonraíonn an cód an dá bhord gur mian linn páirt a ghlacadh sa chlásal OO agus ansin cuimsíonn sé ráiteas sa chlásal DE chun na torthaí a theorannú chuig taifid a bhí ag meaitseáil IDanna fostaithe agus bhuail siad ár critéir tuarastail níos mó ná $ 40,000.