SQL ఫండమెంటల్స్

DDL, DML మరియు JOIN ల గురించి తెలుసుకోండి

స్ట్రక్చర్డ్ క్వరీ లాంగ్వేజ్ ఆధునిక డేటాబేస్ ఆర్కిటెక్చర్ యొక్క ప్రాథమిక నిర్మాణ బ్లాక్లలో ఒకటి. SQL అన్ని ప్రధాన ప్లాట్ఫారమ్లపై రిలేషనల్ డేటాబేస్లను రూపొందించడానికి మరియు సవరించడానికి ఉపయోగించే విధానాలను నిర్వచిస్తుంది. మొదటి చూపులో, భాష బెదిరింపు మరియు క్లిష్టమైన అనిపించవచ్చు, కానీ అది అంత కష్టం కాదు.

SQL వెనుక ఫండమెంటల్స్కు ఈ పరిచయం డేటాబేస్లను సృష్టించేందుకు మరియు సవరించడానికి ఉపయోగించే ప్రధాన ఆదేశాలలో కొన్ని క్లుప్త పరిశీలనలో ఉంది.

SQL గురించి

SQL యొక్క సరైన ఉచ్చారణ డేటాబేస్ కమ్యూనిటీ లోపల వివాదస్పద సమస్య. SQL ప్రమాణంలో, అమెరికన్ నేషనల్ స్టాండర్డ్స్ ఇన్స్టిట్యూట్ అధికారిక ఉచ్చారణ "ఎస్ క్యూ ఎల్" అని ప్రకటించింది. అయితే, అనేక డేటాబేస్ నిపుణులు యాస ఉచ్చారణ "సీక్వెల్" కు తీసుకున్నారు. ని ఇష్టం.

SQL అనేక రుచులలో వస్తుంది. ఒరాకిల్ డేటాబేస్లు దాని యాజమాన్య PL / SQL ను ఉపయోగిస్తాయి. మైక్రోసాఫ్ట్ SQL సర్వర్ లావాదేవీ-SQL ఉపయోగించుకుంటుంది. వైవిధ్యాలు అన్ని పరిశ్రమ ప్రమాణమైన ANSI SQL ఆధారంగా ఉంటాయి. ఈ పరిచయం ANSI- కంప్లైంట్ SQL కమాండ్లు ఏ ఆధునిక రిలేషనల్ డేటాబేస్ సిస్టంలో పని చేస్తాయి.

DDL మరియు DML

SQL ఆదేశాలను రెండు ప్రధాన ఉప-భాషలుగా విభజించవచ్చు. డేటా డెఫినిషన్ లాంగ్వేజ్ (DDL) డేటాబేస్ మరియు డేటాబేస్ ఆబ్జెక్ట్లను సృష్టించేందుకు మరియు నాశనం చేయడానికి ఉపయోగించే ఆదేశాలను కలిగి ఉంటుంది. డేటాబేస్ నిర్మాణం DDL తో నిర్వచించబడిన తరువాత, డేటాబేస్ నిర్వాహకులు మరియు వాడుకదారులు సమాచార మానిప్యులేషన్ లాంగ్వేజ్ (DML) ను ఉపయోగించగలరు, దానిలోని డేటాను ఇన్సర్ట్, తిరిగి మరియు సవరించడం.

డేటా డెఫినిషన్ లాంగ్వేజ్ ఆదేశాలు

డేటా డెఫినిషన్ లాంగ్వేజ్ డేటాబేస్ మరియు డేటాబేస్ వస్తువులు సృష్టించడానికి మరియు నాశనం చేయడానికి ఉపయోగించబడుతుంది. ఈ ఆదేశాలను ప్రధానంగా ఒక డేటాబేస్ ప్రాజెక్ట్ యొక్క సెటప్ మరియు రిమూవల్ దశలలో డేటాబేస్ నిర్వాహకులు ఉపయోగిస్తున్నారు. నాలుగు ప్రాథమిక DDL ఆదేశాల యొక్క నిర్మాణం మరియు వినియోగంపై ఇక్కడ చూడండి:

సృష్టించదు. ఒక కంప్యూటర్లో ఒక డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ను వ్యవస్థాపించడం వలన మీరు అనేక స్వతంత్ర డేటాబేస్లను సృష్టించి, నిర్వహించవచ్చు. ఉదాహరణకు, మీరు మీ సేల్స్ డిపార్ట్మెంట్ కోసం కస్టమర్ పరిచయాల డేటాబేస్ను మరియు మీ హెచ్ ఆర్ డిపార్ట్మెంట్ కోసం ఒక సిబ్బంది డేటాబేస్ని నిర్వహించాలనుకోవచ్చు. CREATE కమాండ్ మీ వేదికపై ఈ డేటాబేస్లను ప్రతి స్థాపించడానికి ఉపయోగించబడుతుంది. ఉదాహరణకు, కమాండ్:

