[संगीत बजाना] डौग लॉयड: हमारे वीडियो में वेब विकास विषयों पर, हम की अवधारणा का उल्लेख किया है सही एक डाटाबेस एक बार कुछ? तो एक डेटाबेस आप कर रहे हैं से साथ शायद परिचित माइक्रोसॉफ्ट एक्सेल का उपयोग कहना या गूगल स्प्रेडशीट्स। यह वास्तव में सिर्फ एक संगठित है टेबल, पंक्तियों और स्तंभों की स्थापना की। और एक डेटाबेस जहां है हमारी वेबसाइट के भंडार महत्वपूर्ण है कि जानकारी हमारी वेबसाइट के लिए ठीक से काम करने के लिए। फिर, एक वास्तव में आम उदाहरण यहां उपयोगकर्ता नाम और पासवर्ड जमा कर रहा है एक डेटाबेस में है, इसलिए जब कि हमारी वेबसाइट में एक उपयोगकर्ता के लॉग, डेटाबेस देखने के लिए पूछे जा सकते हैं कि उपयोगकर्ता डेटाबेस में मौजूद है। वे कर रहे हैं, कि जाँच उनके पासवर्ड सही है। और उनके पासवर्ड सही है, फिर हम जो कुछ पेज उन्हें दे सकते हैं वे अनुरोध कर रहे हैं। तो क्या आप फिर, शायद, परिचित हो एक्सेल या गूगल से इस विचार के साथ स्प्रेडशीट्स। हम डेटाबेस है, टेबल, पंक्तियों और स्तंभों। और कहा कि वास्तव प्रकार है मौलिक सेट की यहाँ श्रेणीबद्ध टूटने की। तो यहाँ एक एक्सेल स्प्रेडशीट है। और अगर तुम कभी खोल लिया है, तो या अन्य इसी तरह के कार्यक्रम आप इन यहां जानते हैं कि rows-- 1, 2, 3, 4, 5, 6, 7। ये कॉलम हैं। हो सकता है कि यहाँ नीचे, आप कर सकते हैं, हालांकि बहुत much-- इस सुविधा का उपयोग नहीं मैं हमारे पास in-- ज़ूम करेंगे एक चादर के इस विचार। इसलिए हो सकता है कि इन चादरों, यदि मैं आगे और पीछे वैकल्पिक विभिन्न तालिकाओं हैं कि अपने डेटाबेस में मौजूद हैं। और हम उदाहरण सभी के लिए जारी अगर वैसे भी, इस डेटाबेस का नाम 1 बुक है। शायद मैं पुस्तक 2 और 3 बुक है। इसलिए प्रत्येक एक्सेल फाइल है एक डेटाबेस, प्रत्येक शीट एक मेज है, और प्रत्येक मेज के अंदर मेरे पास है पंक्तियों और स्तंभों के इस विचार। तो कैसे मैं इस डेटाबेस के साथ काम करते हैं? कैसे मैं इसे से जानकारी प्राप्त करते हैं? खैर नामक एक भाषा नहीं है, SQL-- मैं आमतौर पर सिर्फ Sequel-- जो फोन और इसके लिए खड़ा है स्ट्रक्चर्ड क्वेरी लैंग्वेज। और यह एक प्रोग्रामिंग भाषा है, लेकिन यह एक काफी सीमित प्रोग्रामिंग है भाषा। यह काफी दूसरों की तरह नहीं है कि हम साथ काम किया है। लेकिन इस का उद्देश्य प्रोग्रामिंग भाषा करने के लिए, एक डेटाबेस क्वेरी के लिए है एक डेटाबेस की जानकारी से पूछते हैं, एक में जानकारी मिल डेटाबेस, और इतने पर। हम यह भी CS50-- में है और यह एक बहुत है साझा मंच, यह MySQL कहा जाता है। यही कारण है कि हम पाठ्यक्रम में क्या उपयोग है। यह एक खुला स्रोत है स्थापित करता है कि मंच एक तथाकथित रिलेशनल database-- एक डाटाबेस, प्रभावी ढंग से। हम प्राप्त करने की आवश्यकता नहीं है बहुत अधिक विस्तार में पर क्या एक संबंधपरक डेटाबेस है। लेकिन एसक्यूएल भाषा है काम करने में बहुत माहिर MySQL और इसी तरह के दूसरे के साथ रिलेशनल डेटाबेस की शैलियों। और कई प्रतिष्ठानों कुछ के साथ MySQL आ कहा जाता phpMyAdmin, जो एक ग्राफिकल यूजर है एक GUI-- interface-- कि यह एक छोटे से अधिक बनाता है निष्पादित करने के लिए अनुकूल उपयोगकर्ता डेटाबेस प्रश्नों, डेटाबेस सिर्फ इस्तेमाल नहीं कर रहे हैं, क्योंकि उन्नत प्रोग्रामर द्वारा, है ना? कभी कभी देखते हैं इन छोटे व्यवसायों, और वे बर्दाश्त नहीं कर सकता प्रोग्रामर की एक टीम किराया, लेकिन वे अभी भी स्टोर करने की जरूरत एक डेटाबेस में जानकारी। PhpMyAdmin की तरह कुछ किसी के लिए यह बहुत आसान बना देता है जो करने के लिए पहले क्रमादेशित कभी नहीं उठाओ और कैसे के साथ परिचित हो जाते हैं एक डाटाबेस के साथ काम करने के लिए। समस्या है, जबकि phpMyAdmin है यह सीखने के लिए एक शानदार उपकरण है डेटाबेस के बारे में, यह मैनुअल है। आप में लॉग इन करने के लिए जा रहे हैं यह और आदेशों और प्रकार निष्पादित मैन्युअल में बातें। और हम से पता के रूप में हमारे PHP वेब प्रोग्रामिंग पर उदाहरण के लिए, स्वयं करने के लिए हो रही है हमारी वेबसाइट पर बातें, हम एक गतिशील, सक्रिय उत्तरदायी चाहते हैं वेबसाइट, शायद नहीं सबसे अच्छा तरीका। हम करने के लिए एक रास्ता खोजने के लिए चाहते हैं शायद किसी भी तरह इस स्वचालित। और एसक्यूएल यह करने के लिए सक्षम हो जाएगा। इसलिए जब हम करने जा रहे हैं एसक्यूएल के साथ काम शुरू, हम पहली बार एक की आवश्यकता है डेटाबेस के साथ काम करने के लिए। एक डेटाबेस बनाना कुछ तुम शायद क्योंकि, phpMyAdmin में क्या होगा आप केवल एक बार ऐसा करने की आवश्यकता होगी और ऐसा करने के लिए वाक्य रचना एक बहुत अधिक सरल है। यह यह करने के लिए एक बहुत आसान है एक ग्राफिक यूजर इंटरफेस में एक आदेश के रूप में इसे टाइपिंग की तुलना में। आदेश एक छोटे से बोझिल प्राप्त कर सकते हैं। इसी तरह, एक तालिका बनाने के कर सकते हैं के रूप में अच्छी तरह से बोझिल काफी एक सा मिलता है। एक डेटाबेस बनाने की तरह है और इसलिए बातें और आप कर रहे हैं, जो एक मेज, बनाने शायद ही once-- क्या करने जा रहा तालिका के अनुसार एक बार, एक बार database-- प्रति उस में ऐसा करने के लिए ठीक है एक चित्रमय इंटरफेस। इस् प्रक्रिया में एक मेज, आप करेंगे बनाने यह भी सभी के निर्दिष्ट करने के लिए उस तालिका में हो जाएगा कि कॉलम। जानकारी का किस प्रकार करना आप तालिका में संग्रहीत करना चाहते हैं? हो सकता है कि एक उपयोगकर्ता का नाम और जन्म की तारीख पासवर्ड, उपयोगकर्ता आईडी नंबर, और हो सकता है शहर और राज्य, है ना? और हर बार हम एक उपयोगकर्ता को जोड़ना चाहते हैं डेटाबेस के लिए, हम सभी छह प्राप्त करना चाहते हैं जानकारी के उन टुकड़ों की। और हम जोड़कर करना है कि तालिका में पंक्तियों। इसलिए हम पहले एक डाटाबेस बनाने, फिर हम एक टेबल बनाए। बनाने के हिस्से के रूप में एक मेज, हम कहा जाता है हर स्तंभ निर्दिष्ट करने के लिए कि हम इस तालिका में चाहते हैं। और फिर हम शुरू के रूप में जोड़ने के लिए डेटाबेस के लिए जानकारी और डेटाबेस अधिक क्वेरी generally-- सिर्फ जोड़ने से नहीं, लेकिन सब कुछ हम do-- हम काम हो जाएगा एक है जो मेज, की पंक्तियों के साथ पूरे सेट से उपयोगकर्ता की जानकारी। इसलिए हर एसक्यूएल स्तंभ में सक्षम है एक विशेष डेटा प्रकार के डेटा पकड़े। इसलिए हम एक तरह से इस का सफाया पीएचपी में डेटा प्रकार का विचार है, लेकिन वे एसक्यूएल में वापस आए हैं। और डेटा प्रकार के एक बहुत कुछ है। यहाँ पर उनमें से सिर्फ 20 है, लेकिन यह भी उन सभी को नहीं है। इसलिए हम INTs-- तरह विचार किया है हम शायद जानते Integers-- कि इस स्तंभ पूर्णांकों पकड़ कर सकते हैं। और बदलाव कर रहे हैं thereon-- Smallint, TINYINT, MEDIUMINT, BIGINT। हो सकता है कि हम हमेशा के लिए चार काटने की जरूरत नहीं। शायद हम आठ बाइट्स की जरूरत है, और इसलिए हम पूर्णांकों पर इन बदलावों का उपयोग कर सकते हैं थोड़ा और अधिक अंतरिक्ष कुशल हो। हम, दशमलव संख्या क्या कर सकते हैं हम चल बिन्दु संख्या कर सकते हैं। ये बहुत समान हैं। कुछ मतभेद हैं, और यदि आप होगा ऊपर देखने की तरह गाइड की एसक्यूएल तरह, आप क्या देख सकते हैं मामूली मतभेदों को उन दोनों के बीच हैं। शायद हम संग्रहीत करना चाहते हैं तारीख और समय के बारे में जानकारी। शायद हम का ट्रैक रख रहे हैं उपयोगकर्ता हमारी वेबसाइट में शामिल हो गए, जब और तो शायद हम चाहते हैं है कि एक कॉलम के लिए एक तारीख या समय एक टाइमस्टैम्प कि जब उपयोगकर्ता वास्तव में इंगित करता है साइनअप किया। हम geometries और linestrings कर सकते हैं। यह वास्तव में बहुत अच्छा है। हम एक नक्शा बाहर कर सकता है का उपयोग कर भौगोलिक क्षेत्र जीआईएस एक क्षेत्र की साजिश करने के लिए समन्वय करता है। तो वास्तव में उस तरह स्टोर कर सकते हैं एक एसक्यूएल स्तंभ में जानकारी की। पाठ हो सकता है, पाठ का सिर्फ विशाल चारों है। Enums दिलचस्प की तरह कर रहे हैं। वे वास्तव में सी में मौजूद हैं, हम न करना वे नहीं कर रहे हैं क्योंकि उनके बारे में बात बहुत आमतौर पर कम से कम CS50 उपयोग किया था। लेकिन यह एक enumerated डेटा प्रकार है, जो सीमित मूल्यों धारण करने में सक्षम है। एक बहुत अच्छा उदाहरण यहाँ होगा एक इनम बनाने के लिए जहां सात संभव मूल्यों, रविवार, सोमवार रहे हैं मंगलवार बुधवार गुरुवार शुक्रवार, शनिवार, है ना? का यह डेटा प्रकार डे वीक मौजूद नहीं है, लेकिन हम एक बना सकता है प्रगणित डेटा प्रकार ऐसे उस स्तंभ केवल कभी पकड़ कर सकते हैं कि उन सात संभव मूल्यों में से एक। हम सभी को इस तरह से समझा दिया है संभव मूल्यों की। तो फिर हम चार और VARCHAR है, और मुझे लगता है कि इन हरे रंग है हम वास्तव में कर रहे हैं क्योंकि एक दूसरे को ले जा रहा अंतर के बारे में बात करने के लिए इन दो चीजों के बीच। तो चार, के विपरीत सी जहां चार एक ही चरित्र था, एसक्यूएल में एक चार को संदर्भित करता है एक निश्चित लंबाई स्ट्रिंग। और हम इस बनाते समय स्तंभ, हम वास्तव में स्ट्रिंग की लंबाई निर्दिष्ट कर सकते हैं। इस उदाहरण में तो, हम चार (10) कह सकते हैं। यही कारण है कि हर मतलब है कि उस स्तंभ के तत्व जानकारी के 10 बाइट्स से मिलकर करेंगे। न आधिक न कम। हम कोशिश करते हैं और एक 15 में डाल दिया तो अगर बिट या एक 15 चरित्र तत्व या इस स्तंभ में मूल्य, हम केवल पहले 10 मिल रहे हैं। हम दो में डाल दिया है चरित्र लंबे मूल्य, हम दो के लिए जा रहे हैं वर्ण, और उसके बाद आठ अशक्त काटता है। हम जानते हैं कि अधिक से अधिक कुशल होना कभी नहीं होगा। एक varchar की तरह की तरह है एक स्ट्रिंग के बारे में हमारी धारणा हम परिचित हैं कि सी से या पीएचपी से साथ। यह एक चर लंबाई स्ट्रिंग है। और अगर आप बनाते समय इस स्तंभ, तुम बस अधिकतम संभव लंबाई निर्दिष्ट करें। इसलिए हो सकता है 99, या आमतौर पर 255। यही कारण है कि अधिकतम लंबाई होगा। और अगर ऐसा हम भंडारण के थे 15 चरित्र स्ट्रिंग, हम शायद, 16 15 बाइट्स का प्रयोग करेंगे अशक्त टर्मिनेटर के लिए बाइट्स। हम भंडारण के थे तो एक तीन चरित्र स्ट्रिंग, हम तीन या चार बाइट्स का प्रयोग करेंगे। लेकिन हम पूर्ण 99 का उपयोग नहीं होता। तो क्यों न हम दोनों के लिए होता है? खैर, हम कैसे पता लगाने की जरूरत है, तो लंबे समय तक कुछ एक varchar के साथ है, हम पुनरावृति की तरह करने के लिए है यह सिर्फ तरह भर हम सी में किया था यह बंद हो जाता है, जहां और यह पता लगाने की। हम सब कुछ पता है कि जबकि अगर इस स्तंभ में हो सकता है, 10 बाइट्स है हम उस जानकारी पता है, हम कूद कर सकते हैं 10 बाइट्स, 10 बाइट्स, 10 बाइट्स, 10 बाइट्स, और हमेशा मिल स्ट्रिंग की शुरुआत। इसलिए हम कुछ हो सकता है एक चार के साथ अंतरिक्ष बर्बाद किया, लेकिन शायद वहाँ एक व्यापार है बेहतर गति होने के लिए रवाना डेटाबेस नेविगेट करने में। लेकिन हो सकता है कि हम चाहते हैं एक varchar के लचीलेपन बजाय having-- हमारे चार तो की 255 था, लेकिन हमारे उपयोगकर्ताओं के सबसे केवल तीन या चार बाइट्स inputting थे जानकारी या तीन या चार के लायक जानकारी के लायक अक्षर। लेकिन कुछ उपयोगकर्ताओं उपयोग कर रहे थे पूरे 255, हो सकता है VARCHAR वहाँ अधिक उपयुक्त होगा। यह एक व्यापार बंद की तरह है, और आम तौर पर CS50 के प्रयोजनों के लिए, आपके बारे में बहुत ज्यादा चिंता करने की जरूरत नहीं है आप एक चार या एक varchar का उपयोग करें। लेकिन असली दुनिया में, इन बातों इन स्तंभों की वजह से सभी बात करते हैं वास्तविक भौतिक स्थान ले। में और शारीरिक अंतरिक्ष, असली दुनिया, एक प्रीमियम पर आता है। एक अन्य विचार तो जब आप एक तालिका का निर्माण कर रहे हैं होने के लिए एक स्तंभ लेने के लिए है क्या एक प्राथमिक कुंजी कहा जाता है। और एक प्राथमिक कुंजी एक स्तंभ है जहां हर एक मूल्य अद्वितीय है। और वह है कि आप आसानी से कर सकते हैं इसका मतलब बस को देखकर एक ही पंक्ति बाहर लेने उस पंक्ति की प्राथमिक कुंजी पर। उदाहरण के लिए, आप आम तौर पर, उपयोगकर्ताओं के साथ दो उपयोगकर्ताओं को जो नहीं चाहते एक ही यूजर आईडी नंबर है। और तो शायद आपके पास जानकारी के बहुत सारे, और शायद दो उपयोगकर्ताओं कर सकते हैं एक ही name-- है आप जॉन स्मिथ और जॉन स्मिथ की है। यही कारण है, जरूरी नहीं कि एक समस्या नहीं है कई लोग कर रहे हैं, क्योंकि जॉन स्मिथ नाम दुनिया में। लेकिन हम केवल एक यूजर आईडी नंबर है 10, एक यूजर आईडी नंबर 11, 12, 13। हम दो उपयोगकर्ताओं की जरूरत नहीं है एक ही नंबर के साथ, और तो शायद उपयोगकर्ता आईडी नंबर एक अच्छा प्राथमिक कुंजी होगी। हम किसी भी दोहराव नहीं है, और अब हम विशिष्ट कर सकते हैं बस हर एक पंक्ति की पहचान उस स्तंभ को देखकर। वास्तव में प्राथमिक कुंजी कर सकते हैं का चयन बाद में मेज संचालन करना आप लाभ उठा सकते हैं क्योंकि एक बहुत आसान तथ्य यह है कि कुछ पंक्तियों होगा अनूठा, या एक निश्चित स्तंभ होना अपने डेटाबेस या मेज की लेने के लिए अद्वितीय होगा बाहर विशेष पंक्तियों। तुम भी एक संयुक्त प्राथमिक हो सकता है आप इस अवसर मिल सकता है, जो कुंजी सिर्फ एक है, जो उपयोग करने के लिए दो स्तंभों के संयोजन कि अद्वितीय होने की गारंटी है। तो शायद आप एक है के रूप में और बी एस कि स्तंभ, दो, एक है कि एक स्तंभ, और तीन, लेकिन आप केवल कभी होगा एक भी ए 1, एक ही है , और इतने पर और इतने पर ए 2। लेकिन अगर आप एक बी 2 हो सकता है, एक सी 2, या एक A1, A2, A3, A4। तो अगर आप बहु के रूप में, कई हो सकता है बी एस, कई लोगों को, कई twos, लेकिन आप केवल कभी एक हो सकता है एकल ए 1, बी 2, सी 3, और इतने पर। तो जैसा कि मैंने कहा, एसक्यूएल है एक प्रोग्रामिंग भाषा, लेकिन यह एक काफी सीमित शब्दावली है। यह काफी के रूप में प्रशस्त नहीं है सी और PHP और अन्य भाषाओं हम पाठ्यक्रम में बात करते हैं। यह अधिक वाचाल एक है हम क्या कर रहे हैं की तुलना में भाषा इस बारे में बात करने जा रहा वीडियो, क्योंकि इस वीडियो में हम इस बारे में बात करने जा रहे हैं चार ऑपरेशन हम उस एक मेज पर प्रदर्शन कर सकते हैं। इस से भी अधिक कर रहे हैं। हम इस से भी अधिक कर सकते हैं लेकिन हमारे प्रयोजनों के लिए, हम आम तौर पर उपयोग किया जा रहे हैं सिर्फ चार operations-- डालने, का चयन करें, अद्यतन, और हटा दें। और तुम शायद intuitively अनुमान लगा सकते हैं इन सब बातों के चार क्या करते हैं। लेकिन हम एक बिट में जाना होगा हर एक पर विस्तार से। इस के प्रयोजनों के लिए तो वीडियो, चलो मान लेते हैं हम दो निम्नलिखित है एक एकल डाटाबेस में टेबल। हम है कि एक मेज बुलाया उपयोगकर्ताओं है चार columns-- आईडी नंबर, उपयोगकर्ता नाम, पासवर्ड, और पूरा नाम। और हम एक दूसरे के लिए है एक ही डेटाबेस में तालिका सिर्फ जानकारी है कि स्टोर माताओं बुलाया एक उपयोगकर्ता नाम और माँ के बारे में। उदाहरण के सभी के लिए तो इस वीडियो में, हम करेंगे इस डेटाबेस का उपयोग किया और यह करने के लिए बाद में अद्यतन। तो चलो हम करने के लिए कहना चाहते हैं एक मेज के लिए जानकारी जोड़ें। उस डालने ऑपरेशन क्या करता है। के सभी समझाने में इन आदेशों, मैं जा रहा हूँ आप का उपयोग करने के लिए एक सामान्य कंकाल देने के लिए। मूल रूप से, प्रश्नों क्योंकि देखो बहुत समान जा रहे हैं, हम सिर्फ बदलते करने जा रहे हैं जानकारी के अलग टुकड़े तालिका के साथ अलग अलग बातें करने के लिए। डालने के लिए, कंकाल तो एक तरह से इस तरह दिखता है। हम में सम्मिलित करना चाहते हैं एक विशेष मेज। तो फिर हम एक खुला कोष्ठक है और स्तंभों की एक सूची हम में मूल्यों डाल करना चाहते हैं। बंद कोष्ठक, मूल्यों का अनुसरण करते हुए और उसके बाद फिर, हम मूल्यों को सूची से बाहर हम तालिका में डाल करना चाहते हैं। इस बात का तो एक उदाहरण निम्नलिखित होगा। मैं तालिका में सम्मिलित करना चाहते हैं उपयोगकर्ताओं को निम्नलिखित columns-- उपयोगकर्ता नाम, पासवर्ड, और FULLNAME। मैं डाल रहा हूँ, जहां एक नई पंक्ति तो हम कर रहे हैं और उन तीन स्तंभों में मूल्यों में डाला जा रहा न्यूमैन, USMAIL, और न्यूमैन। तो इस मामले में, मैं कर रहा हूँ लोअरकेस न्यूमैन डाल उपयोगकर्ता नाम स्तंभ में, पासवर्ड USMAIL, और पूरा नाम राजधानी एन FULLNAME स्तंभ में न्यूमैन। तो यहाँ क्या डेटाबेस है पहले की तरह देखा। यहाँ क्या प्रयोक्ताओं की मेज पर है शीर्ष हम इस किया था पहले की तरह देखा। हम इस पर अमल करने के बाद क्वेरी, हम यह मिलता है। हम तालिका करने के लिए एक नई पंक्ति जोड़ दिया है। लेकिन इस एक बात नोटिस , मैं यह नहीं बताया कि लेकिन किसी तरह मैं एक मूल्य मिल गया है के लिए, यहीं इस 12 जो है। मैं मैं चाहता था नहीं कहा था वहाँ में आईडी नंबर डाल दिया। मैं, उपयोगकर्ता नाम डाल करना चाहते थे पासवर्ड, FULLNAME। और मुझे लगता है कि ठीक है, ऐसा ही किया। लेकिन मैं भी इस 12 मिला है। मैं यह क्यों 12 से मिला? खैर, यह पता चला है कि जब आप परिभाषित कर रहे हैं होने जा रहा है कि एक स्तंभ अपने आमतौर पर है, जो प्राथमिक कुंजी, जैसे मैं एक आईडी नंबर, कहा। यह हमेशा जरूरी नहीं है एक आईडी नंबर होना करने के लिए जा रहा है, लेकिन यह आम तौर पर करने के लिए एक अच्छा विचार है पूर्णांक मान किसी प्रकार का होना। आप phpMyAdmin में एक विकल्प है जब आप अपने डेटाबेस का निर्माण कर रहे या अपने टेबल कि स्थापित करने के लिए ऑटो incrementing के रूप में कॉलम। जो एक बहुत अच्छा विचार है, जब आप एक प्राथमिक कुंजी के साथ काम कर रहे हैं, आप हर मूल्य चाहते हैं, क्योंकि उस स्तंभ में अद्वितीय हो। और आपके द्वारा निर्दिष्ट करने के लिए भूल जाते हैं एक से अधिक व्यक्ति के लिए यह, अब आप एक स्थिति जहां है उस कॉलम नहीं रह अद्वितीय है। आप दो कारतूस है, तो आप कोई कर सकते हैं अब विशिष्ट एक column-- की पहचान या आप अब विशिष्ट कर सकते हैं उस स्तंभ के आधार पर एक पंक्ति की पहचान। यह सब खो दिया है इसकी एक प्राथमिक कुंजी के रूप में मूल्य। और तो जाहिरा तौर पर मैं क्या किया है यहां यूजर आईडी कॉन्फ़िगर किया गया है ऑटो वेतन वृद्धि करने के लिए स्तंभ हर इतना है कि बार मैं तालिका में जानकारी जोड़ने यह स्वचालित रूप से मुझे दे देंगे प्राथमिक कुंजी के लिए एक मूल्य। इसलिए मुझे लगता है क्योंकि यह करने के लिए कभी नहीं भूल सकते हैं डेटाबेस मेरे लिए यह करना होगा। तो यह है कि एक तरह से अच्छा है। हम मिल क्यों और इसलिए है कि वहाँ में 12, मैं, क्योंकि ऑटो वेतन वृद्धि करने के लिए उस स्तंभ की स्थापना की। मैं किसी और को जोड़ा है मैंने कहा, अगर यह 13 होगी किसी और को यह इतने पर 14 होना चाहिए, और चाहते हैं। तो चलो बस एक और प्रविष्टि करते हैं। हम में, माताओं तालिका में डालने देंगे विशेष रूप से, यूज़रनेम और मां स्तंभ, मूल्यों क्रेमर और Babs क्रेमर। और इसलिए हम इस से पहले किया था। हम उस पर अमल करने के बाद एसक्यूएल क्वेरी, हम इस किया है। हम क्रेमर और Babs जोड़ दिया है माताओं की मेज पर क्रेमर। तो यह है कि डालने रहा है। चयन हम निकालने के लिए उपयोग क्या है तालिका से जानकारी। तो यह है कि हम कैसे मिलता है डेटाबेस से बाहर जानकारी। और तो चयन आदेशों होने जा रहे हैं बहुत बार प्रोग्रामिंग में इस्तेमाल किया। सामान्य framework-- सामान्य कंकाल इस तरह दिखता है। कॉलम का एक सेट से चयन करें एक मेज, और तब वैकल्पिक आप एक condition-- निर्दिष्ट कर सकते हैं या हम आम तौर पर एक विधेय क्या कहते हैं, आम तौर पर हम एसक्यूएल में उपयोग शब्द है। लेकिन यह मूल रूप क्या है विशेष पंक्तियों आप प्राप्त करना चाहते हैं। आप के लिए, बजाय हो रही करने के लिए चाहते हैं सब कुछ, इसे नीचे संकीर्ण यदि आप ऐसा होता है, जहां यह है। और फिर वैकल्पिक रूप से, आप भी कर सकते हैं एक विशेष स्तंभ द्वारा आदेश। इसलिए हो सकता है आप हल बातें है चाहता हूँ वर्णानुक्रम एक स्तंभ पर आधारित या वर्णानुक्रम दूसरे पर आधारित है। फिर, आदेश द्वारा वैकल्पिक हैं, जहां और। लेकिन वे शायद हो जाएगा useful-- विशेष रूप से कहां के लिए उपयोगी हो जाएगा आप नहीं है तो नीचे संकीर्ण वापस पूरा डेटाबेस पाने के लिए और यह प्रक्रिया है, तुम बस मिल यह के टुकड़े आप के बारे में परवाह है। तो उदाहरण के लिए, मैं चयन करने के लिए चाहते हो सकता है उपयोगकर्ताओं से आईडी नंबर और FULLNAME। तो क्या इस तरह लग सकता है? तो यहाँ मेरी उपयोगकर्ताओं को तालिका है। मैं idnum चयन करना चाहते हैं और उपयोगकर्ताओं से fullname। क्या मैं पाने के लिए जा रहा हूँ? मैं इसे पाने के लिए जा रहा हूँ। मैं इसे नीचे संकीर्ण नहीं था, इसलिए मैं कर रहा हूँ हर पंक्ति के लिए आईडी संख्या में हो रही और मैं पूरी हो रही है हर पंक्ति से नाम है। ठीक। क्या मैं पासवर्ड का चयन करना चाहते हैं WHERE-- तो अब उपयोगकर्ताओं से मैं एक शर्त जोड़ रहा हूँ, एक predicate-- idnum कम से कम 12 है, जहां। तो यहाँ मेरी डेटाबेस फिर से है, अपने उपयोगकर्ताओं को तालिका के शीर्ष। क्या मैं मैं करना चाहते हैं पाने के लिए जा रहा हूँ जानकारी है कि चयन, पासवर्ड, जहां यूजर आईडी या idnum 12 से कम है? मैं इसे पाने के लिए जा रहा हूँ जानकारी वापस, है ना? Idnum 10 है कि यह तब होता है, कम 12 से, आईडी नंबर 11 12 से कम है। मैं उन पंक्तियों के लिए पासवर्ड हो रही है। यही कारण है कि मैं के लिए कहा है। इस बारे में क्या? क्या मैं से स्टार का चयन करना चाहते हैं उपयोगकर्ता नाम जैरी के बराबर होती है, जहां माताओं की मेज? ठीक है, का चयन स्टार खास है वाइल्ड कार्ड की तरह तथाकथित हम सब कुछ पाने के लिए उपयोग करें। इसलिए वे चयन कह रहे हैं अल्पविराम मां, उपयोगकर्ता नाम जो केवल होने का क्या हुआ इस तालिका के दो कॉलम, मैं सिर्फ स्टार का चयन कर सकते हैं और सब कुछ मिलता है जहां उपयोगकर्ता नाम जैरी के बराबर होती है। और इतना है कि मैं क्या मिलेगा है मुझे लगता है कि विशेष क्वेरी बना दिया है। अब, डेटाबेस रहे हैं महान वे अनुमति देते हैं क्योंकि हमें शायद जानकारी को व्यवस्थित करने के लिए हम अधिक से अधिक कुशलता से एक सा अन्यथा हो सकता है। हम जरूरी स्टोर करने के लिए नहीं है जानकारी के हर प्रासंगिक टुकड़ा एक ही तालिका में एक उपयोगकर्ता के बारे में। हम वहाँ दो टेबल था। हम स्टोर करने की जरूरत हर किसी की माता का नाम, और हो सकता है कि हम सामाजिक सुरक्षा की जरूरत नहीं है संख्या, हम जन्म के अपने तिथि है। यही कारण है कि हमेशा की जरूरत नहीं है एक ही तालिका में किया जाना है। जब तक हम परिभाषित कर सकते हैं के रूप में tables-- के बीच संबंधों और कहा कि जहां कि रिलेशनल डेटाबेस अवधि तरह की बात आती है play-- जब तक हम परिभाषित कर सकते हैं के रूप में तालिकाओं के बीच संबंध, हम की तरह compartmentalize कर सकते हैं या सार बातें एक तरह से, हम केवल जहां वास्तव में महत्वपूर्ण जानकारी हम उपयोगकर्ता की तालिका में के बारे में परवाह है। और फिर हम सहायक जानकारी नहीं है अन्य तालिकाओं में या अतिरिक्त जानकारी हम मुख्य वापस करने के लिए कनेक्ट कर सकते हैं एक खास तरह से उपयोगकर्ताओं को तालिका। यहाँ तो हम इन दो टेबल है, लेकिन उन दोनों के बीच एक संबंध है, है ना? यह उपयोगकर्ता नाम की तरह लगता है कुछ हो सकता है कि बीच आम में मौजूद है इन दो अलग-अलग टेबल। तो क्या अब हम यदि एक स्थिति है जहाँ हम से एक उपयोगकर्ता का पूरा नाम प्राप्त करना चाहते हैं उपयोगकर्ता की मेज, और उनकी मां के मां की मेज से नाम? हम पाने के लिए एक रास्ता नहीं है यह सही है कि, के रूप में खड़ा? होता है कि कोई एकल तालिका नहीं है पूरा नाम और माता का नाम दोनों। हम उस विकल्प नहीं है हम अब तक क्या देखा है से। और इसलिए हम शुरू करने की है में शामिल एक का विचार है। और जोड़ों शायद रहे हैं सबसे complex-- यह वास्तव में सबसे अधिक जटिल ऑपरेशन है हम वीडियो में के बारे में बात करने के लिए जा रहे हैं। वे एक छोटे से जटिल हो लेकिन आप इसे भांप लेना एक बार, वे वास्तव में बहुत बुरा नहीं कर रहे हैं। यह सिर्फ एक का चयन की एक विशेष मामला है। हम का एक सेट का चयन करने के लिए जा रहे हैं में शामिल होने से एक टेबल से कॉलम कुछ विधेय पर एक दूसरे तालिका में। यह है- पसंद के बारे में इस मामले में, लगता है मेज से एक है, यहाँ पर एक चक्र है तालिका में दो यहाँ पर एक और चक्र है। और कहा कि विधेय हिस्सा बीच में, यह है एक तरह से अगर आपको लगता है की तरह के बारे में एक वेन आरेख के रूप में, क्या वे आम में है? हम इन दो टेबल लिंक करना चाहते हैं वे आम में है, उसके आधार पर और इस काल्पनिक टेबल बना कि एक साथ दोनों के विलय है। इसलिए हम एक में यह देखेंगे उदाहरण और हो सकता है कि मदद करेंगे एक छोटा सा यह स्पष्ट। तो शायद आप चयन करना चाहते हैं user.fullname और moms.mother में शामिल होने के उपयोगकर्ताओं से हर स्थिति में माताओं की मेज जहां उपयोगकर्ता नाम स्तंभ उन दोनों के बीच में ही है। और यह एक नया है यहाँ इस उपयोगकर्ता सिंटेक्स। और माताओं .. मैं एकाधिक तालिकाओं कर रहा हूँ तो एक साथ, मैं एक तालिका निर्दिष्ट कर सकते हैं। मैं विशेष पर में भेद कर सकते हैं कि वहाँ पर बहुत नीचे। मैं उपयोगकर्ता नाम भेद कर सकते हैं उपयोगकर्ताओं को तालिका के स्तंभ के उपयोगकर्ता नाम स्तंभ से माताओं मेज, otherwise-- जो कर रहे हैं हम सिर्फ उपयोगकर्ता नाम के बराबर होती है ने कहा कि अगर सच नहीं है कि उपयोगकर्ता नाम, मतलब कुछ भी। हम वे मैच जहां यह करना चाहते हैं। तो मैं मेज और निर्दिष्ट कर सकते हैं एक स्थिति के मामले में स्तंभ नाम जहां यह स्पष्ट नहीं किया जाएगा क्या मैं के बारे में बात कर रहा हूँ। कि मैं क्या कर रहा हूँ सब है तो मैं कर रहा हूँ वहाँ है इस तालिका से इस स्तंभ कह रही है, और बहुत ही स्पष्ट किया जा रहा है। तो फिर, मैं चयन कर रहा हूँ पूरा नाम और माता का नाम एक साथ जुड़े उपयोगकर्ताओं को तालिका से हर स्थिति में माताओं की मेज के साथ जहां वे कहते हैं कि column-- हिस्सा वे कहते हैं कि उपयोगकर्ता नाम धारणा का हिस्सा है। यहाँ तो हम पहले था टेबल रहे हैं। इस राज्य में होता है हमारी डेटाबेस में यह अभी मौजूद है। हम निकालने रहे हैं जानकारी साथ शुरू करने के लिए यह है। यह हम जा रहे हैं नया टेबल है एक साथ इन संयोजन बनाने के लिए। और हम पर प्रकाश डाला नहीं कर रहे हैं नोटिस उपयोगकर्ता की तालिका में न्यूमैन की पंक्ति, और हम पर प्रकाश डाला नहीं कर रहे हैं माताओं तालिका में क्रेमर की पंक्ति न तो एक में मौजूद है, क्योंकि दोनों दोनों तालिकाओं में sets--। आम में है कि केवल जानकारी उन दोनों के बीच जैरी दोनों तालिकाओं में है और gcostanza दोनों तालिकाओं में है। जब हम करते हैं और इसलिए एसक्यूएल में शामिल होने के लिए क्या हम get-- और हम इस मिल को वास्तव में कर रही है। यह एक अस्थायी चर की तरह है। यह एक काल्पनिक तरह है दो तालिकाओं के विलय। हम वास्तव में कुछ पाने के इस तरह, जहां हम पर टेबल एक साथ विलय कर दिया गया है, वे आम में है कि जानकारी। तो यह है कि users.username नोटिस और moms.username स्तंभ, यह बिल्कुल वैसा ही है। यही जानकारी थी कि उपयोगकर्ताओं से अनुरूप था मेज और माताओं मेज। और इसलिए हम उन्हें एक साथ विलय कर दिया। हम क्रेमर खारिज कर दिया क्योंकि वह उपयोगकर्ताओं को तालिका में मौजूद नहीं था, और हम, क्योंकि न्यूमैन त्याग वह माताओं तालिका में मौजूद नहीं था। तो इस काल्पनिक विलय है चयन के शामिल होने के आपरेशन का उपयोग। और फिर हम देख रहे थे उपयोगकर्ता का पूरा नाम और उपयोगकर्ता की मां और इसलिए इस जानकारी है कि हम समग्र क्वेरी से मिलेगा हम चुनें के साथ किया जाता है। तो हम एक साथ टेबल में शामिल हो गए और हम उन दो कॉलम निकाले, और इतना है कि हम क्या मिलेगा है। लेकिन एसक्यूएल जटिल का एक प्रकार में मिलती है। तुम्हें शायद उन्हें बहुत ज्यादा काम नहीं चलेगा लेकिन सिर्फ कंकाल का कुछ पता नहीं है आप दो विलय करने के लिए इस्तेमाल कर सकते हैं आप के लिए आवश्यक एक साथ यदि टेबल। पिछले दो हैं एक थोड़ा सरल मैं वादा करता हूँ। तो अद्यतन करने, हम अद्यतन का उपयोग कर सकते हैं एक तालिका में जानकारी बदलने के लिए। सामान्य स्वरूप है अद्यतन कुछ टेबल, कुछ मूल्य के लिए कुछ कॉलम सेट जहां कुछ विधेय संतुष्ट है। तो उदाहरण के लिए, हम चाहते हो सकता है उपयोगकर्ताओं को तालिका अद्यतन करने के लिए और बेकार के लिए पासवर्ड सेट आईडी संख्या 10 है, जहां बेकार,। तो इस मामले में, हम कर रहे हैं उपयोगकर्ताओं को तालिका अद्यतन। आईडी नंबर के लिए 10 वहाँ कि पहली पंक्ति, और हम अद्यतन करना चाहते हैं बेकार बेकार करने के लिए पासवर्ड। और इतना है कि क्या होगा है। यह ठीक है, बहुत सीधा है? यह सिर्फ एक बहुत ही सरल है मेज पर संशोधन। हम करने के लिए इस्तेमाल आपरेशन हटाएं एक टेबल से जानकारी हटा दें। तालिका कहां से हटाएं कुछ विधेय संतुष्ट है। हम से हटाना चाहते हैं उदाहरण के लिए उपयोगकर्ताओं को तालिका जहां उपयोगकर्ता नाम न्यूमैन है। आप शायद करने के लिए क्या हो रहा है अनुमान लगा सकते हैं हम उस एसक्यूएल पर अमल के बाद यहां भी हो क्वेरी, न्यूमैन मेज से चला गया है। इसलिए इन सभी आपरेशनों, मैंने कहा गया है, के रूप में phpMyAdmin में क्या करना बहुत आसान है। यह एक बहुत उपयोगकर्ता के अनुकूल इंटरफेस है। लेकिन यह मैनुअल प्रयास की आवश्यकता है। हम पुस्तिका प्रयास को रोजगार के लिए नहीं करना चाहती। हम अपने कार्यक्रमों करना चाहते हैं ठीक है, हमारे लिए ऐसा करते हैं? तो हम क्या करना चाहते हो सकता है इस प्रोग्राम के। हम एसक्यूएल को शामिल करना चाहते हैं और है कुछ और हमारे लिए यह करने के लिए। लेकिन क्या हम अनुमति देता है कि देखा है हमें प्रोग्राम के कुछ करने के लिए? हम सही, पीएचपी देखा है? यह कुछ का परिचय हमारे कार्यक्रमों में गतिशीलता। और तो सौभाग्य से, एसक्यूएल और पीएचपी एक साथ बहुत अच्छी तरह से खेलते हैं। PHP में एक समारोह नहीं है इस्तेमाल किया जा सकता है, जो कहा जाता है, क्वेरी,। और आप के रूप में पारित कर सकते हैं पैरामीटर या तर्क एक एसक्यूएल क्वेरी क्वेरी करने के लिए कि आप पर अमल करना चाहते हैं। और पीएचपी अपनी ओर से यह करना होगा। आप जुड़े करने के बाद तो PHP के साथ अपने डेटाबेस के लिए, यदि आप इस करते दो प्राइमरी नहीं है। कुछ कहा mysqli नहीं है और कुछ पीडीओ बुलाया। हम एक विशाल में नहीं जाना होगा वहाँ राशि विस्तार। CS50 में हम पीडीओ का उपयोग करें। आप जुड़े करने के बाद अपने डेटाबेस के लिए, आप तो प्रश्नों अपने डेटाबेस बना सकते हैं तर्क के रूप में प्रश्नों से गुजर रहा पीएचपी कार्य करने के लिए। आप ऐसा कर और, जब आप की दुकान एक साहचर्य सरणी में सेट नतीजा है। और हम साथ काम करने के लिए कैसे पता पीएचपी में साहचर्य arrays। तो मैं कुछ कह सकते हैं की तरह है- $ results-- PHP-- क्वेरी के बराबर होती है में यह है। और फिर अंदर की तर्क है कि क्वेरी समारोह मैं क्वेरी करने के लिए गुजर रहा हूँ कि कि एसक्यूएल की तरह लग रहा है। और वास्तव में एसक्यूएल है कि। यही कारण है कि मैं होता क्वेरी स्ट्रिंग है अपने डेटाबेस पर अमल करने के लिए पसंद करते हैं। और तो लाल रंग में, इस पीएचपी है। यह मैं हूँ कि एसक्यूएल है बनाकर पीएचपी में एकीकृत यह क्वेरी समारोह के लिए तर्क। मैं से fullname चयन करना चाहते हैं आईडी नंबर 10 के बराबर होती है, जहां उपयोगकर्ता। और फिर मैंने किया है कि हो सकता है के बाद, मैं कुछ इस तरह कह सकते हैं। मैं बाहर मुद्रित करना चाहते हैं में प्रवेश के लिए संदेश धन्यवाद। और मुझे लगता है मैं चाहता हूँ कि यह interpolate-- चाहते हैं $ परिणाम FULLNAME बैठाना। और इतना है कि मैं उस के साथ कैसे काम करते हैं मैं वापस आ गया है कि साहचर्य सरणी। $ परिणाम FULLNAME होगा मूल रूप से बाहर मुद्रण खत्म होता है, में जैरी Seinfeld प्रवेश करने के लिए धन्यवाद। यही कारण है कि पूरा नाम था जहां idnum 10 के बराबर होती है। और इतना सब मैं कर रहा हूँ मैं now-- मैं संग्रहीत कर रहा हूँ है मेरा प्रश्न है, मेरे क्वेरी के परिणाम और एक साहचर्य सरणी में परिणाम है, और FULLNAME का नाम है मैं के लिए हो रही थी स्तंभ। तो यह है कि परिणामों में मेरी चाबी है मैं चाहता हूँ कि साहचर्य सरणी। तो धन्यवाद में प्रवेश करने के लिए, $ परिणाम, FULLNAME रहना होगा, बाहर प्रिंट होगा सही उन घुंघराले के बीच में ब्रेसिज़, जैरी Seinfeld। और मैं बाहर संदेश मुद्रित करने के लिए पसंद करेंगे जैरी Seinfeld में प्रवेश करने के लिए धन्यवाद। अब, हम शायद मुश्किल नहीं करना चाहते हैं उस में की तरह कोड बातें, है ना? हम प्रिंट की तरह कुछ करना चाहते हो सकता है हम स्थानापन्न और शायद कर सकते हैं जहां च, विभिन्न जानकारी एकत्रित करते हैं, या हो सकता है क्वेरी प्रक्रिया है अलग जानकारी। और तो क्वेरी, क्वेरी कार्य किया है प्रतिस्थापन की तरह इस धारणा प्रतिशत एफ मुद्रित करने के लिए बहुत समान और प्रतिशत ग, प्रश्न चिह्न है। और हम सवाल उपयोग कर सकते हैं निशान बहुत तुलनात्मक स्थानापन्न चर के च मुद्रित करने के लिए। इसलिए हो सकता है आपका उपयोगकर्ता पहले में लॉग इन, और आप उनके यूजर आईडी नंबर को बचाया पीएचपी सुपर के $ देखना में कुंजी आईडी में वैश्विक। वे में लॉग इन तो शायद के बाद, आप, आईडी 10 के बराबर होती है $ देखना सेट उदाहरण से extrapolating हम सिर्फ एक दूसरे पहले देखा था। और इसलिए हम वास्तव में अमल जब यही नहीं, अब परिणाम क्वेरी यह 10 में प्लग, या जो कुछ भी होता है $ देखना आईडी मूल्य है। और इतना है कि करने के लिए हमें की अनुमति देता है थोड़ा और अधिक गतिशील हो। हम कड़ी में अब बातें कोडिंग नहीं कर रहे हैं। हम सूचना बचत कर रहे हैं कहीं और उसके बाद हम करने के लिए फिर उस जानकारी का उपयोग कर सकते हैं एक तरह से हम क्या करना चाहते हैं सामान्यीकरण, और सिर्फ प्लग में और परिवर्तन हमारे पेज का व्यवहार क्या उपयोगकर्ता की पहचान संख्या के आधार पर वे में लॉग इन करने के बाद वास्तव में है। यह, हालांकि, यह भी संभव है अपने परिणामों की स्थापना की है कि एकाधिक पंक्तियों से मिलकर सकता है। जो मामले में, आपके पास arrays-- की एक सरणी साहचर्य arrays की एक सरणी। और तुम बस के माध्यम से पुनरावृति करने की जरूरत है। और हम पुनरावृति करने के लिए पता PHP में एक सरणी के माध्यम से, है ना? यहाँ तो शायद सबसे अधिक है हम अब तक देखा है जटिल चीज है। यह वास्तव में एकीकृत करता है एक साथ तीन भाषाओं। यहाँ लाल रंग में, यह कुछ HTML है। मैं जाहिरा तौर पर यह है starting-- रहा हूँ मुझे लगता है कि कुछ HTML का एक टुकड़ा। मैं एक नया पैरा कि शुरू कर रहा हूँ टीवी के Seinfeld की माताओं कहते हैं। और फिर तुरंत बाद मैं एक मेज शुरू कर रहा हूँ। और फिर उसके बाद, मैं ठीक है, कुछ पीएचपी है? मैं वहाँ में इस PHP कोड के सभी है। मैं जाहिरा तौर पर एक क्वेरी बनाने जा रहा हूँ। और क्वेरी बनाने के लिए, मैं करने जा रहा हूँ माताओं से चयन माताओं का उपयोग किया। तो यह इस एसक्यूएल है getting-- है। तो नीले एसक्यूएल है। हम एक दूसरे के पहले देखा था लाल एचटीएमएल था। और यहाँ हरी पीएचपी है। तो मैं एक प्रश्न कर रहा हूँ अपने डेटाबेस के लिए, मैं कर रहा हूँ के सभी का चयन माताओं तालिका में माताओं। सिर्फ विशेष करने के लिए इसे नीचे कम नहीं पंक्ति, मैं उन सभी के लिए पूछ रहा हूँ। परिणाम है तो मैं जांच नहीं के बराबर होती है झूठी बराबर होती है। इस तरह की जाँच का सिर्फ मेरा तरीका है परिणाम शून्य के बराबर नहीं है की यदि, हम उदाहरण के लिए ग देखना होगा कि। असल में यह सिर्फ बनाने के लिए जाँच कर रहा है यह वास्तव में डेटा वापस मिल गया है सुनिश्चित करें। मैं छपाई शुरू नहीं करना चाहते क्योंकि डेटा बाहर मैं किसी भी डेटा नहीं मिला है। फिर एक परिणाम के रूप में प्रत्येक परिणाम के लिए पीएचपी से foreach वाक्य रचना, सब मैं कर रहा हूँ $ परिणाम माताओं बाहर मुद्रण है। और इसलिए मैं एक सेट प्राप्त करने के लिए जा रहा हूँ each-- की माताओं के सभी की यह साहचर्य की एक सरणी है arrays-- और मैं बाहर मुद्रण कर रहा हूँ एक मेज के अपने स्वयं के पंक्ति के रूप में हर एक। और कहा कि वास्तव में सुंदर है ज्यादा सब वहाँ यह है। मैं एक छोटे से पता है वहाँ बिट यहाँ पर जा रहा की सरणियों के साथ यह पिछले उदाहरण में साहचर्य arrays की सरणियों arrays--। लेकिन यह वास्तव में सिर्फ फोड़ा करता एक क्वेरी बनाने के लिए एसक्यूएल में नीचे, हम पहले से ही के बाद आमतौर पर का चयन तालिका में जानकारी रखना, और फिर बस इसे बाहर खींच रहा है। और यह है कि हम यह पुल होता है इस विशेष मामले में बाहर। हम व्यक्ति के सभी निकालने होगा माताओं की मेज से माताओं। हम उनमें से एक पूरे सेट मिला है, और हम के माध्यम से पुनरावृति और बाहर मुद्रित करना चाहते हैं प्रत्येक। तो फिर, यह शायद है सबसे जटिल उदाहरण हम तीन मिश्रण कर रहे हैं क्योंकि हमने देखा है अलग-अलग भाषाओं में एक साथ, है ना? फिर, हम यहां लाल रंग में HTML है, नीले रंग में यहाँ कुछ एसक्यूएल के साथ मिश्रित, हरे रंग में कुछ PHP के साथ मिलाया। लेकिन इन सभी को खेलने के अच्छी तरह से एक साथ, यह है विकसित होने का सिर्फ एक मामला अच्छी आदतें आपको मिल सकता है इतना है कि उन्हें आप चाहते हैं जिस तरह एक साथ काम करने के लिए। और एक ही रास्ता है कि वास्तव में क्या करने के लिए अभ्यास, अभ्यास, अभ्यास करने के लिए है। मैं डौग लॉयड हूँ, इस CS50 है।