[Powered by Google Translate] [SQL] [க்ரிஸ் BARTHOLOMEW] [ஹார்வர்ட் பல்கலைக்கழகம்] [இந்த CS50 IS] [CS50 டிவி] எனவே, மென்பொருள் சேமிக்க மற்றும் ஏற்பாடு ஒரு கருவியாக தரவுத்தளங்கள் பயன்படுத்த அட்டவனைகளுள் எங்கள் மாறாத்தரவை. இந்த, உங்கள் தரவு போன்ற ஒரு வன் போன்ற மாறா medians சேமிக்கப்படும் என்று அர்த்தம் மற்றும் கணினி ஆஃப் கூட, தரவு இன்னும் அடங்கவில்லை. மற்றும், மென்பொருள் போன்ற, நமது திட்டங்கள் போன்ற சேமித்து போன்ற சூழல்களில் தரவுத்தளங்கள் பயன்படுத்தி சரக்கு தேடும் வலை படிவங்களை இருந்து பயனர் தகவல்,, அல்லது தளங்கள் காட்ட பற்றி தகவல் மேம்படுத்தும். ஆனால் எப்படி நாம் உண்மையில், எங்கள் தகவல் தொடர்பு அல்லது நாம், படிக்க சேமிக்க, நீக்க பயன்படுத்துகிறோம் இந்த தரவுத்தள அட்டவணைகள் உள்ள எங்கள் தரவு மேம்படுத்த? சரி, பதில் நாம் தரவுத்தள மொழி ஒரு சிறப்பு வகை பயன்படுத்த உள்ளது இது எங்கள் தரவுத்தள அட்டவணைகள் நேரடியாக தொடர்பு. இது பெயர், வினவல் மொழி கட்டமைக்கப்பட்ட [கட்டமைப்பு வினவல் மொழி] அல்லது என்ன நான் SQL என பார்க்கவும். இப்போது, [சே-கியுவல்], அல்லது SQL, ஒரு நிரலாக்க மொழி அல்ல, ஆனால், அதற்கு பதிலாக, அது கட்டளைகளை ஒரு நிலையான அமைப்பு வழங்குகிறது என்று ஒரு மொழி தான் தரவுத்தள மேலாண்மை அமைப்புகளின் பல்வேறு தரவுகளை மீட்க மற்றும் கையாளுதல். CS50 நோக்கத்திற்காக, நாங்கள் நான்கு அடிப்படை கட்டளைகள் மேல் செல்வோம்: , தேர்வு செருக, மேம்படுத்த, மற்றும் நீக்க. மேலும், நாம், phpMyAdmin என்ற தகவல் இணைய இடைமுகம் பயன்படுத்த வேண்டும் இது எங்கள் SQL வாக்கியங்கள் எழுத சாதனம் நிறுவப்பட்ட. எனவே, நீங்கள் இந்த கட்டளைகளை நினைவில் உதவி நான் எங்கள் காட்சிகள் உதவுவதற்காக ஒரு அலமாரியில் சில கேக் வாங்கி வந்தேன். நீங்கள் ஒரு கப்கேக் தரவுத்தளத்தில் சொல்ல, உங்கள் கேக் பற்றி தகவல் சேகரிக்க வேண்டும். இப்போது, தரவுத்தளங்கள் பல அட்டவணைகள் கொண்டிருக்கும் மற்றும் அட்டவணைகள் தங்களை பல பத்திகள் கொண்டிருக்க முடியாது. எங்கள் கப்கேக் தரவுத்தளத்தில் உள்ளே, நாம் cupcake_cupboard என்று ஒரு அட்டவணை வேண்டும். இந்த அட்டவணை கேக் பற்றி தகவல் சேகரிக்க பயன்படுத்தப்படும் என்று உங்கள் அலமாரியில், நன்றாக உள்ளன. உங்கள் அட்டவணை உள்ளே இருக்கும் நெடுவரிசைகள் ஒரு கப்கேக் பண்புகளை பிரதிபலிக்கும். எடுத்துக்காட்டாக, cupcake_cupboard இன் நெடுவரிசைகள் உள்ளன கேக் அடையாள, CakeType, CakeColor, மற்றும் CakeIsNice. இந்த பூலியன்-தட்டச்சு செய்யப்பட்ட நிரலை கேக் நல்ல நல்ல இல்லையா என்பதை தீர்மானிக்க பயன்படுத்தப்படுகிறது. நாம் ஒரு குறிப்பிட்ட அறிக்கை எழுத தொடங்க போகிறோம். தேர்ந்தெடுக்கப்பட்ட அறிக்கைகள் ஒரு குறிப்பிட்ட தரவுத்தள அட்டவணையில் தரவு பெற பயன்படுத்தப்படுகின்றன. இந்த சூழ்நிலையில், நாம் எல்லாம் தெரியவேண்டும் எங்கள் அலமாரியில் இருக்கும் அனைத்து கேக் பற்றி. இதை செய்ய தொடரியல் "தேர்ந்தெடு" விண்வெளி நட்சத்திரம், அல்லது *, விண்வெளி எங்கள் அட்டவணை இடத்தை, இல்லை cupcake_cupboard ஆகும். அது போய் அந்த இயக்க அனுமதிக்க. நாம் பார்க்க முடியும் என, இந்த நம் அலமாரியில் அனைத்து கேக் உள்ளன. அது *, அல்லது நட்சத்திர கவனத்தில் முக்கியமானது, ஒரு காட்டு அட்டை கதாபாத்திரம் சில அட்டவணையின் அனைத்து நெடுவரிசைகளையும் சேகரிப்பது குறிக்கிறது. பொதுவாக, நாம் ஒரு குறிப்பிட்ட நிரலை அல்லது நெடுவரிசைகள் அணுகலாம் உண்மையான நிரல் பெயர் * இடமாற்றம். நாம் பல நெடுவரிசைகள் வேண்டும், ஆனால் அனைத்து என்றால், நாம் இந்த அடைய முடியும் ஒரு கமா ஒவ்வொரு நிரல் delimiting அணிவரிசை பெயர்களை எழுதி. உதாரணமாக, ஒரே cupcake_cupboard அட்டவணையில் CakeId மற்றும் CakeType எடுக்க வேண்டும். இதை செய்ய தொடரியலாகும்: கூட்டணியை விண்வெளி CakeID மேற்கோள் எங்கள் அட்டவணை, cupcake_cupboard இருந்து CakeType இடம். அது மேலே சென்று இந்த இயக்க அனுமதிக்க. இங்கே, நாங்கள் இப்போது தான் நாம் குறிப்பிட்ட இரண்டு நெடுவரிசைகள் வேண்டும் எங்கள் அலமாரியில் ஒவ்வொரு கப்கேக் இடம். நாம் குறிப்பிடுவதன் மூலம் நம் கேள்வி முடிவுகளை துல்லியமாக்க முடியும் ஒரு அட்டவணை பெயர் பின்னர் "எங்கே" பிரிவு. உதாரணமாக, நமது அலமாரியில் ஒரு கப்கேக் இருக்க தோன்றும் அதாவது, நன்கு, எனவே பார்க்க நன்றாக இல்லை. அது பார்த்து, நன்றாக, மிகவும் நன்றாக இல்லை என்று நம் அலமாரியில் அனைத்து கேக் கண்டுபிடிக்க நாம் "எங்கே" பிரிவு பயன்படுத்தி. இதை செய்ய தொடரியல் ஆகும் cupcake_cupboard தேர்ந்தெடுக்க விண்வெளி * இடம் எங்கே இந்த வழக்கில் விண்வெளி எங்கள் நிபந்தனை பத்தியில், CakeIsNice =, தவறு மற்றும் பூலியன் மதிப்பை. அதை நீங்கள் சரங்களை பயன்படுத்தினால், நீங்கள் ஒற்றை மேற்கோள் அது அடை வேண்டும் என்று குறிப்பிடுவது முக்கியமாகும். இந்த SQL அனைத்து சரங்களை உண்மையாக இருக்கும், அல்லது, SQL தரவுத்தள அடிப்படையில், வேறுபட்ட கதாபாத்திரங்கள் Varchar டேட்டாடை அறியப்படுகிறது. இந்த வழக்கில், நாம் ஒரு பூலியன் மதிப்பை மற்றும் ஒரு சரம் ஆகும், சரி அல்லது தவறு பயன்படுத்தும். அது மேலே சென்று இந்த கட்டளையை இயக்கவும் நாம். லோ மற்றும் இதோ, நாங்கள் 1 சாக்லேட் வேண்டும் என்று வழக்கு எனவே நம் அலமாரியில் கப்கேக் நன்றாக இல்லை. அடுத்து, நாங்கள் ஒரு நுழைவு அறிக்கையை எழுத போகிறோம். நுழைவு அறிக்கைகள் செருக அல்லது சேர்க்க பயன்படுத்தப்படுகின்றன உங்கள் தரவுத்தள அட்டவணையில் தரவை கூடுதல் வரிசைகளை. எங்கள் நிலைமையை அடைவதை, நாம் ஒரு புதிய கப்கேக் செய்த கருதிக்கொள்வோம். நாம் மிகவும் கப்கேக் உண்கின்றன ஏற்பாடு என்பதால், நாம் இந்த புதிய கப்கேக் சேர்க்க வேண்டும் எங்கள் cupcake_cupboard அட்டவணையில். , விண்வெளி எங்கள் டேபிள் இடத்தை சேர்க்க: இதை செய்ய தொடரியல் இந்த cupcake_cupboard, விண்வெளி (, இங்கு நாம், ஒரு கமா மூலம், பிரிக்கப்பட்ட பத்திகள் பெயர்கள் குறிப்பிட CakeType மேற்கோள் CakeColor CakeIsNice கமா) விண்வெளி. இதை தொடர்ந்து, நாம் வார்த்தை கலாச்சாரம் விண்வெளி (எழுத, மற்றும் இங்கே நாம் ஒரு கமா மூலம் பிரிக்கவும் மேலும், முறையே ஒவ்வொரு கட்டத்திற்கும் மதிப்பை உள்ளிடவும். அவர்கள் அனைத்து Varchar மதிப்புகள் ஏனெனில் ஒற்றை மேற்கோள், நாம், ஒற்றை மேற்கோள் அவற்றை சுற்றியுள்ள வேர்க்கடலை வெண்ணெய் 'கமா' வெளிர் பழுப்பு 'கமா, பகல். இப்போது, ஒவ்வொரு வரிசையில் தன்னை அடையாளம் ஒரு தனிப்பட்ட எண்ணை கொடுக்க முக்கியம். ஒரு நிரலை Autoincrementing இந்த வழங்குகிறது  "இல்லை, இரண்டு அதே ID கள் எப்போதும் இந்த அட்டவணையில் இருக்க முடியும்." அது மேலே சென்று இயக்க வேண்டும். அங்கு நாம், அனைத்து ஒழுங்கமைக்கப்பட்ட போக. நாம் எழுத என்று அடுத்த SQL வாக்கியங்களை ஒரு மேம்படுத்தல் அறிக்கை. மேம்படுத்தல் அறிக்கை ஒரு பத்தியில் உள்ள தரவு மாற்ற முடியும் உங்கள் தரவுத்தள அட்டவணையில் இருக்கும் வரிசையின். முந்தைய நம் சூழ்நிலையில், ஒரு குறிப்பிட்ட அறிக்கை பயன்படுத்தி, நாம் ஒரு கப்கேக் அடையாளம் எங்கள் cupcake_cupboard மேசையில் உள்ள அதன் CakeIsNice மதிப்பு தவறு இருந்தது. நமது வேர்க்கடலை வெண்ணெய் கப்கேக் அடுப்பில் இருந்தது என்று நாம் கருதி கொள்வோம், நாம் அவ்வளவு நல்ல கப்கேக் மிகவும் நன்றாக இருந்தது. எனவே விதிவிலக்காக ஏற்பாடு செய்யப்பட்டு, நாங்கள் எங்கள் கப்கேக் இந்த மதிப்பை பிரதிபலிக்கும் வேண்டும் எங்கள் cupcake_cupboard அட்டவணையில். எனவே, இந்த பிரதிபலிக்கும் தரவுத்தளத்தில் எங்கள் சாக்லேட் கப்கேக் மேம்படுத்த உதவும். தொடரியல் ஆகும்: தகவல் விண்வெளி எங்கள் அட்டவணை, cupcake_cupboard, விண்வெளி SET இடம் நாம் மாற்ற விரும்பும் நிரலை, CakeIsNice =. பிறகு இங்கே நம்முடைய புதிய மதிப்பு, பகல் இடத்தில் வைக்க. இப்போது, நாம் இந்த மதிப்பு அனைத்து வரிசைகள் புதுப்பிக்க விரும்பவில்லை, ஏனென்றால், நாம் சுட்டிக்காட்ட வேண்டும் என்று ஒரு "எங்கே" பிரிவு வழங்க வேண்டும் நாம் மாற்ற வேண்டும் என்று சரியான வரிசை. இந்த வழக்கில், நாம் ஒரே ஒரு கப்கேக் உள்ளது என்று அந்த தவறு ஒரு CakeIsNice மதிப்பு உள்ளது. மேலும், நாம் கூட நாம் சரியான வரிசையில் மேம்படுத்தும் உறுதி "மேலும்," பிரிவு பயன்படுத்தி. நாம் கேள்வி மேலும் துல்லியமாக்கவும் "மற்றும்" உட்கூறு பயன்படுத்த. இந்த வழக்கில், ஏனெனில் நாங்கள், கப்கேக் சாக்லேட் என்று நாம் இந்த CakeType நிரலை பயன்படுத்த வேண்டும். எங்கே இடம் எங்கள் நிபந்தனை நிரலை விண்வெளி CakeIsNice விண்வெளி = தவறு, விண்வெளி CakeType = 'மொரப்பா.' எனவே, அனைத்து சேர்த்ததற்கு, இந்த மேம்படுத்தல் அறிக்கை கூறுகிறது எங்கள் கப்கேக் அலமாரியில் அனைத்து கேக் கண்டறிய, மற்றும் அதன் நிரலை CakeIsNice தவறு மதிப்பு கொண்ட ஒரு கப்கேக் இருந்தால் மற்றும் CakeType, மதிப்பு மொரப்பா கொண்டுள்ளது நாங்கள் பகல் குறிப்பிட்ட வரிசைகள் CakeIsNice மதிப்பு மேம்படுத்த வேண்டும். அதனால், தான் போய் அறிக்கையை செயல்படுத்த வேண்டும். இப்போது, நாங்கள் ஏற்பாடு செய்கிறோம். கேக் அனைத்து இந்த பேச்சு என்னை கொஞ்சம் பசி செய்துள்ளது. நான் ஒரு என்னையே உதவி வேண்டும் என்று நினைக்கிறேன். நான் உண்மையில் இந்த கப்கேக் சாப்பிட்டால் ஆனால், நான் குறைந்தது அதன் இருப்பு நீக்க வேண்டும்  எங்கள் cupcake_cupboard அட்டவணை. இதை செய்ய, நாங்கள் "நீக்கு" அறிக்கை பயன்படுத்துவோம். "நீக்கு" அறிக்கை அட்டவணை அனைத்து அல்லது சில வரிசைகளை நீக்க பயன்படுத்தலாம். நீங்கள், அட்டவணை இருந்து சில குறிப்பிட்ட வரிசையில் நீக்க விரும்பினால் நீங்கள் இவ்வாறு ஒரு பத்தியில் குறிப்பிடும், ஒரு "எங்கே" பிரிவு வழங்க வேண்டும் என்று நீங்கள் நீக்க விரும்பும் வரிசையில் தனிப்பட்ட இருக்க வேண்டும். இந்த இலக்கணத்தை இல்லை: எங்கள் அட்டவணை, cupcake_cupboard, விண்வெளி இடத்தை ஸ்பேஸ் DELETE. இப்போது, இந்த கட்டத்தில், எப்போதெல்லாம் நீங்கள் இந்த அளவிற்கு உங்கள் நீக்கு அறிக்கை உள்ளன நீங்கள் மிகவும் கவனமாக இருக்க வேண்டும். நான் இந்த கேள்வியை இயக்க வேண்டும் என்றால் உதாரணமாக, சில "எங்கே" பிரிவு இல்லாமல் இல்லை நான், இந்த cupcake_cupboard அட்டவணையை அனைத்து தரவு இழக்க வேண்டும் நான் ஏற்கனவே என் கேக் ID கள் தனிப்பட்ட என்று எனக்கு தெரியும் ஆனால், நான் பயன்படுத்த வேண்டும் என் "எங்கே" பிரிவு, Red வெல்வெட் கேக் அடையாள. எங்கே இடம் நம் பத்தியில், CakeID = 1. இந்த ஒரு முழு எண் மதிப்பை ஏனெனில் ஒற்றை மேற்கோள் அதை சுற்றியுள்ள செய்ய வேண்டிய அவசியம் இல்லை. எனவே, அறிக்கை இயக்க அனுமதிக்க. சரி, இப்போது நாம் இந்த கப்கேக் இருப்பு அழிக்கப்பட்டுவிடும் என்று எங்கள் cupcake_cupboard அட்டவணை இருந்து, நாம் மட்டும் இடது ஒன்று உள்ளது: அது மறைந்து கொள்ள. நான் கிறிஸ்டோபர் BARTHOLOMEW இருக்கிறேன். இந்த CS50 உள்ளது.