DATABASE ఉద్యోగులను సృష్టించండి

మీ DBMS లో "ఉద్యోగులు" అనే ఖాళీ డేటాబేస్ను సృష్టిస్తుంది. డేటాబేస్ సృష్టించిన తర్వాత, తదుపరి దశ డేటాను కలిగి ఉన్న పట్టికలను సృష్టించడం. CREATE కమాండ్ యొక్క మరో రకం ఈ ప్రయోజనం కోసం ఉపయోగించబడుతుంది. కమాండ్:

TABLE personal_info (first_name చార్ (20) శూన్య కాదు, last_name చార్ (20) కాదు శూన్య, employee_id Int శూన్య కాదు)

ప్రస్తుత డేటాబేస్లో "personal_info" పేరుతో ఉన్న పట్టికను ఏర్పాటు చేస్తుంది. ఉదాహరణలో, పట్టికలో మూడు లక్షణాలను కలిగి ఉంది: మొదటి_పేరు, చివరి_పేరు మరియు ఉద్యోగి_ఐడ్ మరియు కొన్ని అదనపు సమాచారంతో పాటు.

వా డు. USE కమాండ్ మీరు మీ DBMS లో పనిచేయాలనుకుంటున్న డేటాబేస్ను తెలుపుతుంది. ఉదాహరణకు, మీరు ప్రస్తుతం విక్రయాల డేటాబేస్లో పని చేస్తున్నప్పుడు మరియు ఉద్యోగుల డేటాబేస్ను ప్రభావితం చేసే కొన్ని ఆదేశాలను జారీ చేయాలనుకుంటే, ఈ క్రింది SQL ఆదేశంతో వాటిని ముందుమాట చేస్తుంది:

యూనియన్ ఉద్యోగులు

డేటాను సవరించే SQL ఆదేశాలను జారీ చేయడానికి ముందు మీరు పని చేస్తున్న డేటాబేస్ను ఎల్లప్పుడూ గుర్తించడమే ముఖ్యమైనది.

ALTER. మీరు ఒక డేటాబేస్లో ఒక పట్టికను సృష్టించిన తర్వాత, మీరు దాని నిర్వచనాన్ని సవరించవచ్చు. ALTER కమాండ్ మీరు తొలగించకుండా మరియు పునఃసృష్టి లేకుండా ఒక టేబుల్ నిర్మాణంలో మార్పులను చేయటానికి అనుమతిస్తుంది. కింది ఆదేశాన్ని పరిశీలించండి:

ALTER TABLE personal_info శూన్య డబ్బు శూన్య జోడించండి

ఈ ఉదాహరణ వ్యక్తిగత గుణకానికి ఒక కొత్త లక్షణాన్ని జోడిస్తుంది - ఉద్యోగి జీతం. "డబ్బు" వాదన ఒక ఉద్యోగి జీతం డాలర్లు మరియు సెంట్లు ఫార్మాట్ ఉపయోగించి నిల్వ చేయబడిందని పేర్కొంటుంది. చివరగా, "శూన్యమైన" కీవర్డ్ డేటాబేస్కు తెలియజేస్తుంది, ఈ రంగంలో ఏదైనా ఫీల్డ్ కోసం ఎటువంటి విలువ ఉండదు.

డ్రాప్. డేటా డెఫినిషన్ లాంగ్వేజ్, DROP యొక్క చివరి కమాండ్, మా DBMS నుండి మొత్తం డేటాబేస్ వస్తువులను తొలగించడానికి మమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, మేము సృష్టించిన వ్యక్తిగత_ఇన్ఫో పట్టికను శాశ్వతంగా తొలగించాలనుకుంటే, మేము క్రింది ఆదేశాన్ని ఉపయోగించుకుంటాము:

DROP TABLE personal_info

అదేవిధంగా, దిగువ కమాండ్ మొత్తం ఉద్యోగి డేటాబేస్ను తొలగించడానికి ఉపయోగించబడుతుంది:

DATABASE ఉద్యోగులను కోల్పో

జాగ్రత్తతో ఈ ఆదేశం ఉపయోగించండి. DROP ఆదేశం మీ డేటాబేస్ నుండి మొత్తం డేటా నిర్మాణాలను తొలగిస్తుంది. మీరు వ్యక్తిగత రికార్డులను తొలగించాలనుకుంటే, డేటా మానిప్యులేషన్ లాంగ్వేజ్ యొక్క DELETE కమాండ్ను ఉపయోగించండి.

డేటా మానిప్యులేషన్ భాషా ఆదేశాలు

