ʻO SQL Fundamentals

E aʻo e pili ana i DDL, DML a me JOINs

ʻO ka Language Query Structured kahi o nā papa kūkulu pono o ka hale kiʻiʻike hale waihona puke hou. Hōʻikeʻo SQL i nāʻano i hoʻohanaʻia e hana a hoʻoponopono i nāʻikepili pili i nā kumuhana nui. I ka nānā muaʻana, hiki paha i ka'ōlelo ke hopohopo a me ka paʻakikī, akā,ʻaʻole ia he mea paʻakikī.

ʻO kēia hoʻokomoʻana i nā kumuhana ma hope o SQL ke nānā nei i kekahi o nā kauoha nui i hoʻohanaʻia e hoʻokumu a hoʻololi i nāʻikepili.

E pili ana i SQL

ʻO ka'ōlelo hoʻopuka pololeiʻo SQL kahi hihia hoʻopiʻi i loko o ka hālāwai kaiāulu. Ma kāna kūlana SQL, ua hōʻike ka American Standard Standards Institute i ka'ōlelo ākeaʻo "es queue el." Eia naʻe, ua laweʻia nā meaʻoihana haipule pūnaewele i ka hua'ōlelo "slaquel". ʻO kāu koho ka mea āu.

Komo maiʻo SQL ma nāʻano he nui. E hoʻohana i nāʻikepili o Oracle i kāna PL / SQL pono'ī. Hanaʻo Microsoft SQL Server i kahi hoʻohana o Transact-SQL. Hoʻopiliʻia nā hoʻololi a pau ma luna o ka ANSI SQL standard industry. Ke hoʻohana nei kēia hōʻailona i nā kauoha SQL ANSI e hoʻokō nei i ka hana ma kekahi pūnaeweleʻikepili pili hou.

DDL a me DML

Hiki ke hoʻokaʻawaleʻia nā kauoha SQL i loko oʻelua mau'ōleloʻano nui. Aia ka'ōlelo weheweheʻikepili (DDL) i nā kauoha i hoʻohanaʻia no ka hoʻokumuʻana a me ka lukuʻana i nā kikowaena a me nā meaʻikepili. Ma hope o ka ho'ākāka 'ia' ana o ka 'ikepili database me DDL, nā luna waihona waihona a me nā mea hoʻohana e hoʻohana i ka Language Data Manipulation (DML) e hoʻokomo, e lawe a hoʻololi i nāʻikepili i loko.

Ka Ho'ākākaʻIkepili Lokomaikaʻi

Hoʻohanaʻia ka Language Data Definition e hoʻokumu a hoʻopau i nā kumuhana a me nā meaʻikepili. Ke hoʻohana muaʻia nei kēia mau kauoha e nā luna hoʻomalu pūnaewele i ka manawa o ka hoʻonohonoho a me ka weheʻana o nā kikowaena o kahi papahanaʻikepili. Eia ke nānā i keʻano a me keʻano o nā kauoha DDLʻehā:

KAHU. Ke hoʻokomo nei i kahi pūnaewele hoʻonohonoho waihona papahana ma luna o kahi kamepiula e hiki iāʻoe ke hana a mālama i nāʻikepili kūikawā kūʻokoʻa. Eia kekahi laʻana, makemake pahaʻoe e mālama i kahi kikowaena o nā mea kūʻai mea kūʻai no kāu ke kūʻai kūʻai a me kahi waihonaʻikepili kanaka no kāu pūnaewele HR. Hoʻohanaʻia ka papa CREATE e hoʻokumu i kēlā me kēia o nāʻikepili ma kāu pūnaewele. Eia kekahi laʻana:

E hoʻolālā i nā mea hana

hana i kahi papa inoaʻikeʻole i kapaʻia "nā kānaka" ma kāu DBMS. Ma hope o ka hoʻokumuʻana i ka waihonaʻikepili,ʻo ka hana hou e hana i nā papa i loaʻa nāʻikepili. ʻO kekahi kumu'ē aʻe o ka kauoha CREATE e hoʻohanaʻia no kēia kumuhana. ʻO ke kauoha:

E hana i ka pilina person_info (first_name char (20)ʻaʻohe null, last_name char (20)ʻaʻole null, employee_idʻaʻole e hōʻino)

hoʻonohonoho i kahi papa i kapaʻia "personal_info" ma kaʻikepili pūnaewele. Ma ka laʻana, aia ka papaʻaina iʻekolu mau inoa: first_name, last_name a employee_id me kekahi mauʻike'ē aʻe.

Mālama. Na ke kauoha USE e hāʻawi iāʻoe e hōʻoia i kaʻikepili āu e makemake e hana pū me kāu DBMS. Eia kekahi laʻana, ināʻoe e hana nei i ka waihona kūʻai kūʻai a makemakeʻoe e hoʻopuka i kekahi mau kauoha e pili ana i ka'ikepilihana limahana, e hoʻomaka mua iā lākou me kēia kauoha SQL:

