1 00:00:00,000 --> 00:00:03,493 >> [संगीत बजाना] 2 00:00:03,493 --> 00:00:04,934 3 00:00:04,934 --> 00:00:07,100 डौग लॉयड: हमारे वीडियो में वेब विकास विषयों पर, 4 00:00:07,100 --> 00:00:10,560 हम की अवधारणा का उल्लेख किया है सही एक डाटाबेस एक बार कुछ? 5 00:00:10,560 --> 00:00:12,700 तो एक डेटाबेस आप कर रहे हैं से साथ शायद परिचित 6 00:00:12,700 --> 00:00:15,780 माइक्रोसॉफ्ट एक्सेल का उपयोग कहना या गूगल स्प्रेडशीट्स। 7 00:00:15,780 --> 00:00:20,650 यह वास्तव में सिर्फ एक संगठित है टेबल, पंक्तियों और स्तंभों की स्थापना की। 8 00:00:20,650 --> 00:00:23,140 >> और एक डेटाबेस जहां है हमारी वेबसाइट के भंडार 9 00:00:23,140 --> 00:00:26,760 महत्वपूर्ण है कि जानकारी हमारी वेबसाइट के लिए ठीक से काम करने के लिए। 10 00:00:26,760 --> 00:00:30,150 फिर, एक वास्तव में आम उदाहरण यहां उपयोगकर्ता नाम और पासवर्ड जमा कर रहा है 11 00:00:30,150 --> 00:00:32,824 एक डेटाबेस में है, इसलिए जब कि हमारी वेबसाइट में एक उपयोगकर्ता के लॉग, 12 00:00:32,824 --> 00:00:36,690 डेटाबेस देखने के लिए पूछे जा सकते हैं कि उपयोगकर्ता डेटाबेस में मौजूद है। 13 00:00:36,690 --> 00:00:39,260 वे कर रहे हैं, कि जाँच उनके पासवर्ड सही है। 14 00:00:39,260 --> 00:00:43,420 और उनके पासवर्ड सही है, फिर हम जो कुछ पेज उन्हें दे सकते हैं 15 00:00:43,420 --> 00:00:45,370 वे अनुरोध कर रहे हैं। 16 00:00:45,370 --> 00:00:48,590 >> तो क्या आप फिर, शायद, परिचित हो एक्सेल या गूगल से इस विचार के साथ 17 00:00:48,590 --> 00:00:49,430 स्प्रेडशीट्स। 18 00:00:49,430 --> 00:00:52,980 हम डेटाबेस है, टेबल, पंक्तियों और स्तंभों। 19 00:00:52,980 --> 00:00:56,450 और कहा कि वास्तव प्रकार है मौलिक सेट की 20 00:00:56,450 --> 00:00:58,470 यहाँ श्रेणीबद्ध टूटने की। 21 00:00:58,470 --> 00:00:59,800 तो यहाँ एक एक्सेल स्प्रेडशीट है। 22 00:00:59,800 --> 00:01:02,640 और अगर तुम कभी खोल लिया है, तो या अन्य इसी तरह के कार्यक्रम 23 00:01:02,640 --> 00:01:06,780 आप इन यहां जानते हैं कि rows-- 1, 2, 3, 4, 5, 6, 7। 24 00:01:06,780 --> 00:01:08,760 ये कॉलम हैं। 25 00:01:08,760 --> 00:01:11,790 >> हो सकता है कि यहाँ नीचे, आप कर सकते हैं, हालांकि बहुत much-- इस सुविधा का उपयोग नहीं 26 00:01:11,790 --> 00:01:15,370 मैं हमारे पास in-- ज़ूम करेंगे एक चादर के इस विचार। 27 00:01:15,370 --> 00:01:17,930 इसलिए हो सकता है कि इन चादरों, यदि मैं आगे और पीछे वैकल्पिक 28 00:01:17,930 --> 00:01:21,600 विभिन्न तालिकाओं हैं कि अपने डेटाबेस में मौजूद हैं। 29 00:01:21,600 --> 00:01:25,210 और हम उदाहरण सभी के लिए जारी अगर वैसे भी, इस डेटाबेस का नाम 30 00:01:25,210 --> 00:01:26,940 1 बुक है। 31 00:01:26,940 --> 00:01:28,710 शायद मैं पुस्तक 2 और 3 बुक है। 32 00:01:28,710 --> 00:01:33,270 इसलिए प्रत्येक एक्सेल फाइल है एक डेटाबेस, प्रत्येक शीट एक मेज है, 33 00:01:33,270 --> 00:01:39,530 और प्रत्येक मेज के अंदर मेरे पास है पंक्तियों और स्तंभों के इस विचार। 34 00:01:39,530 --> 00:01:41,900 >> तो कैसे मैं इस डेटाबेस के साथ काम करते हैं? 35 00:01:41,900 --> 00:01:43,630 कैसे मैं इसे से जानकारी प्राप्त करते हैं? 36 00:01:43,630 --> 00:01:47,540 खैर नामक एक भाषा नहीं है, SQL-- मैं आमतौर पर सिर्फ Sequel-- जो फोन 37 00:01:47,540 --> 00:01:50,010 और इसके लिए खड़ा है स्ट्रक्चर्ड क्वेरी लैंग्वेज। 38 00:01:50,010 --> 00:01:52,981 और यह एक प्रोग्रामिंग भाषा है, लेकिन यह एक काफी सीमित प्रोग्रामिंग है 39 00:01:52,981 --> 00:01:53,480 भाषा। 40 00:01:53,480 --> 00:01:56,407 यह काफी दूसरों की तरह नहीं है कि हम साथ काम किया है। 41 00:01:56,407 --> 00:01:58,240 लेकिन इस का उद्देश्य प्रोग्रामिंग भाषा 42 00:01:58,240 --> 00:02:01,570 करने के लिए, एक डेटाबेस क्वेरी के लिए है एक डेटाबेस की जानकारी से पूछते हैं, 43 00:02:01,570 --> 00:02:04,480 एक में जानकारी मिल डेटाबेस, और इतने पर। 44 00:02:04,480 --> 00:02:08,449 >> हम यह भी CS50-- में है और यह एक बहुत है साझा मंच, यह MySQL कहा जाता है। 45 00:02:08,449 --> 00:02:10,600 यही कारण है कि हम पाठ्यक्रम में क्या उपयोग है। 46 00:02:10,600 --> 00:02:12,880 यह एक खुला स्रोत है स्थापित करता है कि मंच 47 00:02:12,880 --> 00:02:16,732 एक तथाकथित रिलेशनल database-- एक डाटाबेस, प्रभावी ढंग से। 48 00:02:16,732 --> 00:02:18,440 हम प्राप्त करने की आवश्यकता नहीं है बहुत अधिक विस्तार में 49 00:02:18,440 --> 00:02:20,930 पर क्या एक संबंधपरक डेटाबेस है। 50 00:02:20,930 --> 00:02:24,650 लेकिन एसक्यूएल भाषा है काम करने में बहुत माहिर 51 00:02:24,650 --> 00:02:29,760 MySQL और इसी तरह के दूसरे के साथ रिलेशनल डेटाबेस की शैलियों। 52 00:02:29,760 --> 00:02:34,010 >> और कई प्रतिष्ठानों कुछ के साथ MySQL आ 53 00:02:34,010 --> 00:02:37,760 कहा जाता phpMyAdmin, जो एक ग्राफिकल यूजर है 54 00:02:37,760 --> 00:02:40,970 एक GUI-- interface-- कि यह एक छोटे से अधिक बनाता है 55 00:02:40,970 --> 00:02:44,410 निष्पादित करने के लिए अनुकूल उपयोगकर्ता डेटाबेस प्रश्नों, 56 00:02:44,410 --> 00:02:48,980 डेटाबेस सिर्फ इस्तेमाल नहीं कर रहे हैं, क्योंकि उन्नत प्रोग्रामर द्वारा, है ना? 57 00:02:48,980 --> 00:02:51,510 कभी कभी देखते हैं इन छोटे व्यवसायों, 58 00:02:51,510 --> 00:02:53,900 और वे बर्दाश्त नहीं कर सकता प्रोग्रामर की एक टीम किराया, 59 00:02:53,900 --> 00:02:56,700 लेकिन वे अभी भी स्टोर करने की जरूरत एक डेटाबेस में जानकारी। 60 00:02:56,700 --> 00:02:59,300 >> PhpMyAdmin की तरह कुछ किसी के लिए यह बहुत आसान बना देता है 61 00:02:59,300 --> 00:03:03,630 जो करने के लिए पहले क्रमादेशित कभी नहीं उठाओ और कैसे के साथ परिचित हो जाते हैं 62 00:03:03,630 --> 00:03:07,710 एक डाटाबेस के साथ काम करने के लिए। 63 00:03:07,710 --> 00:03:11,800 समस्या है, जबकि phpMyAdmin है यह सीखने के लिए एक शानदार उपकरण है 64 00:03:11,800 --> 00:03:14,850 डेटाबेस के बारे में, यह मैनुअल है। 65 00:03:14,850 --> 00:03:18,050 आप में लॉग इन करने के लिए जा रहे हैं यह और आदेशों और प्रकार निष्पादित 66 00:03:18,050 --> 00:03:19,910 मैन्युअल में बातें। 67 00:03:19,910 --> 00:03:23,160 >> और हम से पता के रूप में हमारे PHP वेब प्रोग्रामिंग पर उदाहरण के लिए, 68 00:03:23,160 --> 00:03:26,550 स्वयं करने के लिए हो रही है हमारी वेबसाइट पर बातें, 69 00:03:26,550 --> 00:03:30,970 हम एक गतिशील, सक्रिय उत्तरदायी चाहते हैं वेबसाइट, शायद नहीं सबसे अच्छा तरीका। 70 00:03:30,970 --> 00:03:33,980 हम करने के लिए एक रास्ता खोजने के लिए चाहते हैं शायद किसी भी तरह इस स्वचालित। 71 00:03:33,980 --> 00:03:37,864 और एसक्यूएल यह करने के लिए सक्षम हो जाएगा। 72 00:03:37,864 --> 00:03:39,780 इसलिए जब हम करने जा रहे हैं एसक्यूएल के साथ काम शुरू, 73 00:03:39,780 --> 00:03:41,220 हम पहली बार एक की आवश्यकता है डेटाबेस के साथ काम करने के लिए। 74 00:03:41,220 --> 00:03:42,510 एक डेटाबेस बनाना कुछ तुम शायद 75 00:03:42,510 --> 00:03:45,350 क्योंकि, phpMyAdmin में क्या होगा आप केवल एक बार ऐसा करने की आवश्यकता होगी 76 00:03:45,350 --> 00:03:49,690 और ऐसा करने के लिए वाक्य रचना एक बहुत अधिक सरल है। 77 00:03:49,690 --> 00:03:51,940 यह यह करने के लिए एक बहुत आसान है एक ग्राफिक यूजर इंटरफेस में 78 00:03:51,940 --> 00:03:53,520 एक आदेश के रूप में इसे टाइपिंग की तुलना में। 79 00:03:53,520 --> 00:03:55,186 आदेश एक छोटे से बोझिल प्राप्त कर सकते हैं। 80 00:03:55,186 --> 00:03:58,889 इसी तरह, एक तालिका बनाने के कर सकते हैं के रूप में अच्छी तरह से बोझिल काफी एक सा मिलता है। 81 00:03:58,889 --> 00:04:01,930 एक डेटाबेस बनाने की तरह है और इसलिए बातें और आप कर रहे हैं, जो एक मेज, बनाने 82 00:04:01,930 --> 00:04:06,270 शायद ही once-- क्या करने जा रहा तालिका के अनुसार एक बार, एक बार database-- प्रति 83 00:04:06,270 --> 00:04:09,040 उस में ऐसा करने के लिए ठीक है एक चित्रमय इंटरफेस। 84 00:04:09,040 --> 00:04:11,570 इस् प्रक्रिया में एक मेज, आप करेंगे बनाने 85 00:04:11,570 --> 00:04:14,840 यह भी सभी के निर्दिष्ट करने के लिए उस तालिका में हो जाएगा कि कॉलम। 86 00:04:14,840 --> 00:04:18,149 जानकारी का किस प्रकार करना आप तालिका में संग्रहीत करना चाहते हैं? 87 00:04:18,149 --> 00:04:24,520 हो सकता है कि एक उपयोगकर्ता का नाम और जन्म की तारीख पासवर्ड, उपयोगकर्ता आईडी नंबर, और हो सकता है 88 00:04:24,520 --> 00:04:26,170 शहर और राज्य, है ना? 89 00:04:26,170 --> 00:04:30,080 >> और हर बार हम एक उपयोगकर्ता को जोड़ना चाहते हैं डेटाबेस के लिए, हम सभी छह प्राप्त करना चाहते हैं 90 00:04:30,080 --> 00:04:31,890 जानकारी के उन टुकड़ों की। 91 00:04:31,890 --> 00:04:34,840 और हम जोड़कर करना है कि तालिका में पंक्तियों। 92 00:04:34,840 --> 00:04:37,800 इसलिए हम पहले एक डाटाबेस बनाने, फिर हम एक टेबल बनाए। 93 00:04:37,800 --> 00:04:40,100 बनाने के हिस्से के रूप में एक मेज, हम कहा जाता है 94 00:04:40,100 --> 00:04:44,280 हर स्तंभ निर्दिष्ट करने के लिए कि हम इस तालिका में चाहते हैं। 95 00:04:44,280 --> 00:04:47,247 और फिर हम शुरू के रूप में जोड़ने के लिए डेटाबेस के लिए जानकारी 96 00:04:47,247 --> 00:04:49,580 और डेटाबेस अधिक क्वेरी generally-- सिर्फ जोड़ने से नहीं, 97 00:04:49,580 --> 00:04:51,610 लेकिन सब कुछ हम do-- हम काम हो जाएगा 98 00:04:51,610 --> 00:04:58,870 एक है जो मेज, की पंक्तियों के साथ पूरे सेट से उपयोगकर्ता की जानकारी। 99 00:04:58,870 --> 00:05:03,210 >> इसलिए हर एसक्यूएल स्तंभ में सक्षम है एक विशेष डेटा प्रकार के डेटा पकड़े। 100 00:05:03,210 --> 00:05:06,560 इसलिए हम एक तरह से इस का सफाया पीएचपी में डेटा प्रकार का विचार है, 101 00:05:06,560 --> 00:05:08,747 लेकिन वे एसक्यूएल में वापस आए हैं। 102 00:05:08,747 --> 00:05:10,080 और डेटा प्रकार के एक बहुत कुछ है। 103 00:05:10,080 --> 00:05:13,420 यहाँ पर उनमें से सिर्फ 20 है, लेकिन यह भी उन सभी को नहीं है। 104 00:05:13,420 --> 00:05:16,240 इसलिए हम INTs-- तरह विचार किया है हम शायद जानते Integers-- 105 00:05:16,240 --> 00:05:17,760 कि इस स्तंभ पूर्णांकों पकड़ कर सकते हैं। 106 00:05:17,760 --> 00:05:21,077 और बदलाव कर रहे हैं thereon-- Smallint, TINYINT, MEDIUMINT, BIGINT। 107 00:05:21,077 --> 00:05:22,660 हो सकता है कि हम हमेशा के लिए चार काटने की जरूरत नहीं। 108 00:05:22,660 --> 00:05:26,800 शायद हम आठ बाइट्स की जरूरत है, और इसलिए हम पूर्णांकों पर इन बदलावों का उपयोग कर सकते हैं 109 00:05:26,800 --> 00:05:28,510 थोड़ा और अधिक अंतरिक्ष कुशल हो। 110 00:05:28,510 --> 00:05:31,899 हम, दशमलव संख्या क्या कर सकते हैं हम चल बिन्दु संख्या कर सकते हैं। 111 00:05:31,899 --> 00:05:32,940 ये बहुत समान हैं। 112 00:05:32,940 --> 00:05:34,773 कुछ मतभेद हैं, और यदि आप होगा 113 00:05:34,773 --> 00:05:37,330 ऊपर देखने की तरह गाइड की एसक्यूएल तरह, आप 114 00:05:37,330 --> 00:05:40,670 क्या देख सकते हैं मामूली मतभेदों को उन दोनों के बीच हैं। 115 00:05:40,670 --> 00:05:43,250 >> शायद हम संग्रहीत करना चाहते हैं तारीख और समय के बारे में जानकारी। 116 00:05:43,250 --> 00:05:47,047 शायद हम का ट्रैक रख रहे हैं उपयोगकर्ता हमारी वेबसाइट में शामिल हो गए, जब 117 00:05:47,047 --> 00:05:48,880 और तो शायद हम चाहते हैं है कि एक कॉलम के लिए 118 00:05:48,880 --> 00:05:52,820 एक तारीख या समय एक टाइमस्टैम्प कि जब उपयोगकर्ता वास्तव में इंगित करता है 119 00:05:52,820 --> 00:05:54,130 साइनअप किया। 120 00:05:54,130 --> 00:05:56,132 हम geometries और linestrings कर सकते हैं। 121 00:05:56,132 --> 00:05:57,340 यह वास्तव में बहुत अच्छा है। 122 00:05:57,340 --> 00:06:01,410 हम एक नक्शा बाहर कर सकता है का उपयोग कर भौगोलिक क्षेत्र 123 00:06:01,410 --> 00:06:05,110 जीआईएस एक क्षेत्र की साजिश करने के लिए समन्वय करता है। 124 00:06:05,110 --> 00:06:08,580 तो वास्तव में उस तरह स्टोर कर सकते हैं एक एसक्यूएल स्तंभ में जानकारी की। 125 00:06:08,580 --> 00:06:11,390 >> पाठ हो सकता है, पाठ का सिर्फ विशाल चारों है। 126 00:06:11,390 --> 00:06:12,840 Enums दिलचस्प की तरह कर रहे हैं। 127 00:06:12,840 --> 00:06:16,080 वे वास्तव में सी में मौजूद हैं, हम न करना वे नहीं कर रहे हैं क्योंकि उनके बारे में बात 128 00:06:16,080 --> 00:06:19,110 बहुत आमतौर पर कम से कम CS50 उपयोग किया था। 129 00:06:19,110 --> 00:06:22,680 लेकिन यह एक enumerated डेटा प्रकार है, जो सीमित मूल्यों धारण करने में सक्षम है। 130 00:06:22,680 --> 00:06:25,940 >> एक बहुत अच्छा उदाहरण यहाँ होगा एक इनम बनाने के लिए जहां सात 131 00:06:25,940 --> 00:06:29,394 संभव मूल्यों, रविवार, सोमवार रहे हैं मंगलवार बुधवार गुरुवार शुक्रवार, 132 00:06:29,394 --> 00:06:30,060 शनिवार, है ना? 133 00:06:30,060 --> 00:06:33,311 का यह डेटा प्रकार डे वीक मौजूद नहीं है, 134 00:06:33,311 --> 00:06:35,310 लेकिन हम एक बना सकता है प्रगणित डेटा प्रकार ऐसे 135 00:06:35,310 --> 00:06:39,400 उस स्तंभ केवल कभी पकड़ कर सकते हैं कि उन सात संभव मूल्यों में से एक। 136 00:06:39,400 --> 00:06:44,300 हम सभी को इस तरह से समझा दिया है संभव मूल्यों की। 137 00:06:44,300 --> 00:06:47,630 >> तो फिर हम चार और VARCHAR है, और मुझे लगता है कि इन हरे रंग है 138 00:06:47,630 --> 00:06:49,505 हम वास्तव में कर रहे हैं क्योंकि एक दूसरे को ले जा रहा 139 00:06:49,505 --> 00:06:51,950 अंतर के बारे में बात करने के लिए इन दो चीजों के बीच। 140 00:06:51,950 --> 00:06:55,780 तो चार, के विपरीत सी जहां चार एक ही चरित्र था, 141 00:06:55,780 --> 00:07:00,730 एसक्यूएल में एक चार को संदर्भित करता है एक निश्चित लंबाई स्ट्रिंग। 142 00:07:00,730 --> 00:07:02,620 और हम इस बनाते समय स्तंभ, हम वास्तव में 143 00:07:02,620 --> 00:07:05,070 स्ट्रिंग की लंबाई निर्दिष्ट कर सकते हैं। 144 00:07:05,070 --> 00:07:08,080 >> इस उदाहरण में तो, हम चार (10) कह सकते हैं। 145 00:07:08,080 --> 00:07:11,190 यही कारण है कि हर मतलब है कि उस स्तंभ के तत्व 146 00:07:11,190 --> 00:07:13,910 जानकारी के 10 बाइट्स से मिलकर करेंगे। 147 00:07:13,910 --> 00:07:15,770 न आधिक न कम। 148 00:07:15,770 --> 00:07:21,780 हम कोशिश करते हैं और एक 15 में डाल दिया तो अगर बिट या एक 15 चरित्र तत्व 149 00:07:21,780 --> 00:07:25,340 या इस स्तंभ में मूल्य, हम केवल पहले 10 मिल रहे हैं। 150 00:07:25,340 --> 00:07:27,290 हम दो में डाल दिया है चरित्र लंबे मूल्य, 151 00:07:27,290 --> 00:07:30,700 हम दो के लिए जा रहे हैं वर्ण, और उसके बाद आठ अशक्त काटता है। 152 00:07:30,700 --> 00:07:34,990 हम जानते हैं कि अधिक से अधिक कुशल होना कभी नहीं होगा। 153 00:07:34,990 --> 00:07:37,727 >> एक varchar की तरह की तरह है एक स्ट्रिंग के बारे में हमारी धारणा 154 00:07:37,727 --> 00:07:39,560 हम परिचित हैं कि सी से या पीएचपी से साथ। 155 00:07:39,560 --> 00:07:40,830 यह एक चर लंबाई स्ट्रिंग है। 156 00:07:40,830 --> 00:07:42,560 और अगर आप बनाते समय इस स्तंभ, तुम बस 157 00:07:42,560 --> 00:07:44,860 अधिकतम संभव लंबाई निर्दिष्ट करें। 158 00:07:44,860 --> 00:07:49,065 इसलिए हो सकता है 99, या आमतौर पर 255। 159 00:07:49,065 --> 00:07:50,440 यही कारण है कि अधिकतम लंबाई होगा। 160 00:07:50,440 --> 00:07:52,890 और अगर ऐसा हम भंडारण के थे 15 चरित्र स्ट्रिंग, 161 00:07:52,890 --> 00:07:56,157 हम शायद, 16 15 बाइट्स का प्रयोग करेंगे अशक्त टर्मिनेटर के लिए बाइट्स। 162 00:07:56,157 --> 00:07:57,990 हम भंडारण के थे तो एक तीन चरित्र स्ट्रिंग, 163 00:07:57,990 --> 00:08:01,120 हम तीन या चार बाइट्स का प्रयोग करेंगे। 164 00:08:01,120 --> 00:08:03,050 लेकिन हम पूर्ण 99 का उपयोग नहीं होता। 165 00:08:03,050 --> 00:08:05,190 >> तो क्यों न हम दोनों के लिए होता है? 166 00:08:05,190 --> 00:08:08,210 खैर, हम कैसे पता लगाने की जरूरत है, तो लंबे समय तक कुछ एक varchar के साथ है, 167 00:08:08,210 --> 00:08:10,680 हम पुनरावृति की तरह करने के लिए है यह सिर्फ तरह भर हम सी में किया था 168 00:08:10,680 --> 00:08:12,230 यह बंद हो जाता है, जहां और यह पता लगाने की। 169 00:08:12,230 --> 00:08:15,920 हम सब कुछ पता है कि जबकि अगर इस स्तंभ में हो सकता है, 10 बाइट्स है 170 00:08:15,920 --> 00:08:19,220 हम उस जानकारी पता है, हम कूद कर सकते हैं 10 बाइट्स, 10 बाइट्स, 10 बाइट्स, 10 बाइट्स, 171 00:08:19,220 --> 00:08:21,790 और हमेशा मिल स्ट्रिंग की शुरुआत। 172 00:08:21,790 --> 00:08:25,210 >> इसलिए हम कुछ हो सकता है एक चार के साथ अंतरिक्ष बर्बाद किया, 173 00:08:25,210 --> 00:08:28,510 लेकिन शायद वहाँ एक व्यापार है बेहतर गति होने के लिए रवाना 174 00:08:28,510 --> 00:08:30,160 डेटाबेस नेविगेट करने में। 175 00:08:30,160 --> 00:08:32,330 लेकिन हो सकता है कि हम चाहते हैं एक varchar के लचीलेपन 176 00:08:32,330 --> 00:08:36,710 बजाय having-- हमारे चार तो की 255 था, लेकिन हमारे उपयोगकर्ताओं के सबसे 177 00:08:36,710 --> 00:08:40,537 केवल तीन या चार बाइट्स inputting थे जानकारी या तीन या चार के लायक 178 00:08:40,537 --> 00:08:41,870 जानकारी के लायक अक्षर। 179 00:08:41,870 --> 00:08:44,324 >> लेकिन कुछ उपयोगकर्ताओं उपयोग कर रहे थे पूरे 255, हो सकता है 180 00:08:44,324 --> 00:08:45,990 VARCHAR वहाँ अधिक उपयुक्त होगा। 181 00:08:45,990 --> 00:08:49,840 यह एक व्यापार बंद की तरह है, और आम तौर पर CS50 के प्रयोजनों के लिए, 182 00:08:49,840 --> 00:08:54,107 आपके बारे में बहुत ज्यादा चिंता करने की जरूरत नहीं है आप एक चार या एक varchar का उपयोग करें। 183 00:08:54,107 --> 00:08:57,190 लेकिन असली दुनिया में, इन बातों इन स्तंभों की वजह से सभी बात करते हैं 184 00:08:57,190 --> 00:08:59,300 वास्तविक भौतिक स्थान ले। 185 00:08:59,300 --> 00:09:04,150 में और शारीरिक अंतरिक्ष, असली दुनिया, एक प्रीमियम पर आता है। 186 00:09:04,150 --> 00:09:06,800 >> एक अन्य विचार तो जब आप एक तालिका का निर्माण कर रहे हैं 187 00:09:06,800 --> 00:09:09,840 होने के लिए एक स्तंभ लेने के लिए है क्या एक प्राथमिक कुंजी कहा जाता है। 188 00:09:09,840 --> 00:09:14,350 और एक प्राथमिक कुंजी एक स्तंभ है जहां हर एक मूल्य अद्वितीय है। 189 00:09:14,350 --> 00:09:19,980 और वह है कि आप आसानी से कर सकते हैं इसका मतलब बस को देखकर एक ही पंक्ति बाहर लेने 190 00:09:19,980 --> 00:09:22,450 उस पंक्ति की प्राथमिक कुंजी पर। 191 00:09:22,450 --> 00:09:24,580 उदाहरण के लिए, आप आम तौर पर, उपयोगकर्ताओं के साथ 192 00:09:24,580 --> 00:09:27,210 दो उपयोगकर्ताओं को जो नहीं चाहते एक ही यूजर आईडी नंबर है। 193 00:09:27,210 --> 00:09:28,960 और तो शायद आपके पास जानकारी के बहुत सारे, 194 00:09:28,960 --> 00:09:30,793 और शायद दो उपयोगकर्ताओं कर सकते हैं एक ही name-- है 195 00:09:30,793 --> 00:09:32,650 आप जॉन स्मिथ और जॉन स्मिथ की है। 196 00:09:32,650 --> 00:09:34,520 यही कारण है, जरूरी नहीं कि एक समस्या नहीं है कई लोग कर रहे हैं, क्योंकि 197 00:09:34,520 --> 00:09:35,830 जॉन स्मिथ नाम दुनिया में। 198 00:09:35,830 --> 00:09:40,766 लेकिन हम केवल एक यूजर आईडी नंबर है 10, एक यूजर आईडी नंबर 11, 12, 13। 199 00:09:40,766 --> 00:09:42,640 हम दो उपयोगकर्ताओं की जरूरत नहीं है एक ही नंबर के साथ, 200 00:09:42,640 --> 00:09:46,010 और तो शायद उपयोगकर्ता आईडी नंबर एक अच्छा प्राथमिक कुंजी होगी। 201 00:09:46,010 --> 00:09:48,610 >> हम किसी भी दोहराव नहीं है, और अब हम विशिष्ट कर सकते हैं 202 00:09:48,610 --> 00:09:52,619 बस हर एक पंक्ति की पहचान उस स्तंभ को देखकर। 203 00:09:52,619 --> 00:09:55,410 वास्तव में प्राथमिक कुंजी कर सकते हैं का चयन बाद में मेज संचालन करना 204 00:09:55,410 --> 00:09:59,710 आप लाभ उठा सकते हैं क्योंकि एक बहुत आसान तथ्य यह है कि कुछ पंक्तियों होगा 205 00:09:59,710 --> 00:10:02,720 अनूठा, या एक निश्चित स्तंभ होना अपने डेटाबेस या मेज की 206 00:10:02,720 --> 00:10:06,030 लेने के लिए अद्वितीय होगा बाहर विशेष पंक्तियों। 207 00:10:06,030 --> 00:10:08,790 >> तुम भी एक संयुक्त प्राथमिक हो सकता है आप इस अवसर मिल सकता है, जो कुंजी 208 00:10:08,790 --> 00:10:11,720 सिर्फ एक है, जो उपयोग करने के लिए दो स्तंभों के संयोजन कि 209 00:10:11,720 --> 00:10:13,280 अद्वितीय होने की गारंटी है। 210 00:10:13,280 --> 00:10:16,410 तो शायद आप एक है के रूप में और बी एस कि स्तंभ, 211 00:10:16,410 --> 00:10:19,290 दो, एक है कि एक स्तंभ, और तीन, लेकिन आप केवल कभी होगा 212 00:10:19,290 --> 00:10:23,660 एक भी ए 1, एक ही है , और इतने पर और इतने पर ए 2। 213 00:10:23,660 --> 00:10:28,980 लेकिन अगर आप एक बी 2 हो सकता है, एक सी 2, या एक A1, A2, A3, A4। 214 00:10:28,980 --> 00:10:32,840 तो अगर आप बहु के रूप में, कई हो सकता है बी एस, कई लोगों को, कई twos, 215 00:10:32,840 --> 00:10:38,567 लेकिन आप केवल कभी एक हो सकता है एकल ए 1, बी 2, सी 3, और इतने पर। 216 00:10:38,567 --> 00:10:40,400 तो जैसा कि मैंने कहा, एसक्यूएल है एक प्रोग्रामिंग भाषा, 217 00:10:40,400 --> 00:10:42,024 लेकिन यह एक काफी सीमित शब्दावली है। 218 00:10:42,024 --> 00:10:44,880 यह काफी के रूप में प्रशस्त नहीं है सी और PHP और अन्य भाषाओं 219 00:10:44,880 --> 00:10:46,350 हम पाठ्यक्रम में बात करते हैं। 220 00:10:46,350 --> 00:10:49,960 यह अधिक वाचाल एक है हम क्या कर रहे हैं की तुलना में भाषा 221 00:10:49,960 --> 00:10:52,789 इस बारे में बात करने जा रहा वीडियो, क्योंकि इस वीडियो में 222 00:10:52,789 --> 00:10:54,830 हम इस बारे में बात करने जा रहे हैं चार ऑपरेशन हम उस 223 00:10:54,830 --> 00:10:55,720 एक मेज पर प्रदर्शन कर सकते हैं। 224 00:10:55,720 --> 00:10:56,761 >> इस से भी अधिक कर रहे हैं। 225 00:10:56,761 --> 00:10:58,730 हम इस से भी अधिक कर सकते हैं लेकिन हमारे प्रयोजनों के लिए, 226 00:10:58,730 --> 00:11:02,250 हम आम तौर पर उपयोग किया जा रहे हैं सिर्फ चार operations-- डालने, 227 00:11:02,250 --> 00:11:05,360 का चयन करें, अद्यतन, और हटा दें। 228 00:11:05,360 --> 00:11:08,750 और तुम शायद intuitively अनुमान लगा सकते हैं इन सब बातों के चार क्या करते हैं। 229 00:11:08,750 --> 00:11:12,520 लेकिन हम एक बिट में जाना होगा हर एक पर विस्तार से। 230 00:11:12,520 --> 00:11:15,780 >> इस के प्रयोजनों के लिए तो वीडियो, चलो मान लेते हैं 231 00:11:15,780 --> 00:11:18,870 हम दो निम्नलिखित है एक एकल डाटाबेस में टेबल। 232 00:11:18,870 --> 00:11:23,460 हम है कि एक मेज बुलाया उपयोगकर्ताओं है चार columns-- आईडी नंबर, उपयोगकर्ता नाम, 233 00:11:23,460 --> 00:11:25,350 पासवर्ड, और पूरा नाम। 234 00:11:25,350 --> 00:11:27,430 और हम एक दूसरे के लिए है एक ही डेटाबेस में तालिका 235 00:11:27,430 --> 00:11:32,129 सिर्फ जानकारी है कि स्टोर माताओं बुलाया एक उपयोगकर्ता नाम और माँ के बारे में। 236 00:11:32,129 --> 00:11:33,920 उदाहरण के सभी के लिए तो इस वीडियो में, हम करेंगे 237 00:11:33,920 --> 00:11:37,945 इस डेटाबेस का उपयोग किया और यह करने के लिए बाद में अद्यतन। 238 00:11:37,945 --> 00:11:40,070 तो चलो हम करने के लिए कहना चाहते हैं एक मेज के लिए जानकारी जोड़ें। 239 00:11:40,070 --> 00:11:44,460 उस डालने ऑपरेशन क्या करता है। 240 00:11:44,460 --> 00:11:46,550 के सभी समझाने में इन आदेशों, मैं जा रहा हूँ 241 00:11:46,550 --> 00:11:48,860 आप का उपयोग करने के लिए एक सामान्य कंकाल देने के लिए। 242 00:11:48,860 --> 00:11:51,661 मूल रूप से, प्रश्नों क्योंकि देखो बहुत समान जा रहे हैं, 243 00:11:51,661 --> 00:11:54,660 हम सिर्फ बदलते करने जा रहे हैं जानकारी के अलग टुकड़े 244 00:11:54,660 --> 00:11:56,750 तालिका के साथ अलग अलग बातें करने के लिए। 245 00:11:56,750 --> 00:11:59,200 >> डालने के लिए, कंकाल तो एक तरह से इस तरह दिखता है। 246 00:11:59,200 --> 00:12:02,230 हम में सम्मिलित करना चाहते हैं एक विशेष मेज। 247 00:12:02,230 --> 00:12:05,290 तो फिर हम एक खुला कोष्ठक है और स्तंभों की एक सूची 248 00:12:05,290 --> 00:12:08,070 हम में मूल्यों डाल करना चाहते हैं। 249 00:12:08,070 --> 00:12:10,974 बंद कोष्ठक, मूल्यों का अनुसरण करते हुए और उसके बाद 250 00:12:10,974 --> 00:12:13,390 फिर, हम मूल्यों को सूची से बाहर हम तालिका में डाल करना चाहते हैं। 251 00:12:13,390 --> 00:12:15,950 >> इस बात का तो एक उदाहरण निम्नलिखित होगा। 252 00:12:15,950 --> 00:12:19,170 मैं तालिका में सम्मिलित करना चाहते हैं उपयोगकर्ताओं को निम्नलिखित columns-- 253 00:12:19,170 --> 00:12:21,010 उपयोगकर्ता नाम, पासवर्ड, और FULLNAME। 254 00:12:21,010 --> 00:12:25,282 मैं डाल रहा हूँ, जहां एक नई पंक्ति तो हम कर रहे हैं और उन तीन स्तंभों में 255 00:12:25,282 --> 00:12:30,030 मूल्यों में डाला जा रहा न्यूमैन, USMAIL, और न्यूमैन। 256 00:12:30,030 --> 00:12:32,730 तो इस मामले में, मैं कर रहा हूँ लोअरकेस न्यूमैन डाल 257 00:12:32,730 --> 00:12:38,710 उपयोगकर्ता नाम स्तंभ में, पासवर्ड USMAIL, और पूरा नाम राजधानी एन 258 00:12:38,710 --> 00:12:41,940 FULLNAME स्तंभ में न्यूमैन। 259 00:12:41,940 --> 00:12:44,240 >> तो यहाँ क्या डेटाबेस है पहले की तरह देखा। 260 00:12:44,240 --> 00:12:48,250 यहाँ क्या प्रयोक्ताओं की मेज पर है शीर्ष हम इस किया था पहले की तरह देखा। 261 00:12:48,250 --> 00:12:50,760 हम इस पर अमल करने के बाद क्वेरी, हम यह मिलता है। 262 00:12:50,760 --> 00:12:54,790 हम तालिका करने के लिए एक नई पंक्ति जोड़ दिया है। 263 00:12:54,790 --> 00:12:56,810 लेकिन इस एक बात नोटिस , मैं यह नहीं बताया कि 264 00:12:56,810 --> 00:12:59,880 लेकिन किसी तरह मैं एक मूल्य मिल गया है के लिए, यहीं इस 12 जो है। 265 00:12:59,880 --> 00:13:02,820 मैं मैं चाहता था नहीं कहा था वहाँ में आईडी नंबर डाल दिया। 266 00:13:02,820 --> 00:13:04,900 मैं, उपयोगकर्ता नाम डाल करना चाहते थे पासवर्ड, FULLNAME। 267 00:13:04,900 --> 00:13:06,440 और मुझे लगता है कि ठीक है, ऐसा ही किया। 268 00:13:06,440 --> 00:13:07,760 >> लेकिन मैं भी इस 12 मिला है। 269 00:13:07,760 --> 00:13:09,490 मैं यह क्यों 12 से मिला? 270 00:13:09,490 --> 00:13:12,904 खैर, यह पता चला है कि जब आप परिभाषित कर रहे हैं 271 00:13:12,904 --> 00:13:15,570 होने जा रहा है कि एक स्तंभ अपने आमतौर पर है, जो प्राथमिक कुंजी, 272 00:13:15,570 --> 00:13:16,510 जैसे मैं एक आईडी नंबर, कहा। 273 00:13:16,510 --> 00:13:18,718 यह हमेशा जरूरी नहीं है एक आईडी नंबर होना करने के लिए जा रहा है, 274 00:13:18,718 --> 00:13:22,380 लेकिन यह आम तौर पर करने के लिए एक अच्छा विचार है पूर्णांक मान किसी प्रकार का होना। 275 00:13:22,380 --> 00:13:25,950 आप phpMyAdmin में एक विकल्प है जब आप अपने डेटाबेस का निर्माण कर रहे 276 00:13:25,950 --> 00:13:31,130 या अपने टेबल कि स्थापित करने के लिए ऑटो incrementing के रूप में कॉलम। 277 00:13:31,130 --> 00:13:34,520 >> जो एक बहुत अच्छा विचार है, जब आप एक प्राथमिक कुंजी के साथ काम कर रहे हैं, 278 00:13:34,520 --> 00:13:39,330 आप हर मूल्य चाहते हैं, क्योंकि उस स्तंभ में अद्वितीय हो। 279 00:13:39,330 --> 00:13:43,310 और आपके द्वारा निर्दिष्ट करने के लिए भूल जाते हैं एक से अधिक व्यक्ति के लिए यह, 280 00:13:43,310 --> 00:13:46,240 अब आप एक स्थिति जहां है उस कॉलम नहीं रह अद्वितीय है। 281 00:13:46,240 --> 00:13:50,200 आप दो कारतूस है, तो आप कोई कर सकते हैं अब विशिष्ट एक column-- की पहचान 282 00:13:50,200 --> 00:13:54,150 या आप अब विशिष्ट कर सकते हैं उस स्तंभ के आधार पर एक पंक्ति की पहचान। 283 00:13:54,150 --> 00:13:57,010 यह सब खो दिया है इसकी एक प्राथमिक कुंजी के रूप में मूल्य। 284 00:13:57,010 --> 00:14:02,010 >> और तो जाहिरा तौर पर मैं क्या किया है यहां यूजर आईडी कॉन्फ़िगर किया गया है 285 00:14:02,010 --> 00:14:07,790 ऑटो वेतन वृद्धि करने के लिए स्तंभ हर इतना है कि बार मैं तालिका में जानकारी जोड़ने 286 00:14:07,790 --> 00:14:12,220 यह स्वचालित रूप से मुझे दे देंगे प्राथमिक कुंजी के लिए एक मूल्य। 287 00:14:12,220 --> 00:14:15,570 इसलिए मुझे लगता है क्योंकि यह करने के लिए कभी नहीं भूल सकते हैं डेटाबेस मेरे लिए यह करना होगा। 288 00:14:15,570 --> 00:14:16,587 तो यह है कि एक तरह से अच्छा है। 289 00:14:16,587 --> 00:14:18,670 हम मिल क्यों और इसलिए है कि वहाँ में 12, मैं, क्योंकि 290 00:14:18,670 --> 00:14:21,772 ऑटो वेतन वृद्धि करने के लिए उस स्तंभ की स्थापना की। 291 00:14:21,772 --> 00:14:23,730 मैं किसी और को जोड़ा है मैंने कहा, अगर यह 13 होगी 292 00:14:23,730 --> 00:14:27,890 किसी और को यह इतने पर 14 होना चाहिए, और चाहते हैं। 293 00:14:27,890 --> 00:14:30,190 >> तो चलो बस एक और प्रविष्टि करते हैं। 294 00:14:30,190 --> 00:14:34,530 हम में, माताओं तालिका में डालने देंगे विशेष रूप से, यूज़रनेम और मां 295 00:14:34,530 --> 00:14:37,390 स्तंभ, मूल्यों क्रेमर और Babs क्रेमर। 296 00:14:37,390 --> 00:14:39,140 और इसलिए हम इस से पहले किया था। 297 00:14:39,140 --> 00:14:41,800 हम उस पर अमल करने के बाद एसक्यूएल क्वेरी, हम इस किया है। 298 00:14:41,800 --> 00:14:47,290 हम क्रेमर और Babs जोड़ दिया है माताओं की मेज पर क्रेमर। 299 00:14:47,290 --> 00:14:48,350 >> तो यह है कि डालने रहा है। 300 00:14:48,350 --> 00:14:51,850 चयन हम निकालने के लिए उपयोग क्या है तालिका से जानकारी। 301 00:14:51,850 --> 00:14:54,390 तो यह है कि हम कैसे मिलता है डेटाबेस से बाहर जानकारी। 302 00:14:54,390 --> 00:14:59,589 और तो चयन आदेशों होने जा रहे हैं बहुत बार प्रोग्रामिंग में इस्तेमाल किया। 303 00:14:59,589 --> 00:15:02,130 सामान्य framework-- सामान्य कंकाल इस तरह दिखता है। 304 00:15:02,130 --> 00:15:06,550 कॉलम का एक सेट से चयन करें एक मेज, और तब वैकल्पिक 305 00:15:06,550 --> 00:15:11,090 आप एक condition-- निर्दिष्ट कर सकते हैं या हम आम तौर पर एक विधेय क्या कहते हैं, 306 00:15:11,090 --> 00:15:13,010 आम तौर पर हम एसक्यूएल में उपयोग शब्द है। 307 00:15:13,010 --> 00:15:16,490 >> लेकिन यह मूल रूप क्या है विशेष पंक्तियों आप प्राप्त करना चाहते हैं। 308 00:15:16,490 --> 00:15:19,100 आप के लिए, बजाय हो रही करने के लिए चाहते हैं सब कुछ, इसे नीचे संकीर्ण 309 00:15:19,100 --> 00:15:20,060 यदि आप ऐसा होता है, जहां यह है। 310 00:15:20,060 --> 00:15:22,777 और फिर वैकल्पिक रूप से, आप भी कर सकते हैं एक विशेष स्तंभ द्वारा आदेश। 311 00:15:22,777 --> 00:15:25,860 इसलिए हो सकता है आप हल बातें है चाहता हूँ वर्णानुक्रम एक स्तंभ पर आधारित 312 00:15:25,860 --> 00:15:27,540 या वर्णानुक्रम दूसरे पर आधारित है। 313 00:15:27,540 --> 00:15:30,610 >> फिर, आदेश द्वारा वैकल्पिक हैं, जहां और। 314 00:15:30,610 --> 00:15:32,681 लेकिन वे शायद हो जाएगा useful-- विशेष रूप से 315 00:15:32,681 --> 00:15:34,680 कहां के लिए उपयोगी हो जाएगा आप नहीं है तो नीचे संकीर्ण 316 00:15:34,680 --> 00:15:37,460 वापस पूरा डेटाबेस पाने के लिए और यह प्रक्रिया है, तुम बस मिल 317 00:15:37,460 --> 00:15:39,300 यह के टुकड़े आप के बारे में परवाह है। 318 00:15:39,300 --> 00:15:44,932 तो उदाहरण के लिए, मैं चयन करने के लिए चाहते हो सकता है उपयोगकर्ताओं से आईडी नंबर और FULLNAME। 319 00:15:44,932 --> 00:15:46,140 तो क्या इस तरह लग सकता है? 320 00:15:46,140 --> 00:15:48,270 तो यहाँ मेरी उपयोगकर्ताओं को तालिका है। 321 00:15:48,270 --> 00:15:51,080 मैं idnum चयन करना चाहते हैं और उपयोगकर्ताओं से fullname। 322 00:15:51,080 --> 00:15:52,300 क्या मैं पाने के लिए जा रहा हूँ? 323 00:15:52,300 --> 00:15:53,580 मैं इसे पाने के लिए जा रहा हूँ। 324 00:15:53,580 --> 00:15:56,930 मैं इसे नीचे संकीर्ण नहीं था, इसलिए मैं कर रहा हूँ हर पंक्ति के लिए आईडी संख्या में हो रही 325 00:15:56,930 --> 00:16:00,850 और मैं पूरी हो रही है हर पंक्ति से नाम है। 326 00:16:00,850 --> 00:16:02,210 >> ठीक। 327 00:16:02,210 --> 00:16:05,640 क्या मैं पासवर्ड का चयन करना चाहते हैं WHERE-- तो अब उपयोगकर्ताओं से 328 00:16:05,640 --> 00:16:10,370 मैं एक शर्त जोड़ रहा हूँ, एक predicate-- idnum कम से कम 12 है, जहां। 329 00:16:10,370 --> 00:16:13,660 तो यहाँ मेरी डेटाबेस फिर से है, अपने उपयोगकर्ताओं को तालिका के शीर्ष। 330 00:16:13,660 --> 00:16:17,030 क्या मैं मैं करना चाहते हैं पाने के लिए जा रहा हूँ जानकारी है कि चयन, पासवर्ड, 331 00:16:17,030 --> 00:16:21,550 जहां यूजर आईडी या idnum 12 से कम है? 332 00:16:21,550 --> 00:16:24,910 मैं इसे पाने के लिए जा रहा हूँ जानकारी वापस, है ना? 333 00:16:24,910 --> 00:16:29,170 Idnum 10 है कि यह तब होता है, कम 12 से, आईडी नंबर 11 12 से कम है। 334 00:16:29,170 --> 00:16:32,160 मैं उन पंक्तियों के लिए पासवर्ड हो रही है। 335 00:16:32,160 --> 00:16:33,914 यही कारण है कि मैं के लिए कहा है। 336 00:16:33,914 --> 00:16:34,580 इस बारे में क्या? 337 00:16:34,580 --> 00:16:39,170 क्या मैं से स्टार का चयन करना चाहते हैं उपयोगकर्ता नाम जैरी के बराबर होती है, जहां माताओं की मेज? 338 00:16:39,170 --> 00:16:43,780 ठीक है, का चयन स्टार खास है वाइल्ड कार्ड की तरह तथाकथित 339 00:16:43,780 --> 00:16:45,670 हम सब कुछ पाने के लिए उपयोग करें। 340 00:16:45,670 --> 00:16:48,620 इसलिए वे चयन कह रहे हैं अल्पविराम मां, उपयोगकर्ता नाम जो 341 00:16:48,620 --> 00:16:51,060 केवल होने का क्या हुआ इस तालिका के दो कॉलम, 342 00:16:51,060 --> 00:16:53,260 मैं सिर्फ स्टार का चयन कर सकते हैं और सब कुछ मिलता है 343 00:16:53,260 --> 00:16:55,030 जहां उपयोगकर्ता नाम जैरी के बराबर होती है। 344 00:16:55,030 --> 00:16:59,380 और इतना है कि मैं क्या मिलेगा है मुझे लगता है कि विशेष क्वेरी बना दिया है। 345 00:16:59,380 --> 00:17:01,810 >> अब, डेटाबेस रहे हैं महान वे अनुमति देते हैं क्योंकि 346 00:17:01,810 --> 00:17:06,074 हमें शायद जानकारी को व्यवस्थित करने के लिए हम अधिक से अधिक कुशलता से एक सा 347 00:17:06,074 --> 00:17:06,740 अन्यथा हो सकता है। 348 00:17:06,740 --> 00:17:10,240 हम जरूरी स्टोर करने के लिए नहीं है जानकारी के हर प्रासंगिक टुकड़ा 349 00:17:10,240 --> 00:17:12,230 एक ही तालिका में एक उपयोगकर्ता के बारे में। 350 00:17:12,230 --> 00:17:13,730 हम वहाँ दो टेबल था। 351 00:17:13,730 --> 00:17:15,734 >> हम स्टोर करने की जरूरत हर किसी की माता का नाम, 352 00:17:15,734 --> 00:17:18,900 और हो सकता है कि हम सामाजिक सुरक्षा की जरूरत नहीं है संख्या, हम जन्म के अपने तिथि है। 353 00:17:18,900 --> 00:17:21,819 यही कारण है कि हमेशा की जरूरत नहीं है एक ही तालिका में किया जाना है। 354 00:17:21,819 --> 00:17:25,339 जब तक हम परिभाषित कर सकते हैं के रूप में tables-- के बीच संबंधों 355 00:17:25,339 --> 00:17:28,440 और कहा कि जहां कि रिलेशनल डेटाबेस अवधि तरह की बात आती है 356 00:17:28,440 --> 00:17:32,130 play-- जब तक हम परिभाषित कर सकते हैं के रूप में तालिकाओं के बीच संबंध, 357 00:17:32,130 --> 00:17:35,545 हम की तरह compartmentalize कर सकते हैं या सार बातें एक तरह से, 358 00:17:35,545 --> 00:17:37,670 हम केवल जहां वास्तव में महत्वपूर्ण जानकारी 359 00:17:37,670 --> 00:17:39,270 हम उपयोगकर्ता की तालिका में के बारे में परवाह है। 360 00:17:39,270 --> 00:17:43,220 और फिर हम सहायक जानकारी नहीं है अन्य तालिकाओं में या अतिरिक्त जानकारी 361 00:17:43,220 --> 00:17:48,260 हम मुख्य वापस करने के लिए कनेक्ट कर सकते हैं एक खास तरह से उपयोगकर्ताओं को तालिका। 362 00:17:48,260 --> 00:17:52,200 >> यहाँ तो हम इन दो टेबल है, लेकिन उन दोनों के बीच एक संबंध है, 363 00:17:52,200 --> 00:17:53,010 है ना? 364 00:17:53,010 --> 00:17:55,070 यह उपयोगकर्ता नाम की तरह लगता है कुछ हो सकता है 365 00:17:55,070 --> 00:17:59,909 कि बीच आम में मौजूद है इन दो अलग-अलग टेबल। 366 00:17:59,909 --> 00:18:01,700 तो क्या अब हम यदि एक स्थिति है जहाँ हम 367 00:18:01,700 --> 00:18:06,046 से एक उपयोगकर्ता का पूरा नाम प्राप्त करना चाहते हैं उपयोगकर्ता की मेज, और उनकी मां के 368 00:18:06,046 --> 00:18:07,170 मां की मेज से नाम? 369 00:18:07,170 --> 00:18:10,960 हम पाने के लिए एक रास्ता नहीं है यह सही है कि, के रूप में खड़ा? 370 00:18:10,960 --> 00:18:17,790 होता है कि कोई एकल तालिका नहीं है पूरा नाम और माता का नाम दोनों। 371 00:18:17,790 --> 00:18:20,400 हम उस विकल्प नहीं है हम अब तक क्या देखा है से। 372 00:18:20,400 --> 00:18:22,950 >> और इसलिए हम शुरू करने की है में शामिल एक का विचार है। 373 00:18:22,950 --> 00:18:24,857 और जोड़ों शायद रहे हैं सबसे complex-- 374 00:18:24,857 --> 00:18:27,940 यह वास्तव में सबसे अधिक जटिल ऑपरेशन है हम वीडियो में के बारे में बात करने के लिए जा रहे हैं। 375 00:18:27,940 --> 00:18:30,040 वे एक छोटे से जटिल हो लेकिन आप इसे भांप लेना एक बार, 376 00:18:30,040 --> 00:18:31,248 वे वास्तव में बहुत बुरा नहीं कर रहे हैं। 377 00:18:31,248 --> 00:18:32,820 यह सिर्फ एक का चयन की एक विशेष मामला है। 378 00:18:32,820 --> 00:18:37,120 हम का एक सेट का चयन करने के लिए जा रहे हैं में शामिल होने से एक टेबल से कॉलम 379 00:18:37,120 --> 00:18:40,650 कुछ विधेय पर एक दूसरे तालिका में। 380 00:18:40,650 --> 00:18:45,340 >> यह है- पसंद के बारे में इस मामले में, लगता है मेज से एक है, यहाँ पर एक चक्र है 381 00:18:45,340 --> 00:18:47,530 तालिका में दो यहाँ पर एक और चक्र है। 382 00:18:47,530 --> 00:18:49,410 और कहा कि विधेय हिस्सा बीच में, यह है 383 00:18:49,410 --> 00:18:51,701 एक तरह से अगर आपको लगता है की तरह के बारे में एक वेन आरेख के रूप में, क्या 384 00:18:51,701 --> 00:18:52,670 वे आम में है? 385 00:18:52,670 --> 00:18:55,960 हम इन दो टेबल लिंक करना चाहते हैं वे आम में है, उसके आधार पर 386 00:18:55,960 --> 00:19:01,230 और इस काल्पनिक टेबल बना कि एक साथ दोनों के विलय है। 387 00:19:01,230 --> 00:19:03,480 इसलिए हम एक में यह देखेंगे उदाहरण और हो सकता है कि मदद करेंगे 388 00:19:03,480 --> 00:19:04,521 एक छोटा सा यह स्पष्ट। 389 00:19:04,521 --> 00:19:09,260 तो शायद आप चयन करना चाहते हैं user.fullname और moms.mother 390 00:19:09,260 --> 00:19:13,220 में शामिल होने के उपयोगकर्ताओं से हर स्थिति में माताओं की मेज 391 00:19:13,220 --> 00:19:16,790 जहां उपयोगकर्ता नाम स्तंभ उन दोनों के बीच में ही है। 392 00:19:16,790 --> 00:19:19,240 और यह एक नया है यहाँ इस उपयोगकर्ता सिंटेक्स। 393 00:19:19,240 --> 00:19:20,460 और माताओं .. 394 00:19:20,460 --> 00:19:26,697 मैं एकाधिक तालिकाओं कर रहा हूँ तो एक साथ, मैं एक तालिका निर्दिष्ट कर सकते हैं। 395 00:19:26,697 --> 00:19:29,530 मैं विशेष पर में भेद कर सकते हैं कि वहाँ पर बहुत नीचे। 396 00:19:29,530 --> 00:19:33,220 मैं उपयोगकर्ता नाम भेद कर सकते हैं उपयोगकर्ताओं को तालिका के स्तंभ 397 00:19:33,220 --> 00:19:36,010 के उपयोगकर्ता नाम स्तंभ से माताओं मेज, otherwise-- जो कर रहे हैं 398 00:19:36,010 --> 00:19:38,070 हम सिर्फ उपयोगकर्ता नाम के बराबर होती है ने कहा कि अगर सच नहीं है कि उपयोगकर्ता नाम, 399 00:19:38,070 --> 00:19:38,970 मतलब कुछ भी। 400 00:19:38,970 --> 00:19:41,440 हम वे मैच जहां यह करना चाहते हैं। 401 00:19:41,440 --> 00:19:46,080 >> तो मैं मेज और निर्दिष्ट कर सकते हैं एक स्थिति के मामले में स्तंभ नाम 402 00:19:46,080 --> 00:19:48,370 जहां यह स्पष्ट नहीं किया जाएगा क्या मैं के बारे में बात कर रहा हूँ। 403 00:19:48,370 --> 00:19:51,880 कि मैं क्या कर रहा हूँ सब है तो मैं कर रहा हूँ वहाँ है इस तालिका से इस स्तंभ कह रही है, 404 00:19:51,880 --> 00:19:54,020 और बहुत ही स्पष्ट किया जा रहा है। 405 00:19:54,020 --> 00:19:56,810 तो फिर, मैं चयन कर रहा हूँ पूरा नाम और माता का नाम 406 00:19:56,810 --> 00:20:00,950 एक साथ जुड़े उपयोगकर्ताओं को तालिका से हर स्थिति में माताओं की मेज के साथ 407 00:20:00,950 --> 00:20:05,960 जहां वे कहते हैं कि column-- हिस्सा वे कहते हैं कि उपयोगकर्ता नाम धारणा का हिस्सा है। 408 00:20:05,960 --> 00:20:08,580 >> यहाँ तो हम पहले था टेबल रहे हैं। 409 00:20:08,580 --> 00:20:12,210 इस राज्य में होता है हमारी डेटाबेस में यह अभी मौजूद है। 410 00:20:12,210 --> 00:20:16,390 हम निकालने रहे हैं जानकारी साथ शुरू करने के लिए यह है। 411 00:20:16,390 --> 00:20:19,820 यह हम जा रहे हैं नया टेबल है एक साथ इन संयोजन बनाने के लिए। 412 00:20:19,820 --> 00:20:23,585 और हम पर प्रकाश डाला नहीं कर रहे हैं नोटिस उपयोगकर्ता की तालिका में न्यूमैन की पंक्ति, 413 00:20:23,585 --> 00:20:25,960 और हम पर प्रकाश डाला नहीं कर रहे हैं माताओं तालिका में क्रेमर की पंक्ति 414 00:20:25,960 --> 00:20:31,250 न तो एक में मौजूद है, क्योंकि दोनों दोनों तालिकाओं में sets--। 415 00:20:31,250 --> 00:20:36,260 >> आम में है कि केवल जानकारी उन दोनों के बीच जैरी दोनों तालिकाओं में है 416 00:20:36,260 --> 00:20:39,100 और gcostanza दोनों तालिकाओं में है। 417 00:20:39,100 --> 00:20:42,620 जब हम करते हैं और इसलिए एसक्यूएल में शामिल होने के लिए क्या हम get-- और हम इस मिल को वास्तव में कर रही है। 418 00:20:42,620 --> 00:20:44,830 यह एक अस्थायी चर की तरह है। 419 00:20:44,830 --> 00:20:47,330 यह एक काल्पनिक तरह है दो तालिकाओं के विलय। 420 00:20:47,330 --> 00:20:49,930 हम वास्तव में कुछ पाने के इस तरह, जहां 421 00:20:49,930 --> 00:20:54,730 हम पर टेबल एक साथ विलय कर दिया गया है, वे आम में है कि जानकारी। 422 00:20:54,730 --> 00:20:58,334 >> तो यह है कि users.username नोटिस और moms.username स्तंभ, 423 00:20:58,334 --> 00:20:59,250 यह बिल्कुल वैसा ही है। 424 00:20:59,250 --> 00:21:01,820 यही जानकारी थी कि उपयोगकर्ताओं से अनुरूप था 425 00:21:01,820 --> 00:21:02,890 मेज और माताओं मेज। 426 00:21:02,890 --> 00:21:04,270 और इसलिए हम उन्हें एक साथ विलय कर दिया। 427 00:21:04,270 --> 00:21:06,919 हम क्रेमर खारिज कर दिया क्योंकि वह उपयोगकर्ताओं को तालिका में मौजूद नहीं था, 428 00:21:06,919 --> 00:21:09,710 और हम, क्योंकि न्यूमैन त्याग वह माताओं तालिका में मौजूद नहीं था। 429 00:21:09,710 --> 00:21:16,450 तो इस काल्पनिक विलय है चयन के शामिल होने के आपरेशन का उपयोग। 430 00:21:16,450 --> 00:21:21,250 >> और फिर हम देख रहे थे उपयोगकर्ता का पूरा नाम और उपयोगकर्ता की मां 431 00:21:21,250 --> 00:21:24,999 और इसलिए इस जानकारी है कि हम समग्र क्वेरी से मिलेगा 432 00:21:24,999 --> 00:21:26,040 हम चुनें के साथ किया जाता है। 433 00:21:26,040 --> 00:21:28,873 तो हम एक साथ टेबल में शामिल हो गए और हम उन दो कॉलम निकाले, 434 00:21:28,873 --> 00:21:31,610 और इतना है कि हम क्या मिलेगा है। 435 00:21:31,610 --> 00:21:33,370 लेकिन एसक्यूएल जटिल का एक प्रकार में मिलती है। 436 00:21:33,370 --> 00:21:36,770 तुम्हें शायद उन्हें बहुत ज्यादा काम नहीं चलेगा लेकिन सिर्फ कंकाल का कुछ पता नहीं है 437 00:21:36,770 --> 00:21:41,992 आप दो विलय करने के लिए इस्तेमाल कर सकते हैं आप के लिए आवश्यक एक साथ यदि टेबल। 438 00:21:41,992 --> 00:21:43,700 पिछले दो हैं एक थोड़ा सरल मैं वादा करता हूँ। 439 00:21:43,700 --> 00:21:48,040 तो अद्यतन करने, हम अद्यतन का उपयोग कर सकते हैं एक तालिका में जानकारी बदलने के लिए। 440 00:21:48,040 --> 00:21:53,880 सामान्य स्वरूप है अद्यतन कुछ टेबल, कुछ मूल्य के लिए कुछ कॉलम सेट 441 00:21:53,880 --> 00:21:55,540 जहां कुछ विधेय संतुष्ट है। 442 00:21:55,540 --> 00:21:57,850 तो उदाहरण के लिए, हम चाहते हो सकता है उपयोगकर्ताओं को तालिका अद्यतन करने के लिए 443 00:21:57,850 --> 00:22:04,400 और बेकार के लिए पासवर्ड सेट आईडी संख्या 10 है, जहां बेकार,। 444 00:22:04,400 --> 00:22:06,400 >> तो इस मामले में, हम कर रहे हैं उपयोगकर्ताओं को तालिका अद्यतन। 445 00:22:06,400 --> 00:22:08,275 आईडी नंबर के लिए 10 वहाँ कि पहली पंक्ति, 446 00:22:08,275 --> 00:22:10,690 और हम अद्यतन करना चाहते हैं बेकार बेकार करने के लिए पासवर्ड। 447 00:22:10,690 --> 00:22:12,170 और इतना है कि क्या होगा है। 448 00:22:12,170 --> 00:22:13,628 यह ठीक है, बहुत सीधा है? 449 00:22:13,628 --> 00:22:17,990 यह सिर्फ एक बहुत ही सरल है मेज पर संशोधन। 450 00:22:17,990 --> 00:22:22,250 >> हम करने के लिए इस्तेमाल आपरेशन हटाएं एक टेबल से जानकारी हटा दें। 451 00:22:22,250 --> 00:22:24,817 तालिका कहां से हटाएं कुछ विधेय संतुष्ट है। 452 00:22:24,817 --> 00:22:26,900 हम से हटाना चाहते हैं उदाहरण के लिए उपयोगकर्ताओं को तालिका 453 00:22:26,900 --> 00:22:28,254 जहां उपयोगकर्ता नाम न्यूमैन है। 454 00:22:28,254 --> 00:22:31,420 आप शायद करने के लिए क्या हो रहा है अनुमान लगा सकते हैं हम उस एसक्यूएल पर अमल के बाद यहां भी हो 455 00:22:31,420 --> 00:22:35,790 क्वेरी, न्यूमैन मेज से चला गया है। 456 00:22:35,790 --> 00:22:40,460 >> इसलिए इन सभी आपरेशनों, मैंने कहा गया है, के रूप में phpMyAdmin में क्या करना बहुत आसान है। 457 00:22:40,460 --> 00:22:43,020 यह एक बहुत उपयोगकर्ता के अनुकूल इंटरफेस है। 458 00:22:43,020 --> 00:22:45,930 लेकिन यह मैनुअल प्रयास की आवश्यकता है। 459 00:22:45,930 --> 00:22:47,840 हम पुस्तिका प्रयास को रोजगार के लिए नहीं करना चाहती। 460 00:22:47,840 --> 00:22:51,280 हम अपने कार्यक्रमों करना चाहते हैं ठीक है, हमारे लिए ऐसा करते हैं? 461 00:22:51,280 --> 00:22:53,190 तो हम क्या करना चाहते हो सकता है इस प्रोग्राम के। 462 00:22:53,190 --> 00:22:56,410 हम एसक्यूएल को शामिल करना चाहते हैं और है कुछ और हमारे लिए यह करने के लिए। 463 00:22:56,410 --> 00:23:02,710 >> लेकिन क्या हम अनुमति देता है कि देखा है हमें प्रोग्राम के कुछ करने के लिए? 464 00:23:02,710 --> 00:23:03,690 हम सही, पीएचपी देखा है? 465 00:23:03,690 --> 00:23:05,760 यह कुछ का परिचय हमारे कार्यक्रमों में गतिशीलता। 466 00:23:05,760 --> 00:23:10,430 और तो सौभाग्य से, एसक्यूएल और पीएचपी एक साथ बहुत अच्छी तरह से खेलते हैं। 467 00:23:10,430 --> 00:23:13,230 PHP में एक समारोह नहीं है इस्तेमाल किया जा सकता है, जो कहा जाता है, क्वेरी,। 468 00:23:13,230 --> 00:23:15,870 और आप के रूप में पारित कर सकते हैं पैरामीटर या तर्क 469 00:23:15,870 --> 00:23:19,210 एक एसक्यूएल क्वेरी क्वेरी करने के लिए कि आप पर अमल करना चाहते हैं। 470 00:23:19,210 --> 00:23:23,250 और पीएचपी अपनी ओर से यह करना होगा। 471 00:23:23,250 --> 00:23:25,564 >> आप जुड़े करने के बाद तो PHP के साथ अपने डेटाबेस के लिए, 472 00:23:25,564 --> 00:23:26,980 यदि आप इस करते दो प्राइमरी नहीं है। 473 00:23:26,980 --> 00:23:29,230 कुछ कहा mysqli नहीं है और कुछ पीडीओ बुलाया। 474 00:23:29,230 --> 00:23:31,063 हम एक विशाल में नहीं जाना होगा वहाँ राशि विस्तार। 475 00:23:31,063 --> 00:23:32,957 CS50 में हम पीडीओ का उपयोग करें। 476 00:23:32,957 --> 00:23:34,790 आप जुड़े करने के बाद अपने डेटाबेस के लिए, आप 477 00:23:34,790 --> 00:23:40,980 तो प्रश्नों अपने डेटाबेस बना सकते हैं तर्क के रूप में प्रश्नों से गुजर रहा 478 00:23:40,980 --> 00:23:42,730 पीएचपी कार्य करने के लिए। 479 00:23:42,730 --> 00:23:46,460 आप ऐसा कर और, जब आप की दुकान एक साहचर्य सरणी में सेट नतीजा है। 480 00:23:46,460 --> 00:23:50,290 >> और हम साथ काम करने के लिए कैसे पता पीएचपी में साहचर्य arrays। 481 00:23:50,290 --> 00:23:52,630 तो मैं कुछ कह सकते हैं की तरह है- $ results-- 482 00:23:52,630 --> 00:23:55,470 PHP-- क्वेरी के बराबर होती है में यह है। 483 00:23:55,470 --> 00:23:57,660 और फिर अंदर की तर्क है कि क्वेरी समारोह 484 00:23:57,660 --> 00:24:00,130 मैं क्वेरी करने के लिए गुजर रहा हूँ कि कि एसक्यूएल की तरह लग रहा है। 485 00:24:00,130 --> 00:24:01,160 और वास्तव में एसक्यूएल है कि। 486 00:24:01,160 --> 00:24:05,700 यही कारण है कि मैं होता क्वेरी स्ट्रिंग है अपने डेटाबेस पर अमल करने के लिए पसंद करते हैं। 487 00:24:05,700 --> 00:24:09,250 >> और तो लाल रंग में, इस पीएचपी है। 488 00:24:09,250 --> 00:24:11,890 यह मैं हूँ कि एसक्यूएल है बनाकर पीएचपी में एकीकृत 489 00:24:11,890 --> 00:24:15,020 यह क्वेरी समारोह के लिए तर्क। 490 00:24:15,020 --> 00:24:19,640 मैं से fullname चयन करना चाहते हैं आईडी नंबर 10 के बराबर होती है, जहां उपयोगकर्ता। 491 00:24:19,640 --> 00:24:22,560 और फिर मैंने किया है कि हो सकता है के बाद, मैं कुछ इस तरह कह सकते हैं। 492 00:24:22,560 --> 00:24:25,550 मैं बाहर मुद्रित करना चाहते हैं में प्रवेश के लिए संदेश धन्यवाद। 493 00:24:25,550 --> 00:24:32,530 >> और मुझे लगता है मैं चाहता हूँ कि यह interpolate-- चाहते हैं $ परिणाम FULLNAME बैठाना। 494 00:24:32,530 --> 00:24:36,280 और इतना है कि मैं उस के साथ कैसे काम करते हैं मैं वापस आ गया है कि साहचर्य सरणी। 495 00:24:36,280 --> 00:24:39,730 $ परिणाम FULLNAME होगा मूल रूप से बाहर मुद्रण खत्म होता है, 496 00:24:39,730 --> 00:24:42,870 में जैरी Seinfeld प्रवेश करने के लिए धन्यवाद। 497 00:24:42,870 --> 00:24:46,570 यही कारण है कि पूरा नाम था जहां idnum 10 के बराबर होती है। 498 00:24:46,570 --> 00:24:48,850 >> और इतना सब मैं कर रहा हूँ मैं now-- मैं संग्रहीत कर रहा हूँ है 499 00:24:48,850 --> 00:24:52,780 मेरा प्रश्न है, मेरे क्वेरी के परिणाम और एक साहचर्य सरणी में परिणाम है, 500 00:24:52,780 --> 00:24:56,330 और FULLNAME का नाम है मैं के लिए हो रही थी स्तंभ। 501 00:24:56,330 --> 00:25:01,010 तो यह है कि परिणामों में मेरी चाबी है मैं चाहता हूँ कि साहचर्य सरणी। 502 00:25:01,010 --> 00:25:05,930 तो धन्यवाद में प्रवेश करने के लिए, $ परिणाम, FULLNAME रहना होगा, बाहर प्रिंट होगा 503 00:25:05,930 --> 00:25:08,654 सही उन घुंघराले के बीच में ब्रेसिज़, जैरी Seinfeld। 504 00:25:08,654 --> 00:25:11,820 और मैं बाहर संदेश मुद्रित करने के लिए पसंद करेंगे जैरी Seinfeld में प्रवेश करने के लिए धन्यवाद। 505 00:25:11,820 --> 00:25:16,652 >> अब, हम शायद मुश्किल नहीं करना चाहते हैं उस में की तरह कोड बातें, है ना? 506 00:25:16,652 --> 00:25:19,860 हम प्रिंट की तरह कुछ करना चाहते हो सकता है हम स्थानापन्न और शायद कर सकते हैं जहां च, 507 00:25:19,860 --> 00:25:22,443 विभिन्न जानकारी एकत्रित करते हैं, या हो सकता है क्वेरी प्रक्रिया है 508 00:25:22,443 --> 00:25:23,370 अलग जानकारी। 509 00:25:23,370 --> 00:25:27,920 और तो क्वेरी, क्वेरी कार्य किया है प्रतिस्थापन की तरह इस धारणा 510 00:25:27,920 --> 00:25:32,310 प्रतिशत एफ मुद्रित करने के लिए बहुत समान और प्रतिशत ग, प्रश्न चिह्न है। 511 00:25:32,310 --> 00:25:34,290 >> और हम सवाल उपयोग कर सकते हैं निशान बहुत तुलनात्मक 512 00:25:34,290 --> 00:25:38,400 स्थानापन्न चर के च मुद्रित करने के लिए। 513 00:25:38,400 --> 00:25:44,120 इसलिए हो सकता है आपका उपयोगकर्ता पहले में लॉग इन, और आप उनके यूजर आईडी नंबर को बचाया 514 00:25:44,120 --> 00:25:51,710 पीएचपी सुपर के $ देखना में कुंजी आईडी में वैश्विक। 515 00:25:51,710 --> 00:25:55,947 वे में लॉग इन तो शायद के बाद, आप, आईडी 10 के बराबर होती है $ देखना सेट 516 00:25:55,947 --> 00:25:58,280 उदाहरण से extrapolating हम सिर्फ एक दूसरे पहले देखा था। 517 00:25:58,280 --> 00:26:01,960 >> और इसलिए हम वास्तव में अमल जब यही नहीं, अब परिणाम क्वेरी 518 00:26:01,960 --> 00:26:08,440 यह 10 में प्लग, या जो कुछ भी होता है $ देखना आईडी मूल्य है। 519 00:26:08,440 --> 00:26:10,790 और इतना है कि करने के लिए हमें की अनुमति देता है थोड़ा और अधिक गतिशील हो। 520 00:26:10,790 --> 00:26:12,699 हम कड़ी में अब बातें कोडिंग नहीं कर रहे हैं। 521 00:26:12,699 --> 00:26:14,490 हम सूचना बचत कर रहे हैं कहीं और उसके बाद 522 00:26:14,490 --> 00:26:18,924 हम करने के लिए फिर उस जानकारी का उपयोग कर सकते हैं एक तरह से हम क्या करना चाहते हैं सामान्यीकरण, 523 00:26:18,924 --> 00:26:21,090 और सिर्फ प्लग में और परिवर्तन हमारे पेज का व्यवहार 524 00:26:21,090 --> 00:26:26,489 क्या उपयोगकर्ता की पहचान संख्या के आधार पर वे में लॉग इन करने के बाद वास्तव में है। 525 00:26:26,489 --> 00:26:28,530 यह, हालांकि, यह भी संभव है अपने परिणामों की स्थापना की है कि 526 00:26:28,530 --> 00:26:30,840 एकाधिक पंक्तियों से मिलकर सकता है। 527 00:26:30,840 --> 00:26:33,990 जो मामले में, आपके पास arrays-- की एक सरणी 528 00:26:33,990 --> 00:26:35,334 साहचर्य arrays की एक सरणी। 529 00:26:35,334 --> 00:26:37,000 और तुम बस के माध्यम से पुनरावृति करने की जरूरत है। 530 00:26:37,000 --> 00:26:41,950 और हम पुनरावृति करने के लिए पता PHP में एक सरणी के माध्यम से, है ना? 531 00:26:41,950 --> 00:26:45,600 यहाँ तो शायद सबसे अधिक है हम अब तक देखा है जटिल चीज है। 532 00:26:45,600 --> 00:26:49,640 यह वास्तव में एकीकृत करता है एक साथ तीन भाषाओं। 533 00:26:49,640 --> 00:26:52,920 >> यहाँ लाल रंग में, यह कुछ HTML है। 534 00:26:52,920 --> 00:26:56,872 मैं जाहिरा तौर पर यह है starting-- रहा हूँ मुझे लगता है कि कुछ HTML का एक टुकड़ा। 535 00:26:56,872 --> 00:26:59,580 मैं एक नया पैरा कि शुरू कर रहा हूँ टीवी के Seinfeld की माताओं कहते हैं। 536 00:26:59,580 --> 00:27:02,350 और फिर तुरंत बाद मैं एक मेज शुरू कर रहा हूँ। 537 00:27:02,350 --> 00:27:06,060 और फिर उसके बाद, मैं ठीक है, कुछ पीएचपी है? 538 00:27:06,060 --> 00:27:08,229 मैं वहाँ में इस PHP कोड के सभी है। 539 00:27:08,229 --> 00:27:09,645 मैं जाहिरा तौर पर एक क्वेरी बनाने जा रहा हूँ। 540 00:27:09,645 --> 00:27:14,180 और क्वेरी बनाने के लिए, मैं करने जा रहा हूँ माताओं से चयन माताओं का उपयोग किया। 541 00:27:14,180 --> 00:27:15,970 >> तो यह इस एसक्यूएल है getting-- है। 542 00:27:15,970 --> 00:27:17,300 तो नीले एसक्यूएल है। 543 00:27:17,300 --> 00:27:19,680 हम एक दूसरे के पहले देखा था लाल एचटीएमएल था। 544 00:27:19,680 --> 00:27:21,360 और यहाँ हरी पीएचपी है। 545 00:27:21,360 --> 00:27:23,400 तो मैं एक प्रश्न कर रहा हूँ अपने डेटाबेस के लिए, मैं कर रहा हूँ 546 00:27:23,400 --> 00:27:26,040 के सभी का चयन माताओं तालिका में माताओं। 547 00:27:26,040 --> 00:27:30,710 सिर्फ विशेष करने के लिए इसे नीचे कम नहीं पंक्ति, मैं उन सभी के लिए पूछ रहा हूँ। 548 00:27:30,710 --> 00:27:33,290 >> परिणाम है तो मैं जांच नहीं के बराबर होती है झूठी बराबर होती है। 549 00:27:33,290 --> 00:27:37,410 इस तरह की जाँच का सिर्फ मेरा तरीका है परिणाम शून्य के बराबर नहीं है की यदि, 550 00:27:37,410 --> 00:27:40,260 हम उदाहरण के लिए ग देखना होगा कि। 551 00:27:40,260 --> 00:27:44,000 असल में यह सिर्फ बनाने के लिए जाँच कर रहा है यह वास्तव में डेटा वापस मिल गया है सुनिश्चित करें। 552 00:27:44,000 --> 00:27:47,041 मैं छपाई शुरू नहीं करना चाहते क्योंकि डेटा बाहर मैं किसी भी डेटा नहीं मिला है। 553 00:27:47,041 --> 00:27:50,690 फिर एक परिणाम के रूप में प्रत्येक परिणाम के लिए पीएचपी से foreach वाक्य रचना, सब मैं कर रहा हूँ 554 00:27:50,690 --> 00:27:53,399 $ परिणाम माताओं बाहर मुद्रण है। 555 00:27:53,399 --> 00:27:55,940 और इसलिए मैं एक सेट प्राप्त करने के लिए जा रहा हूँ each-- की माताओं के सभी की 556 00:27:55,940 --> 00:27:59,980 यह साहचर्य की एक सरणी है arrays-- और मैं बाहर मुद्रण कर रहा हूँ 557 00:27:59,980 --> 00:28:03,649 एक मेज के अपने स्वयं के पंक्ति के रूप में हर एक। 558 00:28:03,649 --> 00:28:05,690 और कहा कि वास्तव में सुंदर है ज्यादा सब वहाँ यह है। 559 00:28:05,690 --> 00:28:07,750 मैं एक छोटे से पता है वहाँ बिट यहाँ पर जा रहा 560 00:28:07,750 --> 00:28:13,210 की सरणियों के साथ यह पिछले उदाहरण में साहचर्य arrays की सरणियों arrays--। 561 00:28:13,210 --> 00:28:17,340 लेकिन यह वास्तव में सिर्फ फोड़ा करता एक क्वेरी बनाने के लिए एसक्यूएल में नीचे, 562 00:28:17,340 --> 00:28:21,102 हम पहले से ही के बाद आमतौर पर का चयन तालिका में जानकारी रखना, 563 00:28:21,102 --> 00:28:22,310 और फिर बस इसे बाहर खींच रहा है। 564 00:28:22,310 --> 00:28:25,710 >> और यह है कि हम यह पुल होता है इस विशेष मामले में बाहर। 565 00:28:25,710 --> 00:28:31,120 हम व्यक्ति के सभी निकालने होगा माताओं की मेज से माताओं। 566 00:28:31,120 --> 00:28:35,970 हम उनमें से एक पूरे सेट मिला है, और हम के माध्यम से पुनरावृति और बाहर मुद्रित करना चाहते हैं 567 00:28:35,970 --> 00:28:37,630 प्रत्येक। 568 00:28:37,630 --> 00:28:40,510 तो फिर, यह शायद है सबसे जटिल उदाहरण 569 00:28:40,510 --> 00:28:44,510 हम तीन मिश्रण कर रहे हैं क्योंकि हमने देखा है अलग-अलग भाषाओं में एक साथ, है ना? 570 00:28:44,510 --> 00:28:50,100 >> फिर, हम यहां लाल रंग में HTML है, नीले रंग में यहाँ कुछ एसक्यूएल के साथ मिश्रित, 571 00:28:50,100 --> 00:28:52,049 हरे रंग में कुछ PHP के साथ मिलाया। 572 00:28:52,049 --> 00:28:53,840 लेकिन इन सभी को खेलने के अच्छी तरह से एक साथ, यह है 573 00:28:53,840 --> 00:28:57,060 विकसित होने का सिर्फ एक मामला अच्छी आदतें आपको मिल सकता है इतना है कि 574 00:28:57,060 --> 00:28:58,780 उन्हें आप चाहते हैं जिस तरह एक साथ काम करने के लिए। 575 00:28:58,780 --> 00:29:03,790 और एक ही रास्ता है कि वास्तव में क्या करने के लिए अभ्यास, अभ्यास, अभ्यास करने के लिए है। 576 00:29:03,790 --> 00:29:06,740 मैं डौग लॉयड हूँ, इस CS50 है। 577 00:29:06,740 --> 00:29:08,647