1 00:00:00,000 --> 00:00:03,493 >> [Mūzikas atskaņošanai] 2 00:00:03,493 --> 00:00:04,934 3 00:00:04,934 --> 00:00:07,100 Doug LLOYD: Mūsu video par interneta attīstības jautājumiem, 4 00:00:07,100 --> 00:00:10,560 mēs esam minēts jēdziens datubāze dažas reizes, vai ne? 5 00:00:10,560 --> 00:00:12,700 Tātad datubāze jūs esat iespējams, iepazinies ar no 6 00:00:12,700 --> 00:00:15,780 teikt, izmantojot Microsoft Excel vai Google izklājlapas. 7 00:00:15,780 --> 00:00:20,650 Tas ir patiešām vienkārši organizēta tabulu komplekts, rindas un kolonnas. 8 00:00:20,650 --> 00:00:23,140 >> Un datubāze ir vieta, kur Mūsu mājas lapa veikali 9 00:00:23,140 --> 00:00:26,760 informāciju, kas ir svarīga mūsu mājas lapā, lai darbotos pareizi. 10 00:00:26,760 --> 00:00:30,150 Atkal, patiešām kopīga piemērs šeit ir uzglabājot lietotājvārdus un paroles 11 00:00:30,150 --> 00:00:32,824 datu bāzē, lai tad, kad lietotājs piesakās uz mūsu mājas lapā, 12 00:00:32,824 --> 00:00:36,690 datubāzes var iegūt, lai redzētu ja ka lietotājs eksistē datu bāzē. 13 00:00:36,690 --> 00:00:39,260 Un, ja tie ir, pārbaudot, viņu parole ir pareiza. 14 00:00:39,260 --> 00:00:43,420 Un, ja viņu parole ir pareiza, tad mēs varam dot viņiem neatkarīgi no lapu 15 00:00:43,420 --> 00:00:45,370 viņi pieprasa. 16 00:00:45,370 --> 00:00:48,590 >> Tātad jūs, iespējams, atkal, pazīstams ar šo ideju no Excel vai Google 17 00:00:48,590 --> 00:00:49,430 Izklājlapas. 18 00:00:49,430 --> 00:00:52,980 Mums ir datu bāzes, galdi, rindas un kolonnas. 19 00:00:52,980 --> 00:00:56,450 Un tas tiešām ir sava veida no fundamentālās komplekta 20 00:00:56,450 --> 00:00:58,470 hierarhisko iedalījumu šeit. 21 00:00:58,470 --> 00:00:59,800 Tātad, šeit ir Excel izklājlapu. 22 00:00:59,800 --> 00:01:02,640 Un, ja jūs esat kādreiz atvēris šo vai cita līdzīga programma 23 00:01:02,640 --> 00:01:06,780 Jūs zināt, ka tie šeit ir rows-- 1, 2, 3, 4, 5, 6, 7. 24 00:01:06,780 --> 00:01:08,760 Tie ir kolonnas. 25 00:01:08,760 --> 00:01:11,790 >> Varbūt šeit lejā, lai gan jūs varat Neizmantojiet šo funkciju briesmīgi much-- 26 00:01:11,790 --> 00:01:15,370 Es zoom in-- mums Šī ideja par lapas. 27 00:01:15,370 --> 00:01:17,930 Tātad, varbūt šie loksnes, ja Es pārmaiņus uz priekšu un atpakaļ, 28 00:01:17,930 --> 00:01:21,600 Ir dažādas tabulas, kas pastāv manā datu bāzē. 29 00:01:21,600 --> 00:01:25,210 Un, ja mēs turpināsim piemēru visu veids, nosaukums šīs datu bāzes 30 00:01:25,210 --> 00:01:26,940 ir Book 1. 31 00:01:26,940 --> 00:01:28,710 Varbūt man ir grāmata 2 un Book 3. 32 00:01:28,710 --> 00:01:33,270 Tātad katrs Excel fails ir datubāzes, katra lapa ir tabula, 33 00:01:33,270 --> 00:01:39,530 un iekšā Katras tabulas man Šī ideja par rindām un kolonnām. 34 00:01:39,530 --> 00:01:41,900 >> Tātad, kā es strādāju ar šo datu bāzi? 35 00:01:41,900 --> 00:01:43,630 Kā es varu saņemt informāciju no tā? 36 00:01:43,630 --> 00:01:47,540 Nu tur ir valodā sauc SQL-- ko es parasti tikai zvanīt Sequel-- 37 00:01:47,540 --> 00:01:50,010 un tas apzīmē Strukturēts Query Language. 38 00:01:50,010 --> 00:01:52,981 Un tas ir programmēšanas valoda, bet tas ir diezgan ierobežots programmēšana 39 00:01:52,981 --> 00:01:53,480 valoda. 40 00:01:53,480 --> 00:01:56,407 Tas nav gluži tāpat kā citi ka mēs esam strādājuši ar. 41 00:01:56,407 --> 00:01:58,240 Bet mērķis šo programmēšanas valoda 42 00:01:58,240 --> 00:02:01,570 ir vaicājumu datu bāzi, lai lūgt informāciju no datu bāzes, 43 00:02:01,570 --> 00:02:04,480 atrast informāciju kādā datu bāzes, un tā tālāk. 44 00:02:04,480 --> 00:02:08,449 >> Mēs arī, jo CS50-- un tas ir ļoti kopīga platforma, to sauc MySQL. 45 00:02:08,449 --> 00:02:10,600 Tas, ko mēs izmantojam, veicot. 46 00:02:10,600 --> 00:02:12,880 Tā ir atvērtā koda platforma, kas nosaka 47 00:02:12,880 --> 00:02:16,732 tā saukto relāciju database-- datubāze, efektīvi. 48 00:02:16,732 --> 00:02:18,440 Mums nav nepieciešams, lai saņemtu pārāk sīki 49 00:02:18,440 --> 00:02:20,930 par to, kas relāciju datu bāze. 50 00:02:20,930 --> 00:02:24,650 Bet SQL valoda ir ļoti lietpratīgi pie darba 51 00:02:24,650 --> 00:02:29,760 ar MySQL un citu līdzīgu stili relāciju datu bāzēm. 52 00:02:29,760 --> 00:02:34,010 >> Un daudzi instalācijas MySQL nāk ar kaut ko 53 00:02:34,010 --> 00:02:37,760 sauc phpMyAdmin, kas ir grafiskā lietotāja 54 00:02:37,760 --> 00:02:40,970 interface-- ar GUI-- ka padara to mazliet vairāk 55 00:02:40,970 --> 00:02:44,410 lietotājam draudzīga izpildīt datu bāzes vaicājumu, 56 00:02:44,410 --> 00:02:48,980 jo datubāzes ir ne tikai izmanto ar profesionāliem programmētājiem, vai ne? 57 00:02:48,980 --> 00:02:51,510 Dažreiz tur ir šie mazie uzņēmumi, 58 00:02:51,510 --> 00:02:53,900 un viņi nevar atļauties īrēt komanda programmētāju, 59 00:02:53,900 --> 00:02:56,700 bet tie joprojām ir nepieciešams, lai saglabātu informāciju datu bāzē. 60 00:02:56,700 --> 00:02:59,300 >> Kaut ko līdzīgu phpMyAdmin padara to ļoti viegli, lai kāds 61 00:02:59,300 --> 00:03:03,630 kurš nekad ieprogrammēts pirms to uzņemt un iepazīties ar to, kā 62 00:03:03,630 --> 00:03:07,710 strādāt ar datu bāzi. 63 00:03:07,710 --> 00:03:11,800 Problēma ir tā, phpMyAdmin, bet tas ir fantastisks instruments, lai mācītos 64 00:03:11,800 --> 00:03:14,850 par datu bāzēm, tas ir rokasgrāmata. 65 00:03:14,850 --> 00:03:18,050 Jūs esat nāksies ieiet tas un izpildīt komandas un veids 66 00:03:18,050 --> 00:03:19,910 lietas manuāli. 67 00:03:19,910 --> 00:03:23,160 >> Un kā mēs zinām no mūsu piemērs par PHP web programmēšana, 68 00:03:23,160 --> 00:03:26,550 ņemot manuāli darīt lietas par mūsu mājas lapā, 69 00:03:26,550 --> 00:03:30,970 ja mēs gribam dinamiska, aktīva atsaucīgs mājas lapā, varbūt ne labākā pieeja. 70 00:03:30,970 --> 00:03:33,980 Mēs vēlētos, lai atrastu ceļu uz varbūt automatizēt tas kaut kā. 71 00:03:33,980 --> 00:03:37,864 Un SQL ļaus mums to darīt. 72 00:03:37,864 --> 00:03:39,780 Tad, kad mēs ejam sākt strādāt ar SQL, 73 00:03:39,780 --> 00:03:41,220 mums vispirms ir nepieciešama datu bāzi, lai strādātu ar. 74 00:03:41,220 --> 00:03:42,510 Izveidot datubāzi, ir kaut kas jums, iespējams, 75 00:03:42,510 --> 00:03:45,350 darīs phpMyAdmin, jo Jums būs nepieciešams tikai to darīt vienu reizi, 76 00:03:45,350 --> 00:03:49,690 un sintakse to darīt ir daudz vienkāršāka. 77 00:03:49,690 --> 00:03:51,940 Tas ir daudz vieglāk, lai to izdarītu grafiskā lietotāja saskarnes 78 00:03:51,940 --> 00:03:53,520 nekā rakstīt to, kā komanda. 79 00:03:53,520 --> 00:03:55,186 Komanda var iegūt mazliet apgrūtinoša. 80 00:03:55,186 --> 00:03:58,889 Līdzīgi, veidojot tabulu var iegūt diezgan mazliet apgrūtinoša, kā arī. 81 00:03:58,889 --> 00:04:01,930 Un tā lietas, piemēram, izveidojot datubāzi un veidojot tabulu, kas jūs esat 82 00:04:01,930 --> 00:04:06,270 iespējams, tikai gatavojas darīt once-- vienu reizi galda, vienu reizi database-- 83 00:04:06,270 --> 00:04:09,040 tas ir OK, lai darīt, ka grafisko interfeisu. 84 00:04:09,040 --> 00:04:11,570 Šajā procesā veidojot tabulu, jūs 85 00:04:11,570 --> 00:04:14,840 arī jānorāda visi kolonnas, kas būs šajā tabulā. 86 00:04:14,840 --> 00:04:18,149 Kāda veida informāciju darīt vēlaties saglabāt tabulā? 87 00:04:18,149 --> 00:04:24,520 Varbūt lietotāja vārds un dzimšanas datums, parole, lietotāja ID numurs, un varbūt 88 00:04:24,520 --> 00:04:26,170 pilsēta un valsts, vai ne? 89 00:04:26,170 --> 00:04:30,080 >> Un katru reizi, kad mēs vēlamies pievienot lietotāju datu bāzē, mēs vēlamies, lai iegūtu visas sešas 90 00:04:30,080 --> 00:04:31,890 Šo informācijas daļas. 91 00:04:31,890 --> 00:04:34,840 Un mēs to darām, ka, pievienojot rindas uz galda. 92 00:04:34,840 --> 00:04:37,800 Tātad, mēs vispirms izveidot datu bāzi, tad mēs izveidot tabulu. 93 00:04:37,800 --> 00:04:40,100 Kā daļu no radot galds, mēs esam aicināti 94 00:04:40,100 --> 00:04:44,280 precizēt katru kolonnu, kas mēs vēlētos šajā tabulā. 95 00:04:44,280 --> 00:04:47,247 Un tad kā mēs sākam pievienot informācija uz datu bāzē 96 00:04:47,247 --> 00:04:49,580 un vaicājumu datu bāze vairāk generally-- ne tikai pievienojot, 97 00:04:49,580 --> 00:04:51,610 bet viss pārējais mums do-- mēs būsim darīšana 98 00:04:51,610 --> 00:04:58,870 ar tabulas rindas, kas ir viens lietotāja informācija no visā kopā. 99 00:04:58,870 --> 00:05:03,210 >> Tātad katrs SQL kolonna ir spējīgs turot datus konkrēta datu tipu. 100 00:05:03,210 --> 00:05:06,560 Tātad, mēs veida likvidēta šis Ideja par datu tipu PHP, 101 00:05:06,560 --> 00:05:08,747 bet viņi atkal šeit SQL. 102 00:05:08,747 --> 00:05:10,080 Un tur ir daudz datu tipu. 103 00:05:10,080 --> 00:05:13,420 Lūk, tikai 20 no viņiem, bet tas nav pat visas no tām. 104 00:05:13,420 --> 00:05:16,240 Tāpēc mums ir idejas, piemēram INTs-- Integers-- mēs droši vien zināt 105 00:05:16,240 --> 00:05:17,760 ka šajā ailē var turēt veseli skaitļi. 106 00:05:17,760 --> 00:05:21,077 Un tur ir variācijas thereon-- SMALLINT, TINYINT, MEDIUMINT, BIGINT. 107 00:05:21,077 --> 00:05:22,660 Varbūt mēs ne vienmēr vajag četrus kodieniem. 108 00:05:22,660 --> 00:05:26,800 Varbūt mums vajag astoņas baiti, un tā mēs var izmantot šos variācijas par veseliem skaitļiem 109 00:05:26,800 --> 00:05:28,510 nedaudz vairāk vietas efektīvāku. 110 00:05:28,510 --> 00:05:31,899 Mēs varam darīt decimāldaļu skaitu, mēs var darīt peldošā komata skaitļus. 111 00:05:31,899 --> 00:05:32,940 Tie ir diezgan līdzīgas. 112 00:05:32,940 --> 00:05:34,773 Ir dažas atšķirības, un ja jūs būtu 113 00:05:34,773 --> 00:05:37,330 patīk skatīties uz augšu SQL veida guide, jūs 114 00:05:37,330 --> 00:05:40,670 var redzēt, kas nedaudz atšķirības starp tām. 115 00:05:40,670 --> 00:05:43,250 >> Varbūt mēs gribam saglabāt Informācija par datumu un laiku. 116 00:05:43,250 --> 00:05:47,047 Varbūt mēs sekotu ja lietotājs pievienojies mūsu mājas lapā, 117 00:05:47,047 --> 00:05:48,880 un tāpēc varbūt mēs gribam lai būtu kolonnu, kas ir 118 00:05:48,880 --> 00:05:52,820 datumu laiks vai timestamp ka norāda, kad lietotājs faktiski 119 00:05:52,820 --> 00:05:54,130 pierakstījies. 120 00:05:54,130 --> 00:05:56,132 Mēs varam darīt ģeometriju un linestrings. 121 00:05:56,132 --> 00:05:57,340 Tas ir faktiski diezgan vēss. 122 00:05:57,340 --> 00:06:01,410 Mēs varētu izplānot ģeogrāfiskajā teritorijā, izmantojot 123 00:06:01,410 --> 00:06:05,110 GIS koordinātas gabals out platību. 124 00:06:05,110 --> 00:06:08,580 Tātad faktiski var uzglabāt šāda veida Informācijas SQL kolonnas. 125 00:06:08,580 --> 00:06:11,390 >> Teksts ir tikai milzu burbuļus teksta, varbūt. 126 00:06:11,390 --> 00:06:12,840 ENUMs ir diezgan interesants. 127 00:06:12,840 --> 00:06:16,080 Viņi faktiski pastāv C. Mums nav runāt par viņiem, jo ​​viņi nav 128 00:06:16,080 --> 00:06:19,110 briesmīgi parasti izmanto, vismaz CS50. 129 00:06:19,110 --> 00:06:22,680 Bet tas ir Uzskaitīto datu tips, kas spēj Holding Limited vērtības. 130 00:06:22,680 --> 00:06:25,940 >> Šeit būtu Tiešām labs piemērs ir izveidot ENUM kur septiņi 131 00:06:25,940 --> 00:06:29,394 Iespējamās vērtības ir Svētdiena, Pirmdiena, Otrdienās, trešdienās, ceturtdienās, piektdienās, 132 00:06:29,394 --> 00:06:30,060 Sestdiena, vai ne? 133 00:06:30,060 --> 00:06:33,311 Šis datu tips diena Nedēļa nepastāv, 134 00:06:33,311 --> 00:06:35,310 bet mēs varētu radīt uzskaitījis datu tips, piemēram 135 00:06:35,310 --> 00:06:39,400 ka kolonna var tikai kādreiz turēt viens no tiem septiņiem iespējamo vērtību. 136 00:06:39,400 --> 00:06:44,300 Mēs esam uzskaitīti visi no iespējamām vērtībām. 137 00:06:44,300 --> 00:06:47,630 >> Tad mums ir CHAR un VARCHAR, un es esmu krāsu tie zaļš 138 00:06:47,630 --> 00:06:49,505 jo mēs esam patiesībā gatavojas pieņemt otru 139 00:06:49,505 --> 00:06:51,950 runāt par starpību starp šīm divām lietām. 140 00:06:51,950 --> 00:06:55,780 Tātad CHAR, atšķirībā no C, kur CHAR bija viena raksturs, 141 00:06:55,780 --> 00:07:00,730 SQL char attiecas fiksēta garuma virkne. 142 00:07:00,730 --> 00:07:02,620 Un, kad mēs veidojam šo kolonna, mēs faktiski 143 00:07:02,620 --> 00:07:05,070 var norādīt garumu virknes. 144 00:07:05,070 --> 00:07:08,080 >> Tātad, šajā piemērā, mēs varētu teikt CHAR (10). 145 00:07:08,080 --> 00:07:11,190 Tas nozīmē, ka katrs Šīs kolonnas elements 146 00:07:11,190 --> 00:07:13,910 sastāvēs no 10 baitu informācijas. 147 00:07:13,910 --> 00:07:15,770 Ne vairāk, ne mazāk. 148 00:07:15,770 --> 00:07:21,780 Tātad, ja mēs mēģinātu īstenot 15 bitu vai 15 rakstzīmju elements 149 00:07:21,780 --> 00:07:25,340 vai vērtība šajā slejā, mēs esam tikai iegūt pirmo 10. 150 00:07:25,340 --> 00:07:27,290 Ja mēs ieliekam diviem raksturs garš vērtība, 151 00:07:27,290 --> 00:07:30,700 mēs ejam, lai būtu divas rakstzīmes, un pēc tam astoņas null kodieniem. 152 00:07:30,700 --> 00:07:34,990 Mēs nekad būt efektīvāka nekā. 153 00:07:34,990 --> 00:07:37,727 >> Varchar ir veids kā Mūsu jēdziens virknes 154 00:07:37,727 --> 00:07:39,560 ka mēs esam pazīstami ar no C vai no PHP. 155 00:07:39,560 --> 00:07:40,830 Tā ir mainīga garuma virkne. 156 00:07:40,830 --> 00:07:42,560 Un, kad jūs izveidojat šajā ailē, jūs vienkārši 157 00:07:42,560 --> 00:07:44,860 noteikti maksimālie iespējamie garumi. 158 00:07:44,860 --> 00:07:49,065 Tātad, varbūt 99, vai parasti 255. 159 00:07:49,065 --> 00:07:50,440 Tas būtu maksimālais garums. 160 00:07:50,440 --> 00:07:52,890 Un tāpēc, ja mēs glabāšanai 15 rakstzīmju virkne, 161 00:07:52,890 --> 00:07:56,157 mēs varētu izmantot 15 baiti, varbūt 16 baiti par null terminatoru. 162 00:07:56,157 --> 00:07:57,990 Ja mēs glabājusi trīs rakstzīmju virkne, 163 00:07:57,990 --> 00:08:01,120 mēs varētu izmantot trīs vai četri baiti. 164 00:08:01,120 --> 00:08:03,050 Bet mēs nevarētu izmantot pilnu 99. 165 00:08:03,050 --> 00:08:05,190 >> Tātad, kāpēc mēs esam abi? 166 00:08:05,190 --> 00:08:08,210 Nu, ja mums ir nepieciešams, lai noskaidrotu, kā ilgi kaut kas ir ar VARCHAR, 167 00:08:08,210 --> 00:08:10,680 mums ir sava veida atkārtot visā tā tāpat kā mēs to darījām C 168 00:08:10,680 --> 00:08:12,230 un izdomāt, kur tas apstājas. 169 00:08:12,230 --> 00:08:15,920 Tā kā, ja mēs zinām, ka viss Šajā ailē ir 10 baiti, varbūt 170 00:08:15,920 --> 00:08:19,220 Mēs zinām, ka informāciju, mēs varam pārlēkt 10 baiti, 10 baiti, 10 baiti, 10 baiti, 171 00:08:19,220 --> 00:08:21,790 un vienmēr atrast sākot no virknes. 172 00:08:21,790 --> 00:08:25,210 >> Tātad mums var būt daži izšķērdēta telpu ar CHAR, 173 00:08:25,210 --> 00:08:28,510 bet varbūt tur ir tirdzniecība pie kam labāku ātrumu 174 00:08:28,510 --> 00:08:30,160 kuģojoša datu bāzi. 175 00:08:30,160 --> 00:08:32,330 Bet varbūt mēs gribam elastīgums varchar 176 00:08:32,330 --> 00:08:36,710 nevis having-- Ja mūsu CHAR bija 255, bet lielākā daļa no mūsu lietotājiem 177 00:08:36,710 --> 00:08:40,537 Tika tikai ievadot trīs vai četri baiti vērts informācijas vai trīs vai četri 178 00:08:40,537 --> 00:08:41,870 rakstzīmes vērts informācijas. 179 00:08:41,870 --> 00:08:44,324 >> Bet daži lietotāji izmantoja viss 255, varbūt 180 00:08:44,324 --> 00:08:45,990 VARCHAR būtu piemērotāka tur. 181 00:08:45,990 --> 00:08:49,840 Tas ir sava veida tirdzniecības off, un parasti nolūkos CS50, 182 00:08:49,840 --> 00:08:54,107 jums nav jāuztraucas pārāk daudz par vai jūs izmantojat CHAR vai varchar. 183 00:08:54,107 --> 00:08:57,190 Bet reālajā pasaulē, šīs lietas do nozīmes, jo visu šo kolonnu 184 00:08:57,190 --> 00:08:59,300 aizņem faktisko fizisko telpu. 185 00:08:59,300 --> 00:09:04,150 Un fiziskā telpa, jo reālās pasaules, nāk ar uzcenojumu. 186 00:09:04,150 --> 00:09:06,800 >> Tātad vienu citu atlīdzību kad jūs veidot tabulu 187 00:09:06,800 --> 00:09:09,840 ir izvēlēties vienu kolonnu, lai būtu ko sauc par primāro atslēgu. 188 00:09:09,840 --> 00:09:14,350 Un primārā atslēga ir kolonna kur katrs vērtība ir unikāls. 189 00:09:14,350 --> 00:09:19,980 Un tas nozīmē, ka jūs varat viegli izlasīt vienu rindu tikai skatoties 190 00:09:19,980 --> 00:09:22,450 pie primārās atslēgas šīs rindas. 191 00:09:22,450 --> 00:09:24,580 Tā, piemēram, jūs parasti, ar lietotājiem, 192 00:09:24,580 --> 00:09:27,210 negribu diviem lietotājiem, kuri ir tāds pats lietotājs ID numuru. 193 00:09:27,210 --> 00:09:28,960 Un tāpēc varbūt jums ir daudz informācijas, 194 00:09:28,960 --> 00:09:30,793 un varbūt divi lietotāji var ir tāda pati name-- 195 00:09:30,793 --> 00:09:32,650 Jums ir John Smith un John Smith. 196 00:09:32,650 --> 00:09:34,520 Tas ir ne vienmēr ir problēma, jo tur ir vairāki cilvēki 197 00:09:34,520 --> 00:09:35,830 pasaulē nosaukts John Smith. 198 00:09:35,830 --> 00:09:40,766 Bet mums ir tikai viens lietotāja ID numuru 10, viens lietotāja ID numuru 11, 12, 13. 199 00:09:40,766 --> 00:09:42,640 Mums nav diviem lietotājiem ar tādu pašu numuru, 200 00:09:42,640 --> 00:09:46,010 un tāpēc varbūt lietotāja ID numuri būtu labs primārā atslēga. 201 00:09:46,010 --> 00:09:48,610 >> Mums nav nekādas dublēšanās, un mēs varam tagad unikāli 202 00:09:48,610 --> 00:09:52,619 identificēt katru rindu vienkārši aplūkojot šajā slejā. 203 00:09:52,619 --> 00:09:55,410 Izvēloties primārās atslēgas faktiski var veikt turpmākus galda operācijas 204 00:09:55,410 --> 00:09:59,710 daudz vieglāk, jo jūs varat sviras fakts, ka dažas rindas būs 205 00:09:59,710 --> 00:10:02,720 būt unikāls, vai kāds kolonna Jūsu datu bāzē vai galda 206 00:10:02,720 --> 00:10:06,030 būs unikāla izvēlēties izrakstās īpašas rindas. 207 00:10:06,030 --> 00:10:08,790 >> Jūs varat arī kopīgu galvenais Galvenais, kas jums var atrast izdevību 208 00:10:08,790 --> 00:10:11,720 izmantot, kas ir tikai kombinācija no divām kolonnām, kas 209 00:10:11,720 --> 00:10:13,280 ir garantēta unikāls. 210 00:10:13,280 --> 00:10:16,410 Tātad, varbūt jums ir viens kolonna, kas ir kā un Bs, 211 00:10:16,410 --> 00:10:19,290 viens kolonna, kas ir viens, divi, un trīs, bet jūs tikai kādreiz 212 00:10:19,290 --> 00:10:23,660 ir viena A1, vienu A2, un tā tālāk, un tā tālāk. 213 00:10:23,660 --> 00:10:28,980 Bet jūs varētu būt B2 A C2, vai A1, A2, A3, A4. 214 00:10:28,980 --> 00:10:32,840 Lai jūs varētu būt vairāki As, multiplā BS, vairāki no tiem, vairākas veica šo divu reģistru, 215 00:10:32,840 --> 00:10:38,567 bet jūs varat tikai kādreiz ir viens A1, B2, C3, un tā tālāk. 216 00:10:38,567 --> 00:10:40,400 Tā kā es teicu, SQL ir programmēšanas valoda, 217 00:10:40,400 --> 00:10:42,024 bet tas ir diezgan ierobežots vārdu krājumu. 218 00:10:42,024 --> 00:10:44,880 Tas nav tik plašs kā C un PHP un citas valodas 219 00:10:44,880 --> 00:10:46,350 ka mēs runājam gaitā. 220 00:10:46,350 --> 00:10:49,960 Tas ir vairāk runīgs valoda, nekā tas, ko mēs esam 221 00:10:49,960 --> 00:10:52,789 gatavojas runāt par šajā video, jo šajā video 222 00:10:52,789 --> 00:10:54,830 mēs runāsim par četras operācijas, ka mēs 223 00:10:54,830 --> 00:10:55,720 var veikt uz galda. 224 00:10:55,720 --> 00:10:56,761 >> Ir vairāk nekā šis. 225 00:10:56,761 --> 00:10:58,730 Mēs varam darīt vairāk, nekā tas, bet par mūsu mērķiem, 226 00:10:58,730 --> 00:11:02,250 mēs parasti būs izmantojot tikai četri operations-- ieliktnis, 227 00:11:02,250 --> 00:11:05,360 izvēlētos, atjaunināt un dzēst. 228 00:11:05,360 --> 00:11:08,750 Un jūs varat droši intuitīvi uzminēt ko visi četri šīs lietas darīt. 229 00:11:08,750 --> 00:11:12,520 Bet mēs iedziļināties mazliet Detalizācijas par katru no tām. 230 00:11:12,520 --> 00:11:15,780 >> Tātad nolūkā šis video, pieņemsim 231 00:11:15,780 --> 00:11:18,870 mēs esam šādi divi tabulas vienotā datubāzē. 232 00:11:18,870 --> 00:11:23,460 Mums ir tabula sauc Lietotājiem, kas ir četri columns-- ID numurs, lietotājvārdu 233 00:11:23,460 --> 00:11:25,350 parole, un tā atšifrējums. 234 00:11:25,350 --> 00:11:27,430 Un mums ir otrais tabula tajā pašā datu bāzē 235 00:11:27,430 --> 00:11:32,129 sauc Moms ka tikai saglabā informāciju par lietotājvārdu un māti. 236 00:11:32,129 --> 00:11:33,920 Tātad visiem piemēriem Šajā video, mēs 237 00:11:33,920 --> 00:11:37,945 izmantojot šo datu bāzi un turpmākos atjauninājumus uz to. 238 00:11:37,945 --> 00:11:40,070 Tātad pieņemsim, ka mēs vēlamies, lai pievienot informāciju galda. 239 00:11:40,070 --> 00:11:44,460 Tas ir tas, ko ievietot operācija dara. 240 00:11:44,460 --> 00:11:46,550 Skaidrojot visi šīs komandas, es eju 241 00:11:46,550 --> 00:11:48,860 lai dotu jums vispārīgu skeletu izmantot. 242 00:11:48,860 --> 00:11:51,661 Jo būtībā, vaicājumiem gatavojas izskatās diezgan līdzīgi, 243 00:11:51,661 --> 00:11:54,660 mēs esam tikai gatavojas mainās nedaudz atšķirīgas informācijas daļas 244 00:11:54,660 --> 00:11:56,750 darīt dažādas lietas ar tabulu. 245 00:11:56,750 --> 00:11:59,200 >> Tātad ievietot, skelets izskatās veida, piemēram, šis. 246 00:11:59,200 --> 00:12:02,230 Mēs vēlamies, lai ievietot īpaši galds. 247 00:12:02,230 --> 00:12:05,290 Tad mums ir atvērta iekavu un sarakstu kolonnu 248 00:12:05,290 --> 00:12:08,070 ka mēs vēlamies likt vērtības uz. 249 00:12:08,070 --> 00:12:10,974 Aizvērt iekavas, tad pēc vērtības, un pēc tam 250 00:12:10,974 --> 00:12:13,390 atkal, mēs saraksts no vērtības mēs vēlamies likt tabulā. 251 00:12:13,390 --> 00:12:15,950 >> Tātad piemērs tam būtu šādi. 252 00:12:15,950 --> 00:12:19,170 Es gribu ievietot tabulā Lietotāji šādu columns-- 253 00:12:19,170 --> 00:12:21,010 lietotājvārdu, paroli, un FULLNAME. 254 00:12:21,010 --> 00:12:25,282 Tātad jaunā rindā, kur es varēšu šajās trijās kolonnās, un mēs esam 255 00:12:25,282 --> 00:12:30,030 gatavojas īstenot vērtībām Newman, USMAIL, un Newman. 256 00:12:30,030 --> 00:12:32,730 Tātad šajā gadījumā, es esmu liekot mazo burtu Newman 257 00:12:32,730 --> 00:12:38,710 uz lietotājvārdu kolonnā, parole USMAIL, un pilns nosaukums kapitāls N 258 00:12:38,710 --> 00:12:41,940 Newman uz FULLNAME kolonnā. 259 00:12:41,940 --> 00:12:44,240 >> Tātad, šeit ir tas, ko datu bāze izskatījās agrāk. 260 00:12:44,240 --> 00:12:48,250 Lūk, ko lietotāji tabula par top izskatījās pirms mēs to darījām. 261 00:12:48,250 --> 00:12:50,760 Pēc mums izpildīt šo vaicājumu, mēs šo. 262 00:12:50,760 --> 00:12:54,790 Mēs esam pievienojuši jaunu rindu pie galda. 263 00:12:54,790 --> 00:12:56,810 Bet paziņojums šo vienu lietu ka man nav norādīt, 264 00:12:56,810 --> 00:12:59,880 bet kaut kā es esam ieguvuši vērtību par, kas ir šī 12 šeit. 265 00:12:59,880 --> 00:13:02,820 Es neteicu es gribēju likts ID numuru tur. 266 00:13:02,820 --> 00:13:04,900 Es gribēju likt lietotājvārdu, parole, FULLNAME. 267 00:13:04,900 --> 00:13:06,440 Un man bija, ka tas ir jauki. 268 00:13:06,440 --> 00:13:07,760 >> Bet es arī dabūju šo 12. 269 00:13:07,760 --> 00:13:09,490 Kāpēc man tas 12? 270 00:13:09,490 --> 00:13:12,904 Nu, izrādās, ka kad esat definējot 271 00:13:12,904 --> 00:13:15,570 kolonna, kas būs jūsu primārā atslēga, kas ir parasti, 272 00:13:15,570 --> 00:13:16,510 kā jau teicu, ID numurs. 273 00:13:16,510 --> 00:13:18,718 Tas ne vienmēr būs ID numurs, 274 00:13:18,718 --> 00:13:22,380 bet tas parasti ir laba ideja būt daži skaitlim vērtības veida. 275 00:13:22,380 --> 00:13:25,950 Jums ir iespēja phpMyAdmin kad jūs veidojat savu datu bāzi 276 00:13:25,950 --> 00:13:31,130 vai jūsu galda, lai uzstādītu, ka kolonna kā auto palielināšanai. 277 00:13:31,130 --> 00:13:34,520 >> Kas ir ļoti laba ideja, ja jūs strādājat ar primāro atslēgu, 278 00:13:34,520 --> 00:13:39,330 tāpēc, ka jūs vēlaties katru vērtību Šajā ailē jābūt unikālam. 279 00:13:39,330 --> 00:13:43,310 Un, ja esat aizmirsis norādīt tas vairāk nekā viena persona, 280 00:13:43,310 --> 00:13:46,240 Jums tagad ir situācija, kad ka kolonna vairs unikāls. 281 00:13:46,240 --> 00:13:50,200 Jums ir divas sagataves, lai jūs varētu nav vairs unikāli identificētu column-- 282 00:13:50,200 --> 00:13:54,150 vai jūs vairs nevar unikāli identificētu rindu, pamatojoties uz šajā slejā. 283 00:13:54,150 --> 00:13:57,010 Tas ir zaudējis visu savu vērtība kā primāro atslēgu. 284 00:13:57,010 --> 00:14:02,010 >> Un tā acīmredzot to, ko es esmu darījis Šeit ir konfigurēts lietotāja ID 285 00:14:02,010 --> 00:14:07,790 kolonna, lai auto soli, lai katru reizi, kad es pievienot informāciju uz galda, 286 00:14:07,790 --> 00:14:12,220 tas automātiski dod man vērtība attiecībā uz primāro atslēgu. 287 00:14:12,220 --> 00:14:15,570 Tāpēc es nekad nevar aizmirst to darīt, jo datu bāze darīs to man. 288 00:14:15,570 --> 00:14:16,587 Tātad tas ir sava veida jauki. 289 00:14:16,587 --> 00:14:18,670 Un tā tas ir iemesls, kāpēc mēs 12 tur, jo es esmu 290 00:14:18,670 --> 00:14:21,772 noteikt, ka kolonnā līdz auto pieaugumu. 291 00:14:21,772 --> 00:14:23,730 Ja es piebilda kāds cits tas lūdzu būt 13, ja es pievienoju 292 00:14:23,730 --> 00:14:27,890 kāds cits tā gribētu būt 14, un tā tālāk. 293 00:14:27,890 --> 00:14:30,190 >> Tātad pieņemsim tikai darīt vēl vienu ievietošanas. 294 00:14:30,190 --> 00:14:34,530 Mēs ievietot moms tabulā, jo Proti, lietotājvārds un māte 295 00:14:34,530 --> 00:14:37,390 kolonnu, vērtības Kramer un Babs Kramer. 296 00:14:37,390 --> 00:14:39,140 Un tā mums bija pirms tam. 297 00:14:39,140 --> 00:14:41,800 Pēc mēs izpildīt, ka SQL vaicājumu, mums ir šis. 298 00:14:41,800 --> 00:14:47,290 Mēs esam pievienojuši Kramer un Babs Kramer uz moms galda. 299 00:14:47,290 --> 00:14:48,350 >> Tātad, kas ir ievietojot. 300 00:14:48,350 --> 00:14:51,850 SELECT ir tas, ko mēs izmantojam, lai iegūtu informācija no tabulā. 301 00:14:51,850 --> 00:14:54,390 Tātad, tas ir, kā mēs informācija no datu bāzes. 302 00:14:54,390 --> 00:14:59,589 Un tā SELECT komandas gribam būt ļoti bieži izmanto plānošanā. 303 00:14:59,589 --> 00:15:02,130 Vispārējais framework-- Kopumā skelets izskatās šādi. 304 00:15:02,130 --> 00:15:06,550 Izvēlieties komplektu kolonnu no tabulu, un pēc tam neobligāti 305 00:15:06,550 --> 00:15:11,090 Jūs varat norādīt condition-- vai ko mēs parasti saucam iepriekš plānotu, 306 00:15:11,090 --> 00:15:13,010 parasti termins mēs izmantojam SQL. 307 00:15:13,010 --> 00:15:16,490 >> Bet tas ir būtībā kas konkrēti rindas jūs vēlaties saņemt. 308 00:15:16,490 --> 00:15:19,100 Ja jūs vēlaties, nevis iegūt viss, sašaurinātu to uz leju, 309 00:15:19,100 --> 00:15:20,060 tas ir, ja jūs varētu darīt. 310 00:15:20,060 --> 00:15:22,777 Un tad pēc izvēles, jūs varat arī pasūtīt konkrēta kolonnas. 311 00:15:22,777 --> 00:15:25,860 Tātad, varbūt jūs vēlaties, lai būtu lietas sakārtoti alfabētiski pamatojoties uz vienu kolonnu 312 00:15:25,860 --> 00:15:27,540 vai alfabētiski pamatojoties uz citu. 313 00:15:27,540 --> 00:15:30,610 >> Atkal, kur un ORDER BY ir obligāta. 314 00:15:30,610 --> 00:15:32,681 Bet viņi droši vien būs useful-- īpaši 315 00:15:32,681 --> 00:15:34,680 KUR būs noderīga sašaurināt tāpēc jums nav 316 00:15:34,680 --> 00:15:37,460 iegūt visu savu datu bāzi un atpakaļ ir to apstrādāt, jūs tikai iegūt 317 00:15:37,460 --> 00:15:39,300 gabalus tā, ka jums rūp. 318 00:15:39,300 --> 00:15:44,932 Tā, piemēram, es varētu vēlēties, lai izvēlētos ID numurs un FULLNAME no lietotājiem. 319 00:15:44,932 --> 00:15:46,140 Tātad, ko varētu tas izskatās? 320 00:15:46,140 --> 00:15:48,270 Tātad, šeit ir mana lietotājiem galds. 321 00:15:48,270 --> 00:15:51,080 Es gribu, lai izvēlētos idnum un FULLNAME no lietotājiem. 322 00:15:51,080 --> 00:15:52,300 Kas es esmu gatavojas saņemt? 323 00:15:52,300 --> 00:15:53,580 Es esmu gatavojas saņemt šo. 324 00:15:53,580 --> 00:15:56,930 Man nav sašaurināt to uz leju, tāpēc es esmu iegūt identifikācijas numuru katram rindā 325 00:15:56,930 --> 00:16:00,850 un es saņemu pilna nosaukt no katras kārtas. 326 00:16:00,850 --> 00:16:02,210 >> LABI. 327 00:16:02,210 --> 00:16:05,640 Ko darīt, ja es gribu, lai izvēlētos paroli no lietotājiem WHERE-- tāpēc tagad 328 00:16:05,640 --> 00:16:10,370 Es esmu pievienojot nosacījums A predicate-- kur idnum ir mazāks nekā 12. 329 00:16:10,370 --> 00:16:13,660 Tātad, šeit ir mana datubāze atkal, mans lietotāji galda top. 330 00:16:13,660 --> 00:16:17,030 Ko es esmu gatavojas saņemt, ja es gribu izvēlēties šo informāciju, parole, 331 00:16:17,030 --> 00:16:21,550 ja lietotāja ID vai idnum ir mazāks par 12? 332 00:16:21,550 --> 00:16:24,910 Es esmu gatavojas saņemt šo informācija atpakaļ, vai ne? 333 00:16:24,910 --> 00:16:29,170 Tā gadās, ka idnum ir 10, mazāk nekā 12, ID numurs 11 mazāk nekā 12. 334 00:16:29,170 --> 00:16:32,160 Es saņemu paroli šīm rindām. 335 00:16:32,160 --> 00:16:33,914 Tas, ko es lūdza. 336 00:16:33,914 --> 00:16:34,580 Ko par šo? 337 00:16:34,580 --> 00:16:39,170 Ko darīt, ja es gribu, lai izvēlētos zvaigzni no laukuma moms galds kur username vienāds Jerry? 338 00:16:39,170 --> 00:16:43,780 OK, izvēlieties zvaigzne ir īpaša veida savvaļas karti tā saukto 339 00:16:43,780 --> 00:16:45,670 ka mēs izmantojam, lai iegūtu visu. 340 00:16:45,670 --> 00:16:48,620 Tāpēc viņi saka izvēlieties lietotājvārds komatiem māti, kas 341 00:16:48,620 --> 00:16:51,060 gadījās būt vienīgais divās slejās šajā tabulā, 342 00:16:51,060 --> 00:16:53,260 Es varu tikai izvēlēties zvaigzne un saņemt visu 343 00:16:53,260 --> 00:16:55,030 kur lietotājvārds ir vienāds Jerry. 344 00:16:55,030 --> 00:16:59,380 Un tā tas ir tas, ko es varētu saņemt ja es šo konkrēto jautājumu. 345 00:16:59,380 --> 00:17:01,810 >> Tagad, datubāzes ir liels, jo tie ļauj 346 00:17:01,810 --> 00:17:06,074 mums organizēt informāciju, iespējams, mazliet efektīvāk nekā mēs 347 00:17:06,074 --> 00:17:06,740 citādi. 348 00:17:06,740 --> 00:17:10,240 Mēs ne vienmēr uzglabāt katrs attiecīgais gabals informācijas 349 00:17:10,240 --> 00:17:12,230 par lietotāja tajā pašā tabulā. 350 00:17:12,230 --> 00:17:13,730 Mums bija divas tabulas tur. 351 00:17:13,730 --> 00:17:15,734 >> Mums ir nepieciešams, lai saglabātu visi ir mātes vārds, 352 00:17:15,734 --> 00:17:18,900 un varbūt mums nav sociālo nodrošinājumu numurs, mums ir savas dzimšanas datumu. 353 00:17:18,900 --> 00:17:21,819 Tas nenozīmē, ka vienmēr vajag būt vienā un tajā pašā tabulā. 354 00:17:21,819 --> 00:17:25,339 Tik ilgi, kamēr mēs varam definēt attiecības starp tables-- 355 00:17:25,339 --> 00:17:28,440 un tas, kur tas relāciju datubāze termiņš veida nāk 356 00:17:28,440 --> 00:17:32,130 uz play-- kamēr mēs varam definēt attiecības starp tabulām, 357 00:17:32,130 --> 00:17:35,545 mēs varam veida sadrumstalo vai abstraktām lietām tādā veidā, 358 00:17:35,545 --> 00:17:37,670 kur mums tikai ir patiešām svarīga informācija 359 00:17:37,670 --> 00:17:39,270 mēs rūpējamies par lietotāja galda. 360 00:17:39,270 --> 00:17:43,220 Un tad mums ir palīginformācijas vai papildu informāciju citās tabulās 361 00:17:43,220 --> 00:17:48,260 ka mēs varam savienot atpakaļ uz galvenā Lietotāji galda kādā konkrētā veidā. 362 00:17:48,260 --> 00:17:52,200 >> Tātad, šeit mēs esam šīs divas tabulas, bet tur ir saistība starp tām, 363 00:17:52,200 --> 00:17:53,010 labi? 364 00:17:53,010 --> 00:17:55,070 Šķiet, tāpat kā lietotājvārdu varētu būt kaut kas 365 00:17:55,070 --> 00:17:59,909 ka pastāv kopīgs starp šie divi dažādi galdi. 366 00:17:59,909 --> 00:18:01,700 Tātad, ko tad mums tagad ir situācija, kad mēs 367 00:18:01,700 --> 00:18:06,046 vēlos saņemt lietotāja vārdu un uzvārdu no lietotāja galda, un viņu mātes 368 00:18:06,046 --> 00:18:07,170 nosaukt no mātes galda? 369 00:18:07,170 --> 00:18:10,960 Mums nav veids, kā iegūt ka tā stāv, vai ne? 370 00:18:10,960 --> 00:18:17,790 Nav viena tabula, kas satur gan pilns nosaukums un mātes vārds. 371 00:18:17,790 --> 00:18:20,400 Mums nav šo iespēju no tā, ko mēs esam redzējuši līdz šim. 372 00:18:20,400 --> 00:18:22,950 >> Un tāpēc mums ir jāievieš ideja pievienoties. 373 00:18:22,950 --> 00:18:24,857 Un pievienojas, iespējams, visvairāk complex-- 374 00:18:24,857 --> 00:18:27,940 tas ir patiešām visvairāk sarežģīta operācija mēs ejam runāt par video. 375 00:18:27,940 --> 00:18:30,040 Viņi mazliet sarežģīti, bet tad, kad jūs saņemsiet pakārt par to, 376 00:18:30,040 --> 00:18:31,248 viņi faktiski nav pārāk slikti. 377 00:18:31,248 --> 00:18:32,820 Tas ir tikai īpašs gadījums, izvēlieties. 378 00:18:32,820 --> 00:18:37,120 Mēs ejam, lai izvēlētos kopumu kolonnas no tabulas savieno 379 00:18:37,120 --> 00:18:40,650 otrajā tabulā kādu predikāts. 380 00:18:40,650 --> 00:18:45,340 >> Šajā gadījumā, domāju, ka par to kā this-- viena tabula ir viens aplis nekā šeit, 381 00:18:45,340 --> 00:18:47,530 divi tabula ir vēl viens aplis vairāk nekā šeit. 382 00:18:47,530 --> 00:18:49,410 Un tas predikātu daļa vidū, tas ir 383 00:18:49,410 --> 00:18:51,701 veida, piemēram, ja jūs domājat, ka apmēram kā Venna diagramma, ko 384 00:18:51,701 --> 00:18:52,670 viņi ir kopīgs? 385 00:18:52,670 --> 00:18:55,960 Mēs vēlamies, lai savienotu šīs divas tabulas pamatojoties uz to, ko viņi ir kopīgs 386 00:18:55,960 --> 00:19:01,230 un izveidot šo hipotētisko tabulu ka ir apvienošanās abas kopā. 387 00:19:01,230 --> 00:19:03,480 Tātad mēs redzēsim šo izturēties piemērs un varbūt, ka jums palīdzēt 388 00:19:03,480 --> 00:19:04,521 notīriet to uz augšu mazliet. 389 00:19:04,521 --> 00:19:09,260 Tātad, varbūt jūs vēlaties, lai izvēlētos user.fullname un moms.mother 390 00:19:09,260 --> 00:19:13,220 no lietotājiem iestāšanos šajā moms galda katrā situācijā 391 00:19:13,220 --> 00:19:16,790 kur lietotājvārds kolonna ir tas pats, starp tiem. 392 00:19:16,790 --> 00:19:19,240 Un tas ir jauns sintaktiskas šeit, šo lietotāju. 393 00:19:19,240 --> 00:19:20,460 un moms .. 394 00:19:20,460 --> 00:19:26,697 Ja es esmu dara vairākas tabulas kopā, es varu norādīt tabulu. 395 00:19:26,697 --> 00:19:29,530 Es varu atšķirt jo īpaši par ka pašā apakšā tur. 396 00:19:29,530 --> 00:19:33,220 Es varu atšķirt lietotājvārdu kolonna no lietotāju tabulas 397 00:19:33,220 --> 00:19:36,010 no lietotājvārdu kolonnā moms galds, kas ir otherwise-- 398 00:19:36,010 --> 00:19:38,070 ja mēs tikko teica username vienāds lietotājvārds, ka nav īsti 399 00:19:38,070 --> 00:19:38,970 nozīmēt jebko. 400 00:19:38,970 --> 00:19:41,440 Mēs vēlamies to darīt, ja tie atbilst. 401 00:19:41,440 --> 00:19:46,080 >> Tāpēc es varu norādīt tabulu un kolonnas nosaukums, ja tas ir situācijas 402 00:19:46,080 --> 00:19:48,370 ja tas būtu skaidrs ko es runāju par. 403 00:19:48,370 --> 00:19:51,880 Tātad tas ir viss, ko es daru, ir es esmu sakot, šo sleju no šīs tabulas, 404 00:19:51,880 --> 00:19:54,020 un ir ļoti skaidri. 405 00:19:54,020 --> 00:19:56,810 Tātad vēlreiz, es esmu izvēloties pilns nosaukums un mātes vārds 406 00:19:56,810 --> 00:20:00,950 no lietotāju tabulas sasaistīti ar moms tabulu katrā situācijā 407 00:20:00,950 --> 00:20:05,960 kur viņi dalās ka column-- tie koplietot šo lietotājvārdu jēdzienu. 408 00:20:05,960 --> 00:20:08,580 >> Tātad, šeit ir galdi mums bija pirms tam. 409 00:20:08,580 --> 00:20:12,210 Tas ir stāvoklis mūsu datubāzē, kā tas pastāv jau tagad. 410 00:20:12,210 --> 00:20:16,390 Informāciju mēs ieguves tas ir, lai sāktu ar. 411 00:20:16,390 --> 00:20:19,820 Tas ir jauns galds mēs ejam lai izveidotu apvienojot kopā. 412 00:20:19,820 --> 00:20:23,585 Un paziņojums mēs neesam izceļot Newman ir rinda lietotāja galda, 413 00:20:23,585 --> 00:20:25,960 un mēs esam ne izceļot Krāmera rinda moms tabulā 414 00:20:25,960 --> 00:20:31,250 jo ne viens eksistē gan sets-- abās tabulās. 415 00:20:31,250 --> 00:20:36,260 >> Vienīgā informācija, kas ir kopīgs starp tām ir Jerry ir abās tabulās 416 00:20:36,260 --> 00:20:39,100 un gcostanza ir abās tabulās. 417 00:20:39,100 --> 00:20:42,620 Un tad, kad mēs to SQL JOIN, ko mēs get-- un mēs darām faktiski iegūtu šo. 418 00:20:42,620 --> 00:20:44,830 Tas ir sava veida pagaidu mainīgo. 419 00:20:44,830 --> 00:20:47,330 Tas ir tāpat kā hipotētisks apvienošana divās tabulās. 420 00:20:47,330 --> 00:20:49,930 Mēs faktiski saņemt kaut ko kā šis, kur 421 00:20:49,930 --> 00:20:54,730 mēs esam apvienoti kopā tabulas par to informāciju, kas viņiem ir kopīgs. 422 00:20:54,730 --> 00:20:58,334 >> Tātad paziņojums, ka users.username un moms.username kolonna, 423 00:20:58,334 --> 00:20:59,250 tas ir tieši tas pats. 424 00:20:59,250 --> 00:21:01,820 Tas bija informācija, ka bija konsekvents no lietotājiem 425 00:21:01,820 --> 00:21:02,890 galds un māmiņas galda. 426 00:21:02,890 --> 00:21:04,270 Un tā mēs apvienojām kopā. 427 00:21:04,270 --> 00:21:06,919 Mēs izmet Kramer jo viņš nepastāvēja lietotāju tabulā, 428 00:21:06,919 --> 00:21:09,710 un mēs jāizmet Newman, jo viņš nepastāvēja moms tabulā. 429 00:21:09,710 --> 00:21:16,450 Tātad šis ir hipotētisks apvienošanās izmantojot JOIN darbību SELECT. 430 00:21:16,450 --> 00:21:21,250 >> Un tad mēs meklējam lietotāja pilnu nosaukumu un lietotāja māte, 431 00:21:21,250 --> 00:21:24,999 un tāpēc šī ir informācija, ka mēs varētu saņemt no kopējā vaicājumu 432 00:21:24,999 --> 00:21:26,040 ka mēs, kas ar SELECT. 433 00:21:26,040 --> 00:21:28,873 Tātad mēs pievienojāmies tabulas kopā un mēs iegūta šīs divas kolonnas, 434 00:21:28,873 --> 00:21:31,610 un tā, ka tas, ko mēs varētu saņemt. 435 00:21:31,610 --> 00:21:33,370 Bet SQL pievienojas veida sarežģīta. 436 00:21:33,370 --> 00:21:36,770 Jūs, iespējams, nebūs darīt to pārāk daudz, bet vienkārši ir kāda ideja par skeleta 437 00:21:36,770 --> 00:21:41,992 ka jūs varētu izmantot, lai apvienot divas tabulas kopā, ja jums nepieciešams. 438 00:21:41,992 --> 00:21:43,700 Pēdējo divu esam mazliet vienkāršāku es apsolu. 439 00:21:43,700 --> 00:21:48,040 Tātad atjaunināšanu, mēs varam izmantot UPDATE mainīt informāciju tabulā. 440 00:21:48,040 --> 00:21:53,880 Vispārējais formāts ir atjaunināt dažus galds, kas dažas kolonnu dažas vērtības 441 00:21:53,880 --> 00:21:55,540 Kur daži predikāta ir izpildīts. 442 00:21:55,540 --> 00:21:57,850 Tā, piemēram, mēs varētu vēlēties atjaunināt lietotāju tabulu 443 00:21:57,850 --> 00:22:04,400 un iestatīt paroli yada yada, kur ID numurs ir 10. 444 00:22:04,400 --> 00:22:06,400 >> Tātad šajā gadījumā mēs esam atjaunināt lietotāju tabulu. 445 00:22:06,400 --> 00:22:08,275 ID numurs ir 10, lai ka pirmā rinda tur, 446 00:22:08,275 --> 00:22:10,690 un mēs vēlamies, lai atjauninātu paroli yada yada. 447 00:22:10,690 --> 00:22:12,170 Un tā tas ir, kas notiktu. 448 00:22:12,170 --> 00:22:13,628 Tas ir diezgan vienkārši, vai ne? 449 00:22:13,628 --> 00:22:17,990 Tas ir tikai ļoti vienkāršs modifikācija uz galda. 450 00:22:17,990 --> 00:22:22,250 >> DELETE ir operācija mēs izmantojām, lai noņemt informāciju no galda. 451 00:22:22,250 --> 00:22:24,817 Izdzēst no galda, kur daži predikāta ir apmierināts. 452 00:22:24,817 --> 00:22:26,900 Mēs vēlamies, lai izdzēstu no Lietotāji tabula piemēram 453 00:22:26,900 --> 00:22:28,254 kur lietotājvārds ir Newman. 454 00:22:28,254 --> 00:22:31,420 Jūs varat droši uzminēt, kas notiek uz notikt šeit, kad mēs izpildīt, ka SQL 455 00:22:31,420 --> 00:22:35,790 vaicājums, Newman ir aizgājuši no galda. 456 00:22:35,790 --> 00:22:40,460 >> Tātad visas šīs darbības, kā es esmu teica, ir ļoti viegli darīt phpMyAdmin. 457 00:22:40,460 --> 00:22:43,020 Tas ir ļoti lietotājam draudzīgs interfeiss. 458 00:22:43,020 --> 00:22:45,930 Bet tas prasa roku spēks. 459 00:22:45,930 --> 00:22:47,840 Mēs nevēlamies, lai nodarbināt roku spēks. 460 00:22:47,840 --> 00:22:51,280 Mēs vēlamies, lai mūsu programmām darīt mums, vai ne? 461 00:22:51,280 --> 00:22:53,190 Tātad mēs varētu vēlēties darīt šis programmatiski. 462 00:22:53,190 --> 00:22:56,410 Mēs vēlamies iekļaut SQL un būt kaut kas cits, lai to izdarītu, mums. 463 00:22:56,410 --> 00:23:02,710 >> Bet ko mēs esam redzējuši, kas ļauj mums programmatiski kaut ko darīt? 464 00:23:02,710 --> 00:23:03,690 Mēs esam redzējuši PHP, vai ne? 465 00:23:03,690 --> 00:23:05,760 Tā ievieš dažas dinamisms mūsu programmās. 466 00:23:05,760 --> 00:23:10,430 Un tā par laimi, SQL un PHP spēlē ļoti labi kopā. 467 00:23:10,430 --> 00:23:13,230 Tur ir funkcija PHP sauc vaicājumu, ko var izmantot. 468 00:23:13,230 --> 00:23:15,870 Un jūs varat iet, jo parametrs vai arguments 469 00:23:15,870 --> 00:23:19,210 vaicājumu SQL vaicājumu, kas jūs vēlētos izpildīt. 470 00:23:19,210 --> 00:23:23,250 Un PHP darīs to savā vārdā. 471 00:23:23,250 --> 00:23:25,564 >> Tātad, pēc tam, kad esat savienots ar savu datu bāzi ar PHP, 472 00:23:25,564 --> 00:23:26,980 tur ir divas primaries jūs darīt. 473 00:23:26,980 --> 00:23:29,230 Tur ir kaut kas ko sauc mysqli un kaut ko sauc par ACVN. 474 00:23:29,230 --> 00:23:31,063 Mēs ne iedziļināties milzīgs summa detaļa tur. 475 00:23:31,063 --> 00:23:32,957 In CS50 mēs izmantojam ACVN. 476 00:23:32,957 --> 00:23:34,790 Pēc tam, kad esat savienots ar savu datu bāzi, jūs 477 00:23:34,790 --> 00:23:40,980 tad var veikt vaicājumus savu datu bāzi novadot vaicājumus kā argumenti 478 00:23:40,980 --> 00:23:42,730 PHP funkcijas. 479 00:23:42,730 --> 00:23:46,460 Un, kad jūs to izdarītu, jums uzglabāt uz rezultātu noteikts asociatīvā masīva. 480 00:23:46,460 --> 00:23:50,290 >> Un mēs zinām, kā strādāt ar asociatīvas masīvi PHP. 481 00:23:50,290 --> 00:23:52,630 Tāpēc es varētu teikt kaut ko tāpat this-- $ results-- 482 00:23:52,630 --> 00:23:55,470 tas ir PHP-- vienāds vaicājumu. 483 00:23:55,470 --> 00:23:57,660 Un tad iekšpusē vaicājums funkcija šis arguments 484 00:23:57,660 --> 00:24:00,130 ka es esmu iet vaicājumu kas izskatās kā SQL. 485 00:24:00,130 --> 00:24:01,160 Un patiesībā tas ir SQL. 486 00:24:01,160 --> 00:24:05,700 Tas ir vaicājuma virknes, ka es patīk izpildīt par manu datu bāzi. 487 00:24:05,700 --> 00:24:09,250 >> Un tā sarkanā, tas ir PHP. 488 00:24:09,250 --> 00:24:11,890 Tas ir SQL, ka es esmu integrējot PHP, padarot 489 00:24:11,890 --> 00:24:15,020 tas arguments uz vaicājumu funkciju. 490 00:24:15,020 --> 00:24:19,640 Es gribu, lai izvēlētos FULLNAME no Lietotāji kur ID numurs ir 10. 491 00:24:19,640 --> 00:24:22,560 Un tad varbūt pēc es esmu darījusi, ka, Es varētu teikt kaut kas līdzīgs šim. 492 00:24:22,560 --> 00:24:25,550 Es gribu izdrukāt ziņu Paldies piesakoties. 493 00:24:25,550 --> 00:24:32,530 >> Un es gribu to interpolate-- es gribu interpolēt $ rezultātus FULLNAME. 494 00:24:32,530 --> 00:24:36,280 Un tā tas ir, kā es strādāju ar to asociatīvā masīva, ka es saņēmu atpakaļ. 495 00:24:36,280 --> 00:24:39,730 $ rezultāti FULLNAME būtu būtībā beigties izdrukāšana, 496 00:24:39,730 --> 00:24:42,870 paldies par piesakoties, Jerry Seinfeld. 497 00:24:42,870 --> 00:24:46,570 Tas bija pilns nosaukums kur idnum vienāds 10. 498 00:24:46,570 --> 00:24:48,850 >> Un tā es esmu dara ir es esmu now-- es saglabāti 499 00:24:48,850 --> 00:24:52,780 mans jautājums, manas vaicājumu rezultāti un rezultātā rodas asociatīvā masīva, 500 00:24:52,780 --> 00:24:56,330 un FULLNAME ir nosaukums kolonna Es biju kļūst par. 501 00:24:56,330 --> 00:25:01,010 Tātad tas ir mans galvenais uz rezultātiem asociatīvā masīva, ka es gribu. 502 00:25:01,010 --> 00:25:05,930 Tātad Paldies piesakoties, $ rezultātus, FULLNAME būs izdrukāt, būs stick 503 00:25:05,930 --> 00:25:08,654 tieši starp šīm cirtaini bikšturi, Jerry Seinfeld. 504 00:25:08,654 --> 00:25:11,820 Un es patiks izdrukāt ziņu Paldies par piesakoties Jerry Seinfeld. 505 00:25:11,820 --> 00:25:16,652 >> Tagad, mēs, iespējams, nevēlaties, lai grūti kods lietas, piemēram, ka, labi? 506 00:25:16,652 --> 00:25:19,860 Mēs varētu vēlēties darīt kaut ko līdzīgu drukāt f, kur mēs varam aizvietot un varbūt 507 00:25:19,860 --> 00:25:22,443 vākt citu informāciju, vai varbūt ir vaicājuma procesu 508 00:25:22,443 --> 00:25:23,370 atšķirīga informācija. 509 00:25:23,370 --> 00:25:27,920 Un tā vaicājumu, vaicājums funkcija ir šis jēdziens veida substitūciju 510 00:25:27,920 --> 00:25:32,310 ļoti līdzīgs drukāt f procentiem s un procenti c, ir jautājuma zīmes. 511 00:25:32,310 --> 00:25:34,290 >> Un mēs varam izmantot jautājumu zīmes ļoti analoģijas 512 00:25:34,290 --> 00:25:38,400 drukāt f uz aizvietojošiem mainīgajiem. 513 00:25:38,400 --> 00:25:44,120 Tātad, varbūt jūsu lietotāja pieteicies agrāk, un esat saglabājis savu lietotāja ID numuru 514 00:25:44,120 --> 00:25:51,710 in $ _session PHP super globāls atslēgas ID. 515 00:25:51,710 --> 00:25:55,947 Tātad, varbūt pēc tam viņi pieteicies, Jums noteikti $ _session ID vienāds 10, 516 00:25:55,947 --> 00:25:58,280 ekstrapolējot no piemēra mēs tikko redzējām otrs atpakaļ. 517 00:25:58,280 --> 00:26:01,960 >> Un tad, kad mēs faktiski izpildīt Šis vaicājums rezultātus tagad, 518 00:26:01,960 --> 00:26:08,440 tas iespraudiet 10, vai kāds no $ _session ID vērtība ir. 519 00:26:08,440 --> 00:26:10,790 Un tā, kas ļauj mums būt mazliet dinamiskāks. 520 00:26:10,790 --> 00:26:12,699 Mēs esam ne grūti kodēšanas lietas vairs. 521 00:26:12,699 --> 00:26:14,490 Mēs esam ietaupot informāciju kaut kur un pēc tam 522 00:26:14,490 --> 00:26:18,924 mēs varam izmantot šo informāciju vēlreiz kārtot vispārināt to, ko mēs vēlamies darīt, 523 00:26:18,924 --> 00:26:21,090 un tikai plug-in un maiņa uzvedība mūsu lapā 524 00:26:21,090 --> 00:26:26,489 pamatojoties uz to, ko lietotājs ir ID numurs patiesībā ir pēc tam, kad tie esam pieteicies. 525 00:26:26,489 --> 00:26:28,530 Tas ir arī iespējams, lai gan, kas nosaka jūsu rezultāti 526 00:26:28,530 --> 00:26:30,840 var sastāvēt no vairākām rindām. 527 00:26:30,840 --> 00:26:33,990 Tādā gadījumā, jums ir masīvs arrays-- 528 00:26:33,990 --> 00:26:35,334 masīvs asociatīvas masīvi. 529 00:26:35,334 --> 00:26:37,000 Un jums ir nepieciešams atkārtot, izmantojot to. 530 00:26:37,000 --> 00:26:41,950 Un mēs zinām, kā to atkārtot izmantojot masīvu PHP, vai ne? 531 00:26:41,950 --> 00:26:45,600 Tātad, šeit ir iespējams, visvairāk sarežģīta lieta, ko mēs esam redzējuši līdz šim. 532 00:26:45,600 --> 00:26:49,640 Tas faktiski apvieno trīs valodas kopā. 533 00:26:49,640 --> 00:26:52,920 >> Šeit, sarkans, tas ir daži HTML. 534 00:26:52,920 --> 00:26:56,872 Es esmu acīmredzot starting-- tas ir fragments no kāda HTML, kas man ir. 535 00:26:56,872 --> 00:26:59,580 Es esmu sāk jaunu punktu, ka saka māmiņas no televizora Seinfeld. 536 00:26:59,580 --> 00:27:02,350 Un tad uzreiz pēc tam Es esmu sāk galdiņu. 537 00:27:02,350 --> 00:27:06,060 Un tad pēc tam, es ir dažas PHP, vai ne? 538 00:27:06,060 --> 00:27:08,229 Man ir visu šo PHP kodu tur. 539 00:27:08,229 --> 00:27:09,645 Es esmu acīmredzot gatavojas veikt vaicājumu. 540 00:27:09,645 --> 00:27:14,180 Un, lai padarītu vaicājumu, es esmu gatavojas būt izmantojot SELECT mātēm NO mammām. 541 00:27:14,180 --> 00:27:15,970 >> Tātad šis ir getting-- tas ir SQL. 542 00:27:15,970 --> 00:27:17,300 Tātad zilā ir SQL. 543 00:27:17,300 --> 00:27:19,680 Mēs redzējām otrā pirms sarkanā bija HTML. 544 00:27:19,680 --> 00:27:21,360 Un zaļā šeit ir PHP. 545 00:27:21,360 --> 00:27:23,400 Tāpēc es esmu padarot vaicājumu uz manu datu bāzi, es esmu 546 00:27:23,400 --> 00:27:26,040 Izvēloties visi māmiņas moms tabulā. 547 00:27:26,040 --> 00:27:30,710 Ne tikai sašaurinot to uz leju, lai īpaši rinda, es esmu lūdzot viņiem visiem. 548 00:27:30,710 --> 00:27:33,290 >> Tad es pārbaudītu, vai rezultāts ir nav vienlīdzīgi vienāds nepatiesa. 549 00:27:33,290 --> 00:27:37,410 Tas ir tikai mans veids, kā pārbaudīt veida no tā, ja rezultāti nav vienāds ar null, 550 00:27:37,410 --> 00:27:40,260 ka mēs varētu redzēt c piem. 551 00:27:40,260 --> 00:27:44,000 Būtībā tas ir tikai pārbaudes, lai padarītu pārliecināts, ka tas faktiski ieguva datus atpakaļ. 552 00:27:44,000 --> 00:27:47,041 Tā kā es nevēlos, lai sāktu drukāšanu out datiem, ja es nesaņēma nekādus datus. 553 00:27:47,041 --> 00:27:50,690 Tad par katru rezultātu, kā rezultātā foreach sintakse no PHP, viss, ko es daru 554 00:27:50,690 --> 00:27:53,399 drukā $ rezultāts mātēm. 555 00:27:53,399 --> 00:27:55,940 Un tāpēc es esmu gatavojas saņemt komplektu no visiem mātes each-- 556 00:27:55,940 --> 00:27:59,980 tas ir masīvs asociatīvās arrays-- un es esmu izdrukāšanu 557 00:27:59,980 --> 00:28:03,649 katrs par savu rindu tabulā. 558 00:28:03,649 --> 00:28:05,690 Un tas ir patiešām diezgan daudz viss notiek ar to. 559 00:28:05,690 --> 00:28:07,750 Es zinu, tur ir maz bit notiek šeit 560 00:28:07,750 --> 00:28:13,210 Šajā pēdējā piemērā ar bloki arrays-- bloki asociatīvas masīvi. 561 00:28:13,210 --> 00:28:17,340 Bet tas tiešām tikai vārīties noteikti SQL padarīt vaicājumu, 562 00:28:17,340 --> 00:28:21,102 Parasti izvēloties kad mēs esam jau nodot informāciju uz galda, 563 00:28:21,102 --> 00:28:22,310 un tad tikai velkot to ārā. 564 00:28:22,310 --> 00:28:25,710 >> Un tas ir, mēs varētu izvelciet to šajā konkrētajā gadījumā. 565 00:28:25,710 --> 00:28:31,120 Mēs būtu ekstrakts visi no indivīda māmiņas no moms tabulā. 566 00:28:31,120 --> 00:28:35,970 Mēs saņēmām kopums viņiem, un mēs gribu atkārtot, izmantojot un izdrukāt 567 00:28:35,970 --> 00:28:37,630 katrs. 568 00:28:37,630 --> 00:28:40,510 Tātad vēlreiz, tas ir iespējams vissarežģītāko piemērs 569 00:28:40,510 --> 00:28:44,510 mēs esam redzējuši, jo mēs esam sajaucot trīs dažādas valodas kopā, vai ne? 570 00:28:44,510 --> 00:28:50,100 >> Atkal, mums ir HTML šeit sarkanā krāsā, sajauc ar kādu SQL šeit zilā krāsā, 571 00:28:50,100 --> 00:28:52,049 sajauc ar kādu PHP zaļā krāsā. 572 00:28:52,049 --> 00:28:53,840 Bet visi šie spēlē labi kopā, tas ir 573 00:28:53,840 --> 00:28:57,060 tikai jautājums par jaunattīstības labus ēšanas paradumus, lai jūs varētu iegūt 574 00:28:57,060 --> 00:28:58,780 viņiem strādāt kopā, kā jūs vēlaties. 575 00:28:58,780 --> 00:29:03,790 Un vienīgais veids, kā patiešām darīt ir prakse, prakse, prakse. 576 00:29:03,790 --> 00:29:06,740 Es esmu Doug Lloyd, tas ir CS50. 577 00:29:06,740 --> 00:29:08,647