1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [એસક્યુએલ] 2 00:00:02,000 --> 00:00:04,000 [ક્રિસ્ટોફર BARTHOLOMEW] [હાર્વર્ડ યુનિવર્સિટી] 3 00:00:04,000 --> 00:00:06,000 [આ CS50 છે] [ટીવી CS50] 4 00:00:07,950 --> 00:00:11,620 તેથી, પ્રોગ્રામરો એક સાધન તરીકે ડેટાબેઝો વાપરવા માટે સંગ્રહવા માટે અને ગોઠવો 5 00:00:11,620 --> 00:00:13,620 કોષ્ટકો અંદર અમારા સતત માહિતી. 6 00:00:13,620 --> 00:00:18,960 આનો અર્થ એ થાય છે કે જે તમારા દશાંશ માહિતી હાર્ડ ડ્રાઇવ જેવા બિન-અસ્થિર medians પર સંગ્રહિત થાય છે, 7 00:00:18,960 --> 00:00:22,940 અને ત્યારે પણ કોમ્પ્યુટર બંધ છે તો, માહિતી હજુ પણ અકબંધ. 8 00:00:22,940 --> 00:00:29,530 અને, પ્રોગ્રામરો તરીકે, અમારા પ્રોગ્રામ સ્ટોર કરવાનો જેમ કે દૃશ્યો માટે ડેટાબેઝ ઉપયોગ કરે છે 9 00:00:29,530 --> 00:00:32,890 વેબ ફોર્મ્સ વપરાશકર્તા જાણકારી, અપ યાદી looking, 10 00:00:32,890 --> 00:00:36,210 અથવા સાઇટ્સ શું પ્રદર્શિત વિશે જાણકારી અપડેટ. 11 00:00:37,150 --> 00:00:40,070 પરંતુ અમે કેવી રીતે ખરેખર અમારી ડેટાબેઝ સાથે સંચાર કરે છે, 12 00:00:40,070 --> 00:00:43,150 અથવા આપણે શું વાંચવા, સંગ્રહ, કાઢી નાખો ઉપયોગ નથી કરતા, 13 00:00:43,150 --> 00:00:46,070 અને આ ડેટાબેઝ કોષ્ટકો અંદર અમારી માહિતી અપડેટ કરે? 14 00:00:47,280 --> 00:00:49,700 વેલ, તો જવાબ છે કે અમે ડેટાબેઝ ભાષા એ વિશિષ્ટ પ્રકારનો ઉપયોગ 15 00:00:49,700 --> 00:00:53,400 જે આપણા ડેટાબેઝ કોષ્ટકો સાથે સીધી રીતે સંપર્ક કરે છે. 16 00:00:53,400 --> 00:00:56,740 તે નામ પ્રશ્ન ભાષા સ્વરુપમાં છે, 17 00:00:56,740 --> 00:00:58,740 [સ્ટ્રક્ચર્ડ ક્વેરી ભાષા] 18 00:00:58,740 --> 00:01:00,740 અથવા શું હું એસક્યુએલ તરીકે નો સંદર્ભ લો. 19 00:01:00,740 --> 00:01:05,100 >> હવે, [QueL-સે] અથવા, એસક્યુએલ, કોઇ પ્રોગ્રામીંગ ભાષા નથી, 20 00:01:05,100 --> 00:01:08,580 પરંતુ તેના બદલે, તે ભાષા આદેશો પ્રમાણભૂત સમૂહ પૂરો છે 21 00:01:08,580 --> 00:01:13,520 માટે મેળવવા અને ડેટાબેઝ મેનેજમેન્ટ સિસ્ટમો વિવિધ માહિતી ચાલાકી. 22 00:01:13,520 --> 00:01:17,630 CS50 હેતુ માટે, અમે ઉપર ચાર મૂળભૂત આદેશો જઈશ: 23 00:01:17,630 --> 00:01:21,210 પસંદ કરો, સામેલ કરો, સુધારવા, અને કાઢી નાંખો. 24 00:01:21,210 --> 00:01:26,230 વધુમાં, અમે એક ડેટાબેઝ વેબ phpMyAdmin કહેવાય ઈન્ટરફેસ ઉપયોગ કરે પડશે, 25 00:01:26,230 --> 00:01:29,890 જે ઉપકરણ પર સ્થાપિત કરવા માટે અમારી એસક્યુએલ નિવેદનો લખો. 26 00:01:30,830 --> 00:01:33,050 તેથી મદદ માટે તમે આ આદેશો યાદ રાખો કે, 27 00:01:33,050 --> 00:01:37,080 હું અમારા દૃશ્યો સાથે સહાય આલમારી કેટલાક cupcakes લાવવામાં કર્યું છે. 28 00:01:39,650 --> 00:01:42,210 કહો તમે એક કપકેક ડેટાબેઝ હોય છે, 29 00:01:42,210 --> 00:01:44,490 જ્યાં તમે તમારી cupcakes વિશે તમામ માહિતી સ્ટોર કરે છે. 30 00:01:44,490 --> 00:01:48,220 હવે, ડેટાબેઝો ઘણા કોષ્ટકો સમાવી શકે છે 31 00:01:48,220 --> 00:01:50,950 અને પોતે કોષ્ટકો ઘણા બધા કૉલમ સમાવી શકે છે. 32 00:01:50,950 --> 00:01:57,020 અમારી કપકેક ડેટાબેઝ અંદર, અમે એક cupcake_cupboard કહેવાય ટેબલ હોય છે. 33 00:01:57,020 --> 00:02:00,500 આ ટેબલ cupcakes વિશે તમામ માહિતી સંગ્રહવા માટે વાપરવામાં આવશે 34 00:02:00,500 --> 00:02:02,990 કે છે, સાથે સાથે તમારા આલમારી છે. 35 00:02:02,990 --> 00:02:07,770 આ કૉલમ કે જે તમારા ટેબલ અંદર છે કપકેક લક્ષણો દર્શાવે છે. 36 00:02:07,770 --> 00:02:14,560 ઉદાહરણ માટે, cupcake_cupboard કૉલમ છે 37 00:02:14,560 --> 00:02:15,920 કેક ID ને, CakeType, CakeColor, અને CakeIsNice. 38 00:02:15,920 --> 00:02:23,040 આ સ્તંભ બુલિયન-લખેલા તે નક્કી કરવા માટે જો કેક સરસ નથી અથવા સરસ ઉપયોગ થાય છે. 39 00:02:23,040 --> 00:02:26,560 અમે પસંદ નિવેદન લખી સાથે શરૂ રહ્યા છીએ. 40 00:02:26,560 --> 00:02:32,160 પસંદ કરો નિવેદનો ચોક્કસ ડેટાબેઝ કોષ્ટક માહિતી મેળવવા માટે વપરાય છે. 41 00:02:32,160 --> 00:02:34,890 આ સ્થિતિમાં, અમે બધું જાણવું 42 00:02:34,890 --> 00:02:39,080 બધા cupcakes કે અમારા આલમારી માં હાજર વિશે. 43 00:02:39,080 --> 00:02:48,670 આ શું વાક્યરચના "પસંદ કરો" જગ્યા તારો, અથવા *, અમારા ટેબલ જગ્યા માંથી જગ્યા છે, 44 00:02:48,670 --> 00:02:52,050 જે cupcake_cupboard છે. 45 00:02:52,050 --> 00:02:54,640 ચાલો આગળ વધો અને તે ચલાવો. 46 00:02:56,670 --> 00:03:00,140 >> આપણે જોઈ શકે છે, આ અમારી આલમારી બધી cupcakes છે. 47 00:03:00,140 --> 00:03:05,110 તે મહત્વપૂર્ણ છે કે *, અથવા ફૂદડી નોંધ, વાઈલ્ડ કાર્ડ અક્ષર છે 48 00:03:05,110 --> 00:03:08,830 કે જેણે અમુક કોષ્ટક તમામ કૉલમ્સ ભેગી સૂચવે છે. 49 00:03:08,830 --> 00:03:13,650 સામાન્ય રીતે, અમે ચોક્કસ સ્તંભ અથવા કૉલમ્સ ઍક્સેસ કરી શકો છો 50 00:03:13,650 --> 00:03:16,950 વાસ્તવિક સ્તંભ નામ સાથે બદલીને * દ્વારા. 51 00:03:16,950 --> 00:03:21,220 જો અમે બહુવિધ કૉલમ કરવા માંગો છો, પરંતુ તમામ નથી, અમે આ હાંસલ કરી શકે 52 00:03:21,220 --> 00:03:25,620 સ્તંભ અલ્પવિરામ દ્વારા દરેક કૉલમ delimiting નામો લખીને. 53 00:03:25,620 --> 00:03:28,620 ઉદાહરણ તરીકે, ચાલો માત્ર CakeId અને cupcake_cupboard કોષ્ટકમાં CakeType મેળવે. 54 00:03:28,620 --> 00:03:38,370 પસંદ જગ્યા CakeID અલ્પવિરામ છે: આ કરવા માટે વાક્યરચના છે 55 00:03:38,370 --> 00:03:44,370 અમારા ટેબલ cupcake_cupboard માંથી CakeType જગ્યા. 56 00:03:44,370 --> 00:03:46,370 ચાલો આગળ વધો અને આ ચલાવો. 57 00:03:49,340 --> 00:03:52,670 અને અહીં, આપણે હવે માત્ર બે કૉલમ અમે સ્પષ્ટ હોય છે 58 00:03:52,670 --> 00:03:54,670 અમારા આલમારી દરેક કપકેક છે. 59 00:03:54,670 --> 00:03:57,710 અમે પણ સ્પષ્ટ કરીને અમારી ક્વેરી પરિણામોને રીફાઇન કરી શકો છો 60 00:03:57,710 --> 00:04:00,910 આ "વ્હેર" કલમ ટેબલ નામ પછી જ. 61 00:04:02,000 --> 00:04:05,410 ઉદાહરણ તરીકે, તેમાં અમારી આલમારી એક કપકેક હોય તેવું લાગે છે 62 00:04:05,410 --> 00:04:08,660 એટલે કે, પણ શોધી નથી એવું સરસ. 63 00:04:08,660 --> 00:04:13,950 ચાલો અમારી આલમારી તમામ cupcakes કે, સારી સરસ છે, તેથી નથી આકૃતિ looking 64 00:04:13,950 --> 00:04:16,110 આ "વ્હેર" કલમ મદદથી. 65 00:04:16,110 --> 00:04:26,390 જગ્યા cupcake_cupboard પસંદ જગ્યા * જગ્યા છે: આ કરવા માટે વાક્યરચના છે 66 00:04:26,390 --> 00:04:34,080 જગ્યા છે જ્યાં આ કેસ અમારી શરતી સ્તંભ જગ્યા, CakeIsNice =, 67 00:04:34,080 --> 00:04:36,900 અને ખોટું ના બુલિયન મૂલ્ય. 68 00:04:36,900 --> 00:04:42,750 તે મહત્વપૂર્ણ છે કે જો તમે શબ્દમાળાઓ વાપરી રહ્યા હોય, તો તમે તેને એક જ અવતરણચિહ્નો માં બંધ કરવું જ પડશે. 69 00:04:42,750 --> 00:04:49,620 આ એસક્યુએલ બધી શબ્દમાળાઓ માટે સાચું છે, અથવા SQL ડેટાબેઝ શરતો માં, ચલ અક્ષરો 70 00:04:49,620 --> 00:04:51,620 Varchar datatype તરીકે ઓળખાય છે. 71 00:04:51,620 --> 00:04:57,660 આ કિસ્સામાં, અમે સાચું અથવા ખોટું વાપરી રહ્યા હોય, જે બુલિયન કિંમત નથી અને એક શબ્દમાળા છે. 72 00:04:59,120 --> 00:05:00,660 ચાલો આગળ વધો અને આ આદેશ ચલાવો. 73 00:05:00,660 --> 00:05:05,340 >> લો અને જોયેલું, તે કેસ કે અમે 1 ચોકલેટ હોય છે 74 00:05:05,340 --> 00:05:07,920 અમારા આલમારી માં કપકેક આમ નહીં સરસ. 75 00:05:09,620 --> 00:05:11,460 આગળ, અમે એક insert નિવેદન લખી રહ્યા છીએ. 76 00:05:11,460 --> 00:05:15,560 Insert નિવેદનો શામેલ કરવા અથવા ઉમેરવા માટે વાપરી રહ્યા છે 77 00:05:15,560 --> 00:05:17,770 તમારા ડેટાબેઝ કોષ્ટકમાં માહિતી વધારાની પંક્તિઓ. 78 00:05:17,770 --> 00:05:23,160 અમારા દૃશ્ય Revisiting, ચાલો ધારે છે કે અમે માત્ર એક તદ્દન નવું કપકેક કર્યા છે. 79 00:05:25,910 --> 00:05:30,080 કારણ કે આપણે ખૂબ કપકેક ખાનારા યોજવામાં આવે છે, અમે આ નવા કપકેક સામેલ હોય રહ્યા છીએ 80 00:05:30,080 --> 00:05:32,330 અમારા cupcake_cupboard કોષ્ટકમાં. 81 00:05:32,330 --> 00:05:40,690 આ શું વાક્યરચના આ છે: અમારા ટેબલ અવકાશમાં જગ્યા શામેલ કરો, 82 00:05:40,690 --> 00:05:46,830 cupcake_cupboard (જગ્યા, 83 00:05:46,830 --> 00:05:51,060 અને અહીં આપણે કૉલમ નામો સ્પષ્ટ કરવા માટે, અલ્પવિરામ દ્વારા સીમાંકિત, 84 00:05:51,060 --> 00:05:59,790 CakeType અલ્પવિરામ CakeColor જગ્યા CakeIsNice અલ્પવિરામ). 85 00:05:59,790 --> 00:06:06,540 આ બાદ, અમે શબ્દ કિંમતો (જગ્યા લખી, અહીં અને 86 00:06:06,540 --> 00:06:12,170 અમે દરેક કૉલમ માટે કિંમત અનુક્રમે દાખલ કરો, પણ અલ્પવિરામ દ્વારા સીમાંકિત. 87 00:06:12,170 --> 00:06:17,830 એક ક્વોટ છે, કારણ કે તેઓ તમામ Varchar કિંમતો અમે તેમને એક જ અવતરણચિહ્નો માં ફરતે પડશે, 88 00:06:17,830 --> 00:06:26,780 પીનટ બટર 'અલ્પવિરામ' પ્રકાશ 'BROWN અલ્પવિરામ સાચું. 89 00:06:26,780 --> 00:06:30,480 હવે, તે મહત્વપૂર્ણ છે દરેક પંક્તિ એક અનન્ય પોતાને ઓળખવા નંબર આપે છે. 90 00:06:30,480 --> 00:06:33,660 એક કૉલમ Autoincrementing તરીકે આ પૂરી પાડે છે 91 00:06:33,660 --> 00:06:37,410  "ના બે જ ID ને ક્યારેય આ કોષ્ટકમાં અસ્તિત્વ ધરાવે છે." 92 00:06:37,410 --> 00:06:39,480 ચાલો આગળ વધો અને ચલાવો. 93 00:06:39,480 --> 00:06:45,380 ત્યાં અમે જાઓ, બધા સંગઠિત. 94 00:06:49,720 --> 00:06:52,100 >> આગામી એસક્યુએલ નિવેદન કે અમે લખશે સુધારો વિધાન છે. 95 00:06:52,100 --> 00:06:55,650 આ સુધારા નિવેદન કરવા માટે સ્તંભ અંદર માહિતી સુધારવા માટે પણ વાપરી શકાય છે 96 00:06:55,650 --> 00:06:58,440 તમારા ડેટાબેઝ કોષ્ટક કોઈપણ હાલની પંક્તિ છે. 97 00:06:59,670 --> 00:07:03,420 અમારા કિસ્સાઓમાં અગાઉ એક પસંદ કરો નિવેદન વાપરી રહ્યા હોય, તો અમે એક કપકેક ઓળખી 98 00:07:03,420 --> 00:07:08,300 અમારી cupcake_cupboard કોષ્ટકમાં જેના CakeIsNice કિંમત ખોટું હતું. 99 00:07:08,300 --> 00:07:12,050 ચાલો ધારે છે કે જ્યારે અમારા મગફળીના માખણ કપકેક પકાવવાની નાની ભઠ્ઠી હતી, 100 00:07:12,050 --> 00:07:15,790 અમે અમારા ન જેથી-સરસ કપકેક ખૂબ સરસ કરી હતી. 101 00:07:18,020 --> 00:07:22,240 આવી રહી છે જેથી અપવાદરૂપે આયોજન, અમે અમારી કપકેક આ કિંમત પ્રતિબિંબિત કરવા માંગો છો 102 00:07:22,240 --> 00:07:24,240 અમારા cupcake_cupboard કોષ્ટકમાં. 103 00:07:24,240 --> 00:07:28,710 તેથી, ચાલો અમારા ડેટાબેઝમાં ચોકલેટ કપકેક અપડેટ કરવા માટે આ દર્શાવે છે. 104 00:07:28,710 --> 00:07:39,720 અદ્યતન જગ્યા અમારા ટેબલ, cupcake_cupboard, જગ્યા સેટ જગ્યા: વાક્યરચના છે 105 00:07:39,720 --> 00:07:44,240 સ્તંભ કે અમે બદલવા માંગો છો, CakeIsNice =. 106 00:07:44,240 --> 00:07:49,210 પછી અહીં અમે અમારા નવા કિંમત સાચું જગ્યા મૂકો. 107 00:07:49,210 --> 00:07:54,290 હવે, કારણ કે અમે આ કિંમત સાથે બધી પંક્તિઓ અપડેટ કરવા નથી માંગતા, 108 00:07:54,290 --> 00:07:57,400 અમે એક "ક્યાં" ખંડ કે અમને નિર્દેશ કરશે આપવા માંગો છો 109 00:07:57,400 --> 00:07:59,830 ચોક્કસ પંક્તિ કે અમે સુધારવા માંગો છો. 110 00:07:59,830 --> 00:08:03,690 આ કિસ્સામાં, આપણે જાણીએ છીએ કે ત્યાં માત્ર એક કપકેક છે 111 00:08:03,690 --> 00:08:06,670 કે ખોટું એક CakeIsNice મૂલ્ય છે. 112 00:08:06,670 --> 00:08:11,030 વધુમાં, અમે પણ ખાતરી કરે છે કે અમે યોગ્ય પંક્તિ અપડેટ હોય 113 00:08:11,030 --> 00:08:13,030 આ "અને" કલમ ઉપયોગ કરીને. 114 00:08:14,340 --> 00:08:17,270 અમે "અને" કલમ વાપરવા માટે અમારા ક્વેરી વધુ રિફાઇન. 115 00:08:17,270 --> 00:08:20,380 આ કિસ્સામાં, અમે કારણ કે ખબર કે કપકેક ચોકલેટ છે, 116 00:08:20,380 --> 00:08:23,160 અમે આ CakeType સ્તંભ ઉપયોગ કરશે. 117 00:08:23,160 --> 00:08:31,500 અમારા શરતી સ્તંભ જગ્યા CakeIsNice જગ્યા = ફોલ્સ જગ્યા કયાં, 118 00:08:31,500 --> 00:08:38,330 અને જગ્યા CakeType 'CHOCOLATE.' = 119 00:08:38,330 --> 00:08:41,880 તેથી, તે બધા ભેગા મૂકી, આ સુધારો નિવેદન કહે છે 120 00:08:41,880 --> 00:08:44,670 અમારા કપકેક આલમારી બધી cupcakes શોધવા માટે, 121 00:08:44,670 --> 00:08:50,520 અને જો ત્યાં એક કપકેક સ્તંભ જેના CakeIsNice ધ ફોલ્સ કિંમત સમાવે છે 122 00:08:50,520 --> 00:08:54,130 અને CakeType કિંમત CHOCOLATE સમાવે છે, 123 00:08:54,130 --> 00:08:58,240 અમે સાચા પર ચોક્કસ પંક્તિઓ CakeIsNice કિંમત અપડેટ કરવા માંગો છો. 124 00:08:58,240 --> 00:09:01,140 તેથી, ચાલો આગળ વધો અને નિવેદન ચલાવો. 125 00:09:03,860 --> 00:09:05,860 અને હવે, અમે આયોજન કરી રહ્યા છીએ. 126 00:09:06,650 --> 00:09:09,220 >> Cupcakes બધા આ વાત મને થોડી ભૂખ્યા કરી છે. 127 00:09:09,220 --> 00:09:11,360 મને લાગે છે કે હું મારી જાતને એક મદદ કરીશું. 128 00:09:11,360 --> 00:09:17,670 પરંતુ જો હું ખરેખર આ કપકેક ખાય છે, હું ઓછામાં ઓછું પણ તેના અસ્તિત્વ દૂર કરવા જોઈએ 129 00:09:17,670 --> 00:09:19,670  અમારા cupcake_cupboard ટેબલ છે. 130 00:09:20,650 --> 00:09:22,590 આ કરવા માટે, અમે "કાઢી નાંખો" નિવેદન ઉપયોગ કરશે. 131 00:09:22,590 --> 00:09:27,400 આ "કાઢી નાંખો" સ્ટેટમેન્ટ માટે ટેબલ પરથી તમામ અથવા કેટલીક પંક્તિઓ દૂર કરવા માટે ઉપયોગ કરી શકાય છે. 132 00:09:27,400 --> 00:09:29,920 જો તમે ટેબલ માંથી કેટલીક ચોક્કસ પંક્તિ દૂર કરવા માંગો, 133 00:09:29,920 --> 00:09:34,360 પછી તમે "ક્યાં" કલમ પૂરી પાડે છે, તેથી એક સ્તંભ સ્પષ્ટ કરવું જ પડશે 134 00:09:34,360 --> 00:09:37,660 કે પંક્તિ કે જે તમે દૂર કરવા માંગો અનન્ય હોવા જોઈએ. 135 00:09:37,660 --> 00:09:47,370 આ વાક્યરચના છે: જગ્યા માંથી જગ્યા અમારા ટેબલ, જગ્યા cupcake_cupboard, કાઢી નાખો. 136 00:09:47,370 --> 00:09:51,760 હવે, આ બિંદુએ, તમે તમારા કાઢી નાંખો નિવેદનમાં સુધી જ્યારે પણ આ છે 137 00:09:51,760 --> 00:09:54,240 તમે ખૂબ કાળજી રાખો માંગો છો. 138 00:09:54,240 --> 00:09:59,970 ઉદાહરણ તરીકે, જો હું આ ક્વેરી ચલાવવા માંગો કેટલાક "વ્હેર" કલમ પૂરી વિના છે 139 00:09:59,970 --> 00:10:04,500 હું આ cupcake_cupboard ટેબલ બધી માહિતી ગુમાવશે, 140 00:10:04,500 --> 00:10:09,590 પરંતુ કારણ કે હું પહેલેથી જ ખબર છે કે મારી કેક ID ને અનન્ય છે, હું ઉપયોગ કરશો 141 00:10:09,590 --> 00:10:12,410 મારા "વ્હેર" કલમ માટે Red વેલ્વેટ કેક ID ને. 142 00:10:14,550 --> 00:10:20,670 જગ્યા કયાં અમારા સ્તંભ, = CakeID 1. 143 00:10:20,670 --> 00:10:25,010 કારણ કે આ એક પૂર્ણાંક કિંમત છે ત્યાં કોઈ તેને એક જ અવતરણચિહ્નો માં ફરતે જરૂર છે. 144 00:10:25,010 --> 00:10:27,020 તેથી, ચાલો સ્ટેટમેન્ટ ચલાવો. 145 00:10:33,560 --> 00:10:35,990 ઠીક છે, હવે કે જે આપણે આ કપકેક ના અસ્તિત્વ ખતમ કર્યા છે 146 00:10:35,990 --> 00:10:40,360 અમારા cupcake_cupboard ટેબલ, અમને માત્ર એક ડાબી વસ્તુ છે: 147 00:10:41,680 --> 00:10:43,680 તેને થઈ જાય છે. 148 00:10:43,680 --> 00:10:46,990 હું ક્રિસ્ટોફર BartholOmew છું. આ CS50 છે.