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-- و آن را بسیار پلت فرم مشترک، آن را خروجی زیر نامیده می شود. 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 اما زبان SQL است در کار بسیار ماهر 51 00:02:24,650 --> 00:02:29,760 با MySQL و دیگر مشابه سبک های پایگاه داده های رابطه. 52 00:02:29,760 --> 00:02:34,010 >> و تاسیسات بسیاری از خروجی زیر را با چیزی آمده 53 00:02:34,010 --> 00:02:37,760 نام از phpMyAdmin، که یک کاربر گرافیکی است 54 00:02:37,760 --> 00:02:40,970 interface-- GUI-- که باعث می شود آن را کمی بیشتر 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 >> و همانطور که ما از ما می دانیم به عنوان مثال در برنامه نویسی تحت وب پی اچ پی، 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 و SQL ما را قادر به انجام این کار. 72 00:03:37,864 --> 00:03:39,780 بنابراین، هنگامی که ما قصد داریم به شروع به کار با SQL، 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 آن را OK به انجام این کار در یک رابط گرافیکی. 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 شاید نام کاربر و تاریخ تولد، رمز عبور، شماره ID کاربر، و شاید 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 >> بنابراین هر ستون SQL قادر است برگزاری اطلاعات از یک نوع داده خاص است. 100 00:05:03,210 --> 00:05:06,560 بنابراین ما از این حذف ایده از انواع داده در PHP، 101 00:05:06,560 --> 00:05:08,747 اما آنها تماس در SQL است. 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 به نگاه کردن به مرتب سازی بر SQL از راهنمای، شما 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 ما می توانیم هندسه و 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 GIS مختصات به رسم منطقه است. 124 00:06:05,110 --> 00:06:08,580 پس در واقع می تواند این نوع ذخیره اطلاعات در یک ستون SQL. 125 00:06:08,580 --> 00:06:11,390 >> متن فقط حباب های غول پیکر از متن است، شاید. 126 00:06:11,390 --> 00:06:12,840 Enum ها به نوعی جالب. 127 00:06:12,840 --> 00:06:16,080 آنها در واقع در C. وجود ما نمی صحبت در مورد آنها به دلیل آنها نیست 128 00:06:16,080 --> 00:06:19,110 وحشتناکی معمولا استفاده می شود، حداقل CS50. 129 00:06:19,110 --> 00:06:22,680 اما این یک نوع داده شمارشی که قادر به نگه داشتن ارزش های محدود است. 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 بنابراین CHAR، بر خلاف C که در آن CHAR یک شخصیت بود، 141 00:06:55,780 --> 00:07:00,730 در SQL یک کاراکتر اشاره به رشته ای با طول ثابت شده است. 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 >> بنابراین در این مثال، ما ممکن است CHAR (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 که ما آشنا هستید با از C و یا از پی اچ پی. 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 ما 15 بایت استفاده کنید، شاید 16 بایت برای نابودگر تهی. 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 ما به نوع تکرار کرده اند در سراسر آن درست مثل ما در C بود 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-- اگر CHAR ما 255 بود، اما بسیاری از کاربران ما 177 00:08:36,710 --> 00:08:40,537 تنها خواندن سه یا چهار بایت ارزش اطلاعات و یا سه یا چهار 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 انجام دو کاربر چه کسی از همان شماره ID کاربر. 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 اما ما تنها شماره ID یک کاربر 10، یک کاربر ID شماره 11، 12، 13. 199 00:09:40,766 --> 00:09:42,640 ما دو کاربران ندارد با همان تعداد، 200 00:09:42,640 --> 00:09:46,010 و تا شاید شماره ID کاربر می شود یک کلید اصلی است. 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 بنابراین شاید شما یکی از ستون است که به عنوان و BS، 211 00:10:16,410 --> 00:10:19,290 یک ستون که یکی، دو، و سه، اما شما تنها 212 00:10:19,290 --> 00:10:23,660 یک A1 تک، تک A2، و غیره و غیره. 213 00:10:23,660 --> 00:10:28,980 اما شما ممکن است یک B2، یک C2، و یا یک A1، A2، A3، A4. 214 00:10:28,980 --> 00:10:32,840 بنابراین شما نیز ممکن متعدد، چندین دارند BS، چند آنهایی که، Twos متعدد، 215 00:10:32,840 --> 00:10:38,567 اما شما فقط می توانید همیشه یک تنها A1، B2، C3، و غیره. 216 00:10:38,567 --> 00:10:40,400 همانطور که گفتم، SQL است زبان برنامه نویسی، 217 00:10:40,400 --> 00:10:42,024 اما آن را تا یک فرهنگ لغت بسیار محدود شده است. 218 00:10:42,024 --> 00:10:44,880 این کاملا به عنوان گسترده به عنوان C و 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 و شما احتمالا می تواند به طور مستقیم حدس می زنم چه تمام این چهار چیز را انجام دهید. 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-- شماره ID، نام کاربری، 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 این چیزی است که عمل INSERT کند. 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 >> بنابراین برای INSERT، اسکلت به نظر می رسد نوع مانند این. 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 نام کاربری، رمز عبور، و نام کامل. 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، و نام و نام خانوادگی سرمایه N 258 00:12:38,710 --> 00:12:41,940 نیومن در ستون نام کامل است. 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 من می گویند من می خواستم قرار دادن شماره ID در آن وجود دارد. 266 00:13:02,820 --> 00:13:04,900 من می خواستم به قرار دادن نام کاربری و رمز عبور، نام کامل. 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 مثل من گفت، تعداد ID. 273 00:13:16,510 --> 00:13:18,718 این همیشه لزوما برای رفتن به یک شماره ID، 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 و یا جدول خود را به مجموعه ای که ستون به عنوان خودرو افزایش. 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 پس از اجرای این ما پرس و جوی SQL، ما این. 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 SELECT چیزی است که ما استفاده برای استخراج اطلاعات از جدول. 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 معمولا مدت ما در SQL استفاده کنید. 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 >> باز هم، که در آن و ORDER BY اختیاری هستند. 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 بنابراین برای مثال، ممکن است بخواهید برای انتخاب شماره ID و نام کامل از کاربران است. 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 را انتخاب کنید نام و نام خانوادگی و از کاربران است. 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 من آن را متمرکز نمی، بنابراین من گرفتن شماره ID برای هر سطر 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 که در آن ID کاربر یا idnum کمتر از 12 است؟ 332 00:16:21,550 --> 00:16:24,910 من قصد دارم به این اطلاعات تماس، درست است؟ 333 00:16:24,910 --> 00:16:29,170 اتفاق می افتد که idnum 10 است، کمتر بیش از 12، شماره ID 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 OK، ستاره را انتخاب کنید خاص است مرتب کردن بر اساس کارت های وحشی به اصطلاح 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 این فقط یک مورد خاص از یک SELECT. 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 >> در این مورد، فکر می کنم در مورد آن را دوست دارم this-- جدول یک یک دایره در اینجا است، 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 و تا زمانی که ما انجام SQL بپیوندید، آنچه که ما 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 بنابراین این ادغام فرضی است با استفاده از عملیات بپیوندید از SELECT. 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 که ما با SELECT ساخته شده است. 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 اما SQL می پیوندد یک نوع پیچیده است. 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 و مجموعه ای از رمز عبور برای YADA YADA، که در آن شماره ID 10 است. 444 00:22:04,400 --> 00:22:06,400 >> بنابراین در این مورد، ما به روز رسانی جدول کاربران. 445 00:22:06,400 --> 00:22:08,275 شماره ID 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 DELETE FROM جدول که در آن برخی گزاره راضی است. 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 شما احتمالا می توانید حدس بزنید چه خبر است به اتفاق می افتد در اینجا بعد از ما اجرای آن SQL 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 ما می خواهیم به ترکیب SQL و چیز دیگری برای انجام این کار برای ما. 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 و خوشبختانه، SQL و PHP بازی بسیار خوبی با هم. 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 یک پرس و جو SQL به پرس و جو که شما می خواهم به اجرا کند. 470 00:23:19,210 --> 00:23:23,250 و PHP آن را به نمایندگی خود را انجام خواهد داد. 471 00:23:23,250 --> 00:23:25,564 >> بنابراین پس از متصل شده اید به پایگاه داده خود را با پی اچ پی، 472 00:23:25,564 --> 00:23:26,980 دو مقدماتی شما این کار وجود دارد. 473 00:23:26,980 --> 00:23:29,230 چیزی به نام از MySQLi وجود دارد و چیزی به نام PDO. 474 00:23:29,230 --> 00:23:31,063 ما نمی خواهد به بزرگ به میزان جزئیات وجود دارد. 475 00:23:31,063 --> 00:23:32,957 در CS50 ما با استفاده از PDO. 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 >> و ما می دانیم چگونه به کار با آرایه های انجمنی در PHP. 481 00:23:50,290 --> 00:23:52,630 بنابراین من ممکن است چیزی می گویند مانند this-- $ 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 که من عبور به پرس و جو که به نظر می رسد مانند SQL. 485 00:24:00,130 --> 00:24:01,160 و در واقع این است که SQL. 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 این SQL است که من یکپارچه سازی را به PHP با ساخت 489 00:24:11,890 --> 00:24:15,020 آن آرگومان به تابع پرس و جو. 490 00:24:15,020 --> 00:24:19,640 من می خواهم به انتخاب نام کامل از کاربران که در آن شماره ID برابر با 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-- من می خواهم به عبارات نتایج $ نام کامل. 494 00:24:32,530 --> 00:24:36,280 و به طوری که چگونه من با آن کار می کنند آرایه انجمنی که من پشت کردم. 495 00:24:36,280 --> 00:24:39,730 $ نتایج را نام کامل اساسا تا پایان چاپ، 496 00:24:39,730 --> 00:24:42,870 برای ورود به سیستم، جری ساینفیلد. 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 نام کامل و نام است ستون من برای گرفتن شد. 501 00:24:56,330 --> 00:25:01,010 به طوری که کلید من به نتایج است آرایه انجمنی است که من می خواهم. 502 00:25:01,010 --> 00:25:05,930 بنابراین برای ورود به سیستم، $ نتایج، نام کامل چاپ خواهد شد، می چسبد 503 00:25:05,930 --> 00:25:08,654 درست در بین کسانی که در اشکال مختلف پرانتز، جری ساینفیلد. 504 00:25:08,654 --> 00:25:11,820 و من می خواهم برای چاپ کردن پیام برای ورود به سیستم جری ساینفیلد. 505 00:25:11,820 --> 00:25:16,652 >> در حال حاضر، ما احتمالا به سخت می خواهم نه کد مانند آن را در، درست است؟ 506 00:25:16,652 --> 00:25:19,860 ما ممکن است بخواهید برای انجام کاری مانند چاپ F، که در آن ما می توانیم جایگزین و شاید 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 بسیار شبیه به چاپ F درصد بازدید کنندگان و درصد C، علامت سوال است. 511 00:25:32,310 --> 00:25:34,290 >> و ما می توانیم درخواست استفاده علائم بسیار شبیه 512 00:25:34,290 --> 00:25:38,400 به f به متغیرهای جایگزین را چاپ کنید. 513 00:25:38,400 --> 00:25:44,120 بنابراین شاید برای کاربران خود وارد سیستم شوید در اوایل، و شما شماره ID کاربران خود را نجات داد 514 00:25:44,120 --> 00:25:51,710 در $ _SESSION از پی اچ پی فوق العاده جهانی در ID کلیدی است. 515 00:25:51,710 --> 00:25:55,947 بنابراین شاید بعد از آنها وارد شده، به شما در تنظیم $ _SESSION ID برابر با 10، 516 00:25:55,947 --> 00:25:58,280 برونیابی از مثال ما فقط یک ثانیه قبل دیدم. 517 00:25:58,280 --> 00:26:01,960 >> و تا زمانی که ما در واقع اجرا این پرس و جو از نتایج در حال حاضر، 518 00:26:01,960 --> 00:26:08,440 آن را در 10 پلاگین، و یا هر ارزش ID _SESSION $ است. 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 بر اساس آنچه شماره ID کاربر در واقع پس از آنها در وارد کرده اید. 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 آرایه ای از آرایه های انجمنی. 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 و پس از آن، من برخی از PHP، درست است؟ 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-- SQL است. 542 00:27:15,970 --> 00:27:17,300 بنابراین آبی SQL است. 543 00:27:17,300 --> 00:27:19,680 قرمز ما یک ثانیه پیش دیدم HTML بود. 544 00:27:19,680 --> 00:27:21,360 و سبز در اینجا PHP است. 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 که ما را C برای مثال را ببینید. 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-- آرایه از آرایه های انجمنی. 561 00:28:13,210 --> 00:28:17,340 اما اکنون واقعا فقط جوش در SQL به ساخت یک پرس و جو، 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 قرمز، مخلوط با برخی از SQL در اینجا به رنگ آبی، 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