డేటా మానిప్యులేషన్ లాంగ్వేజ్ (DML) డేటాబేస్ సమాచారం తిరిగి, ఇన్సర్ట్ మరియు సవరించడానికి ఉపయోగిస్తారు. డేటాబేస్ యొక్క సాధారణ ఆపరేషన్ సమయంలో ఈ ఆదేశాలను అన్ని డేటాబేస్ వినియోగదారులు ఉపయోగిస్తున్నారు.

ఇన్సర్ట్. SQL లో INSERT కమాండ్ ఇప్పటికే ఉన్న పట్టికకు రికార్డులను జోడించడానికి ఉపయోగించబడుతుంది. మునుపటి విభాగం నుండి వ్యక్తిగత_ఇన్ఫో ఉదాహరణకి తిరిగి వెళ్ళు, మా హెచ్ఆర్ డిపార్ట్మెంట్ దాని డేటాబేస్కు కొత్త ఉద్యోగిని జోడించాల్సిన అవసరం ఉందని ఊహించండి. మీరు ఇలాంటి కమాండ్ను ఉపయోగించవచ్చు:

ఇన్సర్ట్ INTO వ్యక్తిగత_ఇన్ఫో విలువలు ('బార్ట్', 'సింప్సన్', 12345, $ 45000)

రికార్డు కోసం పేర్కొన్న నాలుగు విలువలు ఉన్నాయి. ఇవి నిర్వచించిన క్రమంలో పట్టిక లక్షణాలను సూచిస్తాయి: first_name, last_name, employee_id మరియు జీతం.

ఎంచుకోండి. SELECT కమాండ్ అనేది SQL లో ఎక్కువగా ఉపయోగించే ఆదేశం. ఇది డేటాబేస్ వినియోగదారులు వారు ఒక కార్యాచరణ డేటాబేస్ నుండి కోరుకుంటున్నాను నిర్దిష్ట సమాచారాన్ని తిరిగి అనుమతిస్తుంది. ఉద్యోగి డేటాబేస్ నుండి వ్యక్తిగత_ఇన్ఫో పట్టికను ఉపయోగించి మళ్ళీ కొన్ని ఉదాహరణలు చూడండి.

క్రింద చూపిన ఆదేశం వ్యక్తిగత_ఇన్ఫో పట్టికలో ఉన్న మొత్తం సమాచారాన్ని తిరిగి పొందుతుంది. Asterisk SQL లో ఒక వైల్డ్కార్డ్గా ఉపయోగించబడుతుందని గమనించండి. ఇది అక్షరాలా అర్థం "personal_info పట్టిక నుండి ప్రతిదీ ఎంచుకోండి."

వ్యక్తిగత_ఇన్ఫో నుండి * ఎంచుకోండి

ప్రత్యామ్నాయంగా, వినియోగదారులు డేటాబేస్ నుండి పొందబడిన లక్షణాలను పరిమితం చేయాలని కోరుకోవచ్చు. ఉదాహరణకు, మానవ వనరుల విభాగం సంస్థలోని అన్ని ఉద్యోగుల చివరి పేర్ల జాబితాకు అవసరం కావచ్చు. కింది SQL ఆదేశం మాత్రమే సమాచారాన్ని తిరిగి పొందుతుంది:

Personal_info నుండి చివరి_పేరుని ఎంచుకోండి

WHERE నిబంధన నిర్దిష్ట ప్రమాణాలకు అనుగుణంగా ఉన్నవారికి తిరిగి పొందబడిన రికార్డులను పరిమితం చేయడానికి ఉపయోగించవచ్చు. అధిక మొత్తం చెల్లించిన ఉద్యోగుల సిబ్బంది రికార్డులను సమీక్షించడంలో CEO ఆసక్తి కలిగి ఉండవచ్చు. కింది ఆదేశం $ 50,000 కంటే ఎక్కువ జీతం విలువ కలిగిన రికార్డుల కోసం వ్యక్తిగత_ఇన్ఫోలో ఉన్న మొత్తం డేటాను తిరిగి పొందుతుంది:

వ్యక్తిగత వేరైన ఎంటిటీని వేరైన జీతం> $ 50000 నుండి ఎంచుకోండి

UPDATE. UPDATE ఆదేశం సమూహంలో లేదా వ్యక్తిగతంగా ఒక పట్టికలో ఉన్న సమాచారాన్ని సవరించడానికి ఉపయోగించబడుతుంది. సంస్థ ఉద్యోగులందరికి సంవత్సరానికి జీతం 3 శాతం జీవన వ్యయం పెరుగుతుంది. డేటాబేస్లో నిల్వ చేసిన మొత్తం ఉద్యోగులకు ఈ క్రింది SQL కమాండ్ను త్వరగా ఉపయోగించుకోవచ్చు:

సత్వర జీతం = జీతం * 1.03 అప్డేట్ చేయండి

కొత్త ఉద్యోగి బార్ట్ సింప్సన్ విధి కాల్ పైన మరియు దాటి పనితీరు ప్రదర్శించినప్పుడు, నిర్వహణ తన $ 5,000 పెంపుతో అతని నక్షత్ర విజయాలను గుర్తించాలని కోరుకుంటుంది. WHERE నిబంధన ఈ పెంపు కోసం బార్ట్ ను సింగిల్ గా ఉపయోగించుకోవచ్చు:

ఉద్యోగం చెల్లించు జీతం = జీతం + $ 5000 WHERE employee_id = 12345 UPDATE

తొలగించు. చివరగా, DELETE ఆదేశాన్ని చూద్దాం. ఈ కమాండ్ యొక్క వాక్యనిర్మాణం ఇతర DML కమాండ్ల మాదిరిగానే ఉంటుంది. దురదృష్టవశాత్తూ, మా తాజా కార్పొరేట్ ఆదాయాల నివేదిక అంచనాలను అందుకోలేదు మరియు పేద బార్ట్ తీసివేయబడింది. వ్యక్తిగత_ఇన్ఫో పట్టిక నుండి తన రికార్డును తొలగించడానికి WHERE నిబంధనతో DELETE ఆదేశం ఉపయోగించబడుతుంది:

WHERE employee_id = 12345 నుండి personal_info నుండి తొలగించండి

చేరతాడు

ఇప్పుడు మీరు SQL యొక్క ప్రాథమికాలను నేర్చుకున్నారని, భాషా ఆఫర్ను అందించే అత్యంత శక్తివంతమైన భావనలలో ఒకటి - JOIN ప్రకటన. ఒక JOIN స్టేట్మెంట్ మీరు బహుళ పట్టికల డేటాను సమర్థవంతంగా అధిక పరిమాణాత్మక డేటాను ప్రాసెస్ చేయడానికి మిళితం చేస్తుంది. ఒక డేటాబేస్ యొక్క నిజమైన శక్తి నివసించే ఈ ప్రకటనలు.

రెండు పట్టికల నుండి డేటాను కలిపి ప్రాథమిక JOIN ఆపరేషన్ యొక్క ఉపయోగం అన్వేషించడానికి, PERSONAL_INFO పట్టికను ఉపయోగించి ఉదాహరణతో కొనసాగించండి మరియు మిక్స్కి అదనపు పట్టికని జోడించండి. మీరు క్రింది ప్రకటనతో సృష్టించబడిన DISCIPLINARY_ACTION అనే పట్టికను కలిగి ఉన్నారని భావించండి:

TABLE సృష్టించు disciplinary_action (action_id Int కాదు శూన్య, employee_id Int కాదు శూన్య, వ్యాఖ్యలు చార్ (500)

కంపెనీ ఉద్యోగులపై క్రమశిక్షణా చర్యలు ఈ పట్టికలో ఉన్నాయి. మీరు ఉద్యోగి సంఖ్య కంటే ఉద్యోగి గురించి ఏదైనా సమాచారాన్ని కలిగి లేదని గమనించవచ్చు. మీరు DISCIPLINARY_ACTION మరియు PERSONAL_INFO పట్టికల నుండి సమాచారాన్ని మిళితం చేయదలిచిన అనేక సందర్భాలను ఊహించడం సులభం.

$ 40,000 కంటే ఎక్కువ జీతంతో అన్ని ఉద్యోగులకు వ్యతిరేకంగా తీసుకున్న క్రమశిక్షణా చర్యలను జాబితా చేసే నివేదికను సృష్టించడంతో మీరు బాధ్యత వహించాలని అనుకోండి. JOIN ఆపరేషన్ ఉపయోగం, ఈ సందర్భంలో, సూటిగా ఉంటుంది. ఈ కింది ఆదేశాన్ని ఉపయోగించి మేము ఈ సమాచారాన్ని తిరిగి పొందవచ్చు:

Personal_info.first_name, personal_info.last_name, personal_info, disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id మరియు personal_info.salary> 40000 నుండి disciplinary_action.com

కోడ్ మేము FROM నిబంధనలో చేరాలనుకుంటున్న రెండు పట్టికలను నిర్దేశిస్తుంది మరియు WHERE నిబంధనలో ఒక ప్రకటనను ఉద్యోగి ID లకు సరిపోలే రికార్డులకు పరిమితం చేయటానికి మరియు $ 40,000 కన్నా ఎక్కువ జీతంను మా ప్రమాణాలను కలుస్తుంది.