Nā hana hana USE

He mea nui e hoʻomanaʻo i kaʻikepili i kāu e hana nei i mua o ka hoʻopukaʻiaʻana o nā kauoha SQL e hoʻopili i kaʻikepili.

ALTER. I ka manawa āu i haku ai i kahi papa i loko o kahiʻikepili, hiki paha iāʻoe ke hoʻololi i kona wehewehe. ʻO ke kauoha ALTER eʻae iāʻoe e hoʻololi i keʻano o kahi papaʻaina me ka holoiʻana a me ka hana houʻana. E nānā i kēia kauoha:

ALTER TABLE personal_info ADD uku uku uku

Hoʻohui kēiaʻano i kahi inoa hou i ka papa helu person_info-ʻo ka uku o ka mea hana. ʻO ka'ōlelo "kālā" e hoʻomaopopo ana i ka mālamaʻiaʻana o ka uku o ka mea hana e hoʻohanaʻia ana i kahi kālā a me ka helu helu. I ka hope loa,'ōlelo ka hua'ōlelo "null" i kaʻikepili kahi maikaʻi no kēia kahua e komoʻole kahi waiwai no kekahi mea i hāʻawiʻia.

DROP. ʻO ka kauoha hope loa o ka Language Data Definition Language, DROP, eʻae iā mākou e wehe i nā mea kikowaena kikowaena mai kā mākou DBMS. Eia kekahi laʻana, inā makemake mākou e wehe loa i ka papa helu pilikino i hakuʻia e mākou, e hoʻohana mākou i kēia kauoha:

DROP TABLE personal_info

Penei hoʻi, e hoʻohanaʻia ke kauoha ma lalo nei e wehe i ka paʻapili paʻa o ka limahana a pau:

DROP DATABALA poʻe kauā

E hoʻohana i kēia kauoha me ka mālama. ʻO ka DROP kauoha e hoʻopau i nā hananaʻikepili piha mai kāuʻikepili. Inā makemakeʻoe e wehe i nā moʻolelo pilikino, e hoʻohana i ka kauoha DELETE o ka'Ōlelo HoʻopiliʻIkepili.

Nā Polokalamu'Ōlelo HoʻonaʻauaoʻIkepili

Hoʻokomoʻia ka Language Manipulation Language (DML) e kiʻi hou, hoʻokomo a hoʻololi i kaʻikepiliʻikepili. Ke hoʻohana nei kēia mau kauoha i nā mea hoʻohana pūnaewele i ka hana maʻamau o ka pūnaewele.

INA. Ke hoʻohanaʻia nei ka papa INSERT i SQL e hoʻonui i nā moʻolelo i kahi papa e waiho nei. Ke hoʻi nei i keʻano pilikino pilikanaka mai ka pauku aku nei, e noʻonoʻo pono e pono i ko mākou 'oihana HR ke hoʻohui i kekahi limahana hou i kānaʻikepili. Hiki iāʻoe ke hoʻohana i ke kauoha e like me kēia:

Kākau i loko o nā helu pilikino_info ('bart', 'simpson', 12345, $ 45000)

E hoʻomaopopo heʻehā mau helu i hōʻikeʻia no ka moʻolelo. Hoʻolālā kēia i ka papa o ka papa i loko o ke kauoha i ho'ākākaʻia: first_name, last_name, employee_id a uku.

HELU. ʻO ka palapala SELECT ka papa hana i hoʻohanaʻia ma SQL. Hiki i nā mea hoʻohana waihona waihona ke kiʻihoʻi i nāʻike kiko'ī a lākou i makemake ai mai kaʻikepili pūnaewele. E nānā i kekahi mau hiʻohiʻona, e hoʻohana hou ana i ka pilina o ke kanaka pilikino mai kahi meahana waihonaʻikepili.

ʻO ka kauoha i hōʻikeʻia i lalo nei e hoʻihoʻi i nāʻike a pau i loko o ka papa helu person_info. E hoʻomaopopo i ka hoʻohanaʻana i ke kaha e like me ka māla ma SQL. ʻO keʻanoʻoiaʻiʻo kēia "E koho i nā mea a pau mai ka papa helu pilikino."

SELECTION * FROM personal_info

Ma kahi'ē aʻe, hiki i nā mea hoʻohana ke makemake e hoʻokaʻawale i nāʻano i laweʻia mai ka pūnaewele. Eia kekahi laʻana, hiki i ka 'Oihana Hoʻonaʻauao Haumana ke koi aku i ka papa inoa o nā inoa hope o nā mea hoʻohana a pau ma ka hui. ʻO ka'ōlelo SQL i hope iho nei e kiʻi hou i kēlāʻike:

SELECTION hope_name FROM personal_info

