[Powered by Google Translate] [SQL]
[క్రిస్టోఫర్ BARTHOLOMEW] [హార్వర్డ్ విశ్వవిద్యాలయం]
[ఈ CS50 IS] [CS50 TV]
కాబట్టి, ప్రోగ్రామర్లు నిల్వ మరియు నిర్వహించడానికి ఒక సాధనంగా ఉపయోగించే డేటాబేస్
పట్టికలు లోపల మా నిరంతర డేటా.
ఇది మీ డేటా అనగా హార్డ్ డ్రైవ్ వంటి కాని అస్థిర medians నిల్వ దీని అర్థం
మరియు కంప్యూటర్ ఆపివేసి ఉన్నప్పుడు, డేటా ఇప్పటికీ చెక్కుచెదరకుండా ఉంది.
మరియు, ప్రోగ్రామర్లు, మా కార్యక్రమాలు నిల్వ వంటి సందర్భాలు కోసం డేటాబేస్ ఉపయోగించుకుంటాయి
జాబితా చూస్తున్నప్పుడు వెబ్ ఫారమ్లను నుండి యూజర్ సమాచారాన్ని,
లేదా సైట్లు ప్రదర్శించడానికి గురించి సమాచారాన్ని నవీకరించడం.
కానీ మేము ఎలా నిజానికి, మా డేటాబేస్ సంకర్షణ లేదు
లేదా మనం చదవడం, నిల్వ, తొలగించడానికి ఉపయోగించగలను
మరియు ఈ డేటాబేస్ పట్టికలు లోపల మా డేటాను అప్డేట్?
Well, సమాధానం మేము డేటాబేస్ భాష యొక్క ఒక ప్రత్యేక రకం ఉపయోగించే ఉంది
ఇది మా డేటాబేస్ పట్టికలు నేరుగా సంకర్షణ.
ఇది యొక్క పేరు, ప్రశ్న భాషా నిర్మాణానికి
[స్ట్రక్చర్డ్ క్వైరీ లాంగ్వేజ్]
లేదా నేను SQL వంటి చూడండి.
>> ఇప్పుడు, [సే-క్వెల్], లేదా SQL, ఒక ప్రోగ్రామింగ్ భాష కాదు
కానీ బదులుగా, అది ఆదేశాల ప్రామాణిక సెట్ అందించే ఒక భాష
డేటాబేస్ నిర్వహణ వ్యవస్థలు వివిధ రకాల డేటాను తిరిగి మరియు సవరించడానికి.
CS50 కొరకు, మేము నాలుగు ప్రాథమిక ఆదేశాలను వెళ్ళి మీరు:
, ఎంచుకోండి ఇన్సర్ట్, నవీకరించండి మరియు తొలగించండి.
అంతేకాకుండా, మేము, phpMyAdmin అనే డేటాబేస్ వెబ్ ఇంటర్ఫేస్ ఉపయోగించుకుంటాయి చేస్తాము
ఇది మా SQL ప్రకటనలు రాయడానికి ఉపకరణం ఇన్స్టాల్.
అందువలన, మీరు ఈ ఆదేశాలను గుర్తు
నేను మా దృశ్యాలతో సహాయం చేయడానికి అల్మరా కొన్ని బుట్టకేక్లు తెచ్చింది చేసిన.
మీరు ఒక కప్ కేక్ యొక్క డేటాబేస్ కలిగి సే,
మీరు మీ బుట్టకేక్లు గురించి మొత్తం సమాచారాన్ని నిల్వ పేరు.
ఇప్పుడు, డేటాబేస్ అనేక పట్టికలు కలిగి
మరియు పట్టికలు తాము అనేక కాలమ్ కలిగి ఉంటుంది.
మా కప్ కేక్ యొక్క డేటాబేస్ ఇన్సైడ్, మేము cupcake_cupboard అనే పట్టికను కలిగి.
ఈ పట్టిక బుట్టకేక్లు గురించి మొత్తం సమాచారాన్ని నిల్వ చేయడానికి ఉపయోగించబడుతుంది
మీ అల్మరా లో, బాగా ఉన్నాయి.
మీ పట్టిక లోపల అని ఒక కాలమ్ కప్ కేక్ యొక్క లక్షణాలను సూచిస్తాయి.
ఉదాహరణకు, cupcake_cupboard యొక్క నిలువు ఉంటాయి
కేక్ ID, CakeType, CakeColor, మరియు CakeIsNice.
ఈ బూలియన్ టైప్ చేసిన కాలమ్ కేక్ నీస్ లేదా ఉంటే గుర్తించడానికి ఉపయోగిస్తారు.
మేము ఎంపిక ప్రకటన రాసే ఆరంభమవుతుంది చేస్తున్నారు.
ఎంచుకోండి వాంగ్మూలాలు ఒక నిర్దిష్ట డేటాబేస్ పట్టిక డేటా తిరిగి ఉపయోగిస్తారు.
ఈ సందర్భంలో, మనం ప్రతిదీ తెలుసుకోవాలంటే
మా అల్మరా ఉన్నాయి అన్ని బుట్టకేక్లు గురించి.
దీన్ని సింటాక్స్ "ఎంచుకోండి" స్పేస్ స్టార్, లేదా *, స్పేస్ మా పట్టిక నుండి ఖాళీ ఉంది
cupcake_cupboard ఇది.
యొక్క కొనసాగి, ఆ అమలు లెట్.
>> మేము గమనిస్తే, ఈ మా అల్మరా అన్ని బుట్టకేక్లు ఉంటాయి.
ఇది ఆ *, లేదా చుక్క గమనించండి ముఖ్యం, ఒక వైల్డ్ కార్డ్ పాత్ర
కొన్ని పట్టిక అన్ని కాలమ్ సేకరణ సూచిస్తుంది.
సాధారణంగా, మేము ఒక నిర్దిష్ట కాలమ్ లేదా నిలువు యాక్సెస్ చేయవచ్చు
అసలు కాలమ్ పేరుతో * స్థానంలో.
మేము అనేక కాలమ్ కావాలి, కాని అన్ని ఉంటే, మేము ఈ సాధించవచ్చు
కామాతో ద్వారా ప్రతి కాలమ్ delimiting కాలమ్ పేర్లు వ్రాయడం ద్వారా.
ఉదాహరణకు, యొక్క మాత్రమే cupcake_cupboard పట్టికలో CakeId మరియు CakeType తిరిగి తెలియజేయండి.
దీన్ని వాక్యనిర్మాణం: ఎంపిక స్పేస్ CakeID కామా
మా పట్టిక, cupcake_cupboard నుండి CakeType స్పేస్.
యొక్క ముందుకు వెళ్లి ఈ అమలు లెట్.
మరియు ఇక్కడ, మేము ఇప్పుడు మాత్రమే మేము పేర్కొన్న రెండు నిలువు వరుసలు
మా అల్మరా ప్రతి కప్ కేక్ కోసం.
మేము కూడా పేర్కొనడం ద్వారా మా ప్రశ్న ఫలితాలు శుద్ధి చేయవచ్చు
కేవలం పట్టిక పేరు తర్వాత "ఎక్కడ" నిబంధన.
ఉదాహరణకు, మా అల్మరా ఒక కప్ కేక్ ఉన్నట్లు కనిపిస్తుంది
ఆ ఉంది,, కాబట్టి చూస్తున్న మంచిపని కాదు.
యొక్క చూస్తూ, బాగా, సో నైస్ లేని మా అల్మరా అన్ని బుట్టకేక్లు గుర్తించడానికి లెట్
"ఎక్కడ" నిబంధన ఉపయోగించి.
దీన్ని వాక్యనిర్మాణం: స్పేస్ cupcake_cupboard ఎంచుకోండి స్పేస్ * ఖాళీ
స్పేస్ WHERE ఈ కేసులో జాగా మా నియత కాలమ్, CakeIsNice =,
ఫాల్స్ మరియు బూలియన్ విలువ.
మీరు తీగలు ఉపయోగించి, మీరు సింగిల్ కోట్స్ లో జతపరచు ఉండాలి గమనించండి ముఖ్యం.
ఈ SQL అన్ని స్ట్రింగ్స్ జరుగుతుంది, లేదా, SQL డేటాబేస్ పరంగా, variant అక్షరాలు
Varchar datatype అని పిలుస్తారు.
ఈ సందర్భంలో, మనం బూలియన్ విలువ మరియు ఒక స్ట్రింగ్ ఇది ఒప్పు లేదా తప్పు ఉపయోగిస్తున్నారు.
యొక్క ముందుకు వెళ్లి ఈ ఆదేశాన్ని లెట్.
>> తక్కువ మరియు ఆగండి, మనం 1 చాక్లెట్ కలిగి సందర్భంలో
మన అల్మరా లో కప్ కేక్ మంచిపని కాదు.
తరువాత, మేము ఒక చొప్పించు ప్రకటన ఎలా రాయాలో చేస్తున్నారు.
చొప్పించు ప్రకటనలు ఇన్సర్ట్ లేదా జోడించడానికి ఉపయోగిస్తారు
మీ డేటాబేస్ టేబుల్ డేటాను యొక్క అదనపు వరుసలు.
మా దృష్టాంతంలో రీవిజిటింగ్, యొక్క మేము ఒక బ్రాండ్ కొత్త కప్ కేక్ చేసిన ఊహించుకోవటం తెలియజేయండి.
మేము చాలా కప్ కేక్ తినేవాళ్ళు నిర్వహిస్తారు నుండి, మేము ఈ కొత్త కప్ కేక్ ఇన్సర్ట్ చెయ్యడానికి చూడాలని
మా cupcake_cupboard పట్టికలో.
, స్థలం మా పట్టిక అంతరిక్షం చొప్పించు: దీన్ని వాక్యనిర్మాణం ఈ ఉంది
cupcake_cupboard, స్పేస్ (,
మరియు ఇక్కడ మేము, కామాతో ద్వారా, వేరు కాలమ్ పేర్లు పేర్కొనండి
CakeType కామా CakeColor CakeIsNice కామా) స్పేస్.
ఈ నేపథ్యంలో, మేము పదం విలువలు స్పేస్ (చదవడానికి, మరియు ఇక్కడ
మేము ఒక కామా ద్వారా వేరు కూడా వరుసగా ప్రతి కాలమ్ విలువ ఇవ్వండి.
వారు అన్ని Varchar విలువలు ఎందుకంటే ఒకే కోట్, మేము, సింగిల్ కోట్స్ వాటిని చుట్టూ చేస్తాము
పీనట్ బట్టర్ 'కామాతో లైట్ BROWN' కామాతో ట్రూ.
ఇప్పుడు, ప్రతి వరుసలో కూడా గుర్తించడానికి ఒక ప్రత్యేక సంఖ్య ఇవ్వాలని ముఖ్యం.
ఒక కాలమ్ Autoincrementing ఈ అందిస్తుంది
"నో రెండు అదే ID లు ఎప్పుడూ ఈ పట్టిక లో ఉండవచ్చు."
యొక్క ముందుకు వెళ్లి అమలు లెట్.
అక్కడ మేము, అన్ని వ్యవస్థీకృత వెళ్ళండి.
>> మేము వ్రాయండి అని తదుపరి SQL ప్రకటన ఒక నవీకరణ ప్రకటన.
నవీకరణ ప్రకటన ఒక కాలమ్ లో డేటా సవరించడానికి ఉపయోగించవచ్చు
మీ డేటాబేస్ టేబుల్ లో ఇప్పటికే ఉన్న ఏదైనా వరుస కోసం.
గతంలో మా సందర్భంలో, ఒక ఎంపిక ప్రకటన ఉపయోగించి, మేము ఒక కప్ కేక్ గుర్తించారు
మా cupcake_cupboard యొక్క పట్టిక లోపల దీని CakeIsNice విలువ FALSE ఉంది.
యొక్క మా శనగ వెన్న కప్ కేక్ ఓవెన్ ఉండగా భావిస్తాయి లెట్
మేము మా అంతగా లేని nice కప్ కేక్ మంచిపని చేశారు.
కాబట్టి అనూహ్యంగా నిర్వహించారు చేయబడింది, మేము మా కప్ కేక్ ఈ విలువకు కావలసిన
మా cupcake_cupboard పట్టికలో.
అందువలన, ఈ యొక్క ప్రతిబింబించేలా డేటాబేస్ లో మా చాక్లెట్ కప్ కేక్ అప్డేట్ తెలియజేయండి.
వాక్యనిర్మాణం: UPDATE స్పేస్ మా పట్టిక, cupcake_cupboard, స్పేస్ SET స్పేస్
మేము మార్చాలనుకుంటే ఆ కాలమ్, CakeIsNice =.
ఇక్కడ మేము మా కొత్త విలువ ట్రూ స్పేస్ ఉంచండి.
ఇప్పుడు మేము ఈ విలువ అన్ని వరుసలను నవీకరించాలనుకున్న ఎందుకంటే,
మేము మాకు ఏర్పడుతాయి ఒక "ఎక్కడ" నిబంధన ఇవ్వాలంటే
మేము మీరు సవరించాలని అనుకుంటున్నారా ఆ ఖచ్చితమైన వరుసలో.
ఈ సందర్భంలో, మనం కేవలం ఒక కప్ కేక్ ఉన్నాడని తెలుసు
ఆ ఫాల్స్ ఒక CakeIsNice విలువను కలిగి ఉంది.
అంతేకాకుండా, మేము సరైన వరుస నవీకరిస్తున్నాము నిర్దారించుకుంటారు
"మరియు" నిబంధన ఉపయోగించి.
మేము మా ప్రశ్న మరింత పెంపొందించడానికి "మరియు" నిబంధన ఉపయోగించండి.
ఈ సందర్భంలో, ఎందుకంటే మేము, కప్ కేక్ చాక్లెట్ అని తెలుసు
మేము ఈ CakeType కాలమ్ ఉపయోగిస్తారు.
అంతరాళం మా నియత కాలమ్ స్పేస్ CakeIsNice స్పేస్ = ఫాల్స్,
మరియు స్పేస్ CakeType = 'CHOCOLATE.'
కాబట్టి, అన్ని కలిసి అది చూస్తూ, ఈ నవీకరణ ప్రకటన చెప్పారు
మా కప్ కేక్ అల్మరా అన్ని బుట్టకేక్లు కనుగొనడానికి,
మరియు దీని కాలమ్ CakeIsNice ఫాల్స్ విలువ కలిగి ఒక కప్ కేక్ లేకపోతే
మరియు CakeType, విలువ CHOCOLATE కలిగి
మేము ట్రూ ప్రత్యేకమైన వరుసలు CakeIsNice విలువ నవీకరించాలనుకున్న.
కాబట్టి, యొక్క ముందుకు వెళ్లి ప్రకటన అమలు అనుమతిస్తాయి.
ఇప్పుడు, మేము నిర్వహించిన చేస్తున్నారు.
>> బుట్టకేక్లు అన్ని ఈ చర్చ నాకు ఒక బిట్ ఆకలితో చేసింది.
నేను ఒక నేను సహాయం నేను భావిస్తున్నాను.
నిజానికి ఈ కప్ కేక్ తినడానికి అయితే, నేను కనీసం దాని ఉనికిని తీసివేయవలెను
మా cupcake_cupboard పట్టిక నుండి.
ఇది చేయుటకు, మేము "తొలగించు" ప్రకటన ఉపయోగిస్తారు.
"తొలగించు" ప్రకటన పట్టిక నుండి అన్ని లేదా కొన్ని వరుసలు తొలగించడానికి ఉపయోగిస్తారు.
మీరు, టేబుల్ నుండి కొన్ని ప్రత్యేక వరుస తొలగించాలని అనుకుంటే
అప్పుడు మీరు ఈ విధంగా ఒక కాలమ్ పేర్కొనడం, ఒక "ఎక్కడ" నిబంధన అందించాలి
మీరు తొలగించాలనుకుంటున్న ఆ వరుస ప్రత్యేకంగా ఉండాలి.
ఈ వాక్యనిర్మాణం: మా పట్టిక, cupcake_cupboard, అంతరాళం అంతరిక్షం నుంచి అంతర తొలగించండి.
ఇప్పుడు, ఈ సమయంలో, చేసినప్పుడు మీరు ఈ దూరం మీ తొలగింపు ప్రకటన ఉన్నాయి
మీరు చాలా జాగ్రత్తగా ఉండాలనుకుంటున్నాను.
నేను ఈ ప్రశ్నను అమలు చేయండి ఉదాహరణకు, కొన్ని "ఎక్కడ" నిబంధన అందించకుండా ఉంది
నేను, ఈ cupcake_cupboard పట్టికలో అన్ని డేటా కోల్పోతుంది
నేను ఇప్పటికే నా కేక్ లు ప్రత్యేకంగా ఉంటాయి తెలుసు కాబట్టి, నేను ఉపయోగించండి
నా "ఎక్కడ" నిబంధన, Red వెల్వెట్ కేక్ ID.
అంతరాళం మా కాలమ్, CakeID = 1.
ఈ పూర్ణాంకం విలువ కారణంగా సింగిల్ కోట్స్ లో చుట్టూ అవసరం ఉంది.
కాబట్టి, యొక్క ప్రకటన అమలు అనుమతిస్తాయి.
Well, ఇప్పుడు మేము ఈ కప్ కేక్ యొక్క ఉనికి బలిగొంది చేసిన
మా cupcake_cupboard పట్టిక నుండి, మేము ఒక్క విషయం ఉన్నాయి:
ఇది అదృశ్యం చేయండి.
నేను క్రిస్టోఫర్ BARTHOLOMEW ఉన్నాను. ఈ CS50 ఉంది.