1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [এসকিউএল] 2 00:00:02,000 --> 00:00:04,000 [Christopher 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 ওয়েব ফর্ম থেকে ব্যবহারকারীর তথ্য, খুঁজছি জায় আপ, 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 >> এখন, [SE-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 বলুন আপনি একটি cupcake এর ডাটাবেস আছে, 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 এর ডাটাবেস ইনসাইড, আমরা একটি টেবিল বলা 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 কলাম আপনার টেবিল অভ্যন্তরে যে একটি cupcake বৈশিষ্ট্যাবলী প্রতিনিধিত্বকারী. 36 00:02:07,770 --> 00:02:14,560 উদাহরণস্বরূপ, cupcake_cupboard এর কলাম রয়েছে 37 00:02:14,560 --> 00:02:15,920 পিষ্টক আইডি, 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 আমাদের জন্য আলমারি প্রতিটি cupcake. 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 উদাহরণস্বরূপ, মনে হচ্ছে আমাদের আলমারি মধ্যে একটি cupcake করা আছে 62 00:04:05,410 --> 00:04:08,660 যে ভাল,, খুঁজছি চমৎকার তাই না. 63 00:04:08,660 --> 00:04:13,950 যাক এর মধ্যে সব আমাদের আলমারি cupcakes যে, ভাল হয়, তাই না Nice চিত্র আউট খুঁজছি 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 এই এসকিউএল সমস্ত স্ট্রিং জন্য সত্য হয়, অথবা, এসকিউএল ডাটাবেস পদ, বৈকল্পিক অক্ষর 70 00:04:49,620 --> 00:04:51,620 Varchar ডাটাটাইপ হিসাবে পরিচিত. 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 আমাদের আলমারি মধ্যে cupcake তাই সুন্দর না. 75 00:05:09,620 --> 00:05:11,460 এর পরে, আমরা একটি বিবৃতি সন্নিবেশ লিখুন চলুন. 76 00:05:11,460 --> 00:05:15,560 সন্নিবেশ বিবৃতি বা সন্নিবেশ যোগ করার জন্য ব্যবহৃত হয় 77 00:05:15,560 --> 00:05:17,770 অতিরিক্ত তথ্য আপনার ডেটাবেস টেবিলের মধ্যে সারি. 78 00:05:17,770 --> 00:05:23,160 আমাদের দৃশ্যকল্প Revisiting, আসুন আমরা যে মাত্র একটি ব্র্যান্ড নতুন cupcake করেছি নিই না. 79 00:05:25,910 --> 00:05:30,080 যেহেতু আমরা খুব cupcake ইটার সংগঠিত হয়, আমরা এই নতুন cupcake সন্নিবেশ আছে চলুন 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 চিনাবাদাম মাখন 'কমা' হালকা বাদামী 'কমা মুক্ত. 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 >> পরের SQL স্টেটমেন্ট যে আমরা লিখতে হবে একটি আপডেট বিবৃতি. 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 এর আগে আমাদের দৃশ্যকল্প, একটি নির্বাচন স্টেটমেন্ট ব্যবহার করে, আমরা একটি cupcake চিহ্নিত 98 00:07:03,420 --> 00:07:08,300 যার মূল্য আমাদের CakeIsNice cupcake_cupboard টেবিল এর মধ্যে ছিল মিথ্যা. 99 00:07:08,300 --> 00:07:12,050 এর যে সময় আমাদের চিনাবাদাম মাখন cupcake তন্দুর মধ্যে ছিল অনুমান করা যাক, 100 00:07:12,050 --> 00:07:15,790 আমরা করেন না, তাই আমাদের-চমৎকার cupcake খুব সুন্দর. 101 00:07:18,020 --> 00:07:22,240 বিশেষভাবে সংগঠিত হচ্ছে তাই, আমরা আমাদের cupcake এই মান প্রতিফলিত করতে চান 102 00:07:22,240 --> 00:07:24,240 আমাদের cupcake_cupboard টেবিল. 103 00:07:24,240 --> 00:07:28,710 অতএব, আসুন এই প্রতিফলিত আমাদের ডাটাবেসের মধ্যে চকলেট cupcake আপডেট. 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 এই ক্ষেত্রে, আমরা জানি যে শুধুমাত্র একটি cupcake আছে 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 কারণ এই ক্ষেত্রে, আমরা জানি যে cupcake হয় চকলেট, 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 = 'চকলেট.' 119 00:08:38,330 --> 00:08:41,880 সুতরাং, এটি নির্বাণ সব একসঙ্গে, এই আপডেটে, বিবৃতি বলা 120 00:08:41,880 --> 00:08:44,670 আমাদের cupcake আলমারি সব cupcakes খুঁজে, 121 00:08:44,670 --> 00:08:50,520 এবং যদি একটি cupcake যার কলাম CakeIsNice মূল্য ফলস দেওয়া আছে 122 00:08:50,520 --> 00:08:54,130 এবং CakeType রয়েছে মান চকলেট, 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 কিন্তু যদি আমি আসলে এই cupcake খেতে, আমি অন্তত তার অস্তিত্ব মুছে ফেলা আবশ্যক 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 লাল আমার "কোথায়" ধারা জন্য মখমল পিষ্টক আইডি. 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 অবশ্য, এখন যে আমরা এই cupcake অস্তিত্ব অপনোদিত করেছি 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.