Hiki ke hoʻohana 'ia ka māhele'AAI no ka hōʻemi' ana i nā moʻolelo i lawe 'ia i nā mea i kūpono i nā pae hoʻohālikelike. Hiki paha ke makemake nui ka Luna Nui i ka nānāʻana i nā moʻolelo a nā poʻe o nā poʻe hana i uku nuiʻia. ʻO ka palapala i lalo e kiʻi hou i nāʻikepili i loko o ka pilikino pilikino no nā moʻolelo i loaʻa ka uku uku ma mua o $ 50,000:

SELECT * FROM personal_info WHERE he $ 50000 uku

UPDATE. Hiki ke hoʻohanaʻia ka papa UPDATE e hoʻololi i kaʻike i loko o ka papa, ma ka pūnaewele a iʻole paha. Manaʻoʻia ka hāʻawi kālāʻana o kaʻahahui i nā limahana a pau i ka uku uku o ka uku o ka uku i ka makahiki. Hiki ke hoʻohanaʻia kēia kauoha SQL e hoʻohana koke nei i kēia i nā poʻe hana a pau i mālamaʻia ma loko o kaʻikepili:

ʻO UPDATE personal_info HALAU uku uku = uku uku * 1.03

Ke hōʻike ka paʻahana houʻo Bart Simpson i ka hana ma luna a ma waho aʻe o ka pihi o ke kuleana, makemake kaʻahahui e hoʻomaopopo i kāna hana i hanaʻia me ka hoʻonuiʻana he $ 5,000. Hiki ke hoʻohana 'ia ka māhele o KA wahi e paʻi ma kahi o Bart no kēia piʻi:

UPDATE personal_info HALAU uku = uku + $ 5000 WHERE emplo_id = 12345

KAHU. I ka hopena, e nānā i ka kauoha DELETE. Eʻikeʻoe e like ka syntax o kēia kauoha a like me nā kānāwai'ē aʻe o DML. ʻO ka mea pōʻino,ʻaʻole i kūpono i kā mākou loiloi kālā hōʻuluʻuluʻoihana i nā mea i manaʻoʻia ai a ua haʻaleleʻiaʻo Bart. ʻO ke kauoha DELETE me kahi WHERE hiki ke hoʻohanaʻia no ka weheʻana i kāna moʻolelo mai ka papa helu person_info:

Mai kahi mai ka pilikino_WAI no emplo_id = 12345

KANAWAI

I kēia manawa ua aʻoʻoe i nā kumu o SQL, ua hiki i ka manawa e neʻe ai i kekahi o nā mana mana loa e hāʻawiʻia e ka'ōlelo - ka'ōlelo JOIN. Hiki iāʻoe ke hoʻohui i nāʻikepili i nā papa helu nui e hoʻoponopono pono i ka nui o nāʻikepili. ʻO kēia mau'ōlelo ma kahi o ka mana maoli o kahi waihona waihona e noho nei.

No kaʻikeʻana i ka hoʻohanaʻana i ka papahana kumuhana JOIN e hoʻohui i kaʻikepili mai nā papaʻelua, e hoʻomau i ka hōʻailona me ka papahana PERSONAL_INFO a hoʻonui i kahi papa i ka hui. Makemake iāʻoe he papaʻaina i kapaʻiaʻo DISCIPLINARY_ACTION i hanaʻia me kēia hua'ōlelo:

E hana i ka hoʻoponopono 'ana i ka papahana (action_id iʻole e hōʻole, employee_id iʻole e hōʻole, nā'ōlelo Char (500))

Aia kēia papa i nā hualoaʻa o nā hana hoʻopaʻi i nā limahana o ka poʻeʻoihana. E nānāʻoeʻaʻole i loko o nāʻike e pili ana i ke kanaka hana ma waho o ka helu limahana. He maʻalahi e noʻonoʻo i nā hanana he nui kahi e makemake aiʻoe e hoʻohui i kaʻike mai ka papa DISCIPLINARY_ACTION a me PERSONAL_INFO.

Manaʻoʻoe ua hoʻopiliʻiaʻoe ma ka hanaʻana i kahi hōʻike e papa inoa ana i nā hana hoʻopaʻi i hanaʻia e kū'ē i nā limahana a pau i loaʻa ka ukuʻoi aʻe ma mua o $ 40,000. ʻO ka hoʻohanaʻana i kahi hana JOIN, ma kēiaʻano, he pololei. Hiki iā mākou ke lawe hou i kēiaʻikepili ma o ke kauoha aʻe nei:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, disciplinary_action NO KA mea personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

Hoʻokumu ka helu i nā papaʻelua e makemake mākou e komo i ka mokuna FROM me ka heluʻana i kahi'ōlelo ma ka paukū WHERE e hoʻoholo i nā hopena i nā moʻolelo i loaʻa i nā helu i loaʻa i nā poʻe limahana a pili i kā mākou mau papahana o ka ukuʻoi aʻe ma mua o $ 40,000.