1 00:00:00,000 --> 00:00:03,493 >> [MÜZİK OYUN] 2 00:00:03,493 --> 00:00:04,934 3 00:00:04,934 --> 00:00:07,100 Doug LLOYD: Bizim videolarda Web geliştirme konularında, 4 00:00:07,100 --> 00:00:10,560 Biz kavramı söz ettik Sağ veritabanı birkaç kez,? 5 00:00:10,560 --> 00:00:12,700 Yani, bir veritabanı sen dan muhtemelen tanıdık 6 00:00:12,700 --> 00:00:15,780 Microsoft Excel kullanarak söylemek veya Google E-Tablolar. 7 00:00:15,780 --> 00:00:20,650 Gerçekten sadece bir organize var tablolar, satır ve sütun ayarlayın. 8 00:00:20,650 --> 00:00:23,140 >> Ve bir veri tabanı nerede Web sitemizi mağazaları 9 00:00:23,140 --> 00:00:26,760 önemli olan bilgiler sitemizde düzgün çalışması için. 10 00:00:26,760 --> 00:00:30,150 Yine, gerçekten yaygın bir örnek burada kullanıcı adlarını ve şifrelerini depolamak 11 00:00:30,150 --> 00:00:32,824 bir veritabanında, bu nedenle zaman o Web sitemizde içine bir kullanıcı oturum açtığında, 12 00:00:32,824 --> 00:00:36,690 Veritabanı görmek için sorgulanabilir kullanıcı veritabanında varsa. 13 00:00:36,690 --> 00:00:39,260 Onlar Ve eğer, bu kontrol Onların şifre doğrudur. 14 00:00:39,260 --> 00:00:43,420 Ve onların şifre doğru ise, o zaman biz ne olursa olsun sayfayı onlara verebilir 15 00:00:43,420 --> 00:00:45,370 Onlar isteyerek ediyoruz. 16 00:00:45,370 --> 00:00:48,590 >> Yani yine muhtemelen aşina Excel veya Google bu fikir 17 00:00:48,590 --> 00:00:49,430 Tablolar. 18 00:00:49,430 --> 00:00:52,980 Biz veritabanları var, tablolar, satırlar, sütunlar ve. 19 00:00:52,980 --> 00:00:56,450 Ve bu gerçekten çeşit Temel kümesinin 20 00:00:56,450 --> 00:00:58,470 Burada hiyerarşik arıza. 21 00:00:58,470 --> 00:00:59,800 Yani burada bir Excel var. 22 00:00:59,800 --> 00:01:02,640 Ve hiç bu açtığınız takdirde ya da başka bir benzer bir program 23 00:01:02,640 --> 00:01:06,780 Bu burada olduğunu biliyorum rows-- 1, 2, 3, 4, 5, 6, 7. 24 00:01:06,780 --> 00:01:08,760 Bu sütunlar bulunmaktadır. 25 00:01:08,760 --> 00:01:11,790 >> Belki buraya, sen olabilir, ancak korkunç much-- bu özelliği kullanmak 26 00:01:11,790 --> 00:01:15,370 Sanırım var açmayız Büyütmek olacak Bir tabakanın bu fikir. 27 00:01:15,370 --> 00:01:17,930 Yani belki bu levhalar, eğer Ben, ileri geri alternatif 28 00:01:17,930 --> 00:01:21,600 farklı tablolar olduğunu Benim veritabanında var. 29 00:01:21,600 --> 00:01:25,210 Ve biz örnek tüm devam ederse yol, bu veritabanının adı 30 00:01:25,210 --> 00:01:26,940 Kitap 1'dir. 31 00:01:26,940 --> 00:01:28,710 Belki Kitap 2 ve Kitap 3 var. 32 00:01:28,710 --> 00:01:33,270 Yani her Excel dosyası olan bir Veritabanı, her tabaka bir tablodur, 33 00:01:33,270 --> 00:01:39,530 ve her tablonun içinde ben Satır ve sütun bu fikir. 34 00:01:39,530 --> 00:01:41,900 >> Peki nasıl bu veritabanı ile çalışır? 35 00:01:41,900 --> 00:01:43,630 Nasıl ondan bilgi alabilirim? 36 00:01:43,630 --> 00:01:47,540 Peki adında bir dil var SQL-- Ben genellikle sadece Sequel-- diyoruz 37 00:01:47,540 --> 00:01:50,010 ve onun için duruyor Yapılandırılmış sorgu dili. 38 00:01:50,010 --> 00:01:52,981 Ve bir programlama dilidir, ama oldukça sınırlı programlama var 39 00:01:52,981 --> 00:01:53,480 dil. 40 00:01:53,480 --> 00:01:56,407 Oldukça diğerleri gibi değil biz beraber çalıştık. 41 00:01:56,407 --> 00:01:58,240 Ama bu amacı Programlama dili 42 00:01:58,240 --> 00:02:01,570 için, bir veritabanını sorgulamak için Bir veritabanı bilgi isteyin 43 00:02:01,570 --> 00:02:04,480 Bir de bilgi bulabilirsiniz Veritabanı, vb. 44 00:02:04,480 --> 00:02:08,449 >> Ayrıca, CS50-- ve çok var: ortak bir platform, MySQL denir. 45 00:02:08,449 --> 00:02:10,600 Yani biz derste kullanmak budur. 46 00:02:10,600 --> 00:02:12,880 Bu bir açık kaynak var kurar platformu 47 00:02:12,880 --> 00:02:16,732 adlandırılan ilişkisel database-- Bir veritabanı, etkili bir şekilde. 48 00:02:16,732 --> 00:02:18,440 Biz almak gerekmez çok fazla detaya 49 00:02:18,440 --> 00:02:20,930 ne bir ilişkisel veritabanı olduğunu. 50 00:02:20,930 --> 00:02:24,650 Ama SQL dili çalışma çok usta 51 00:02:24,650 --> 00:02:29,760 MySQL ve benzeri diğer İlişkisel veritabanlarının stilleri. 52 00:02:29,760 --> 00:02:34,010 >> Ve birçok tesisler Şeyle MySQL gel 53 00:02:34,010 --> 00:02:37,760 adı phpMyAdmin'in, burada grafiksel kullanıcı 54 00:02:37,760 --> 00:02:40,970 Bir GUI-- arabirimini, bu Biraz daha yapar 55 00:02:40,970 --> 00:02:44,410 yürütmek için kullanıcı dostu Veritabanı sorguları, 56 00:02:44,410 --> 00:02:48,980 veritabanları sadece kullanılmaz çünkü ileri düzey programcılar tarafından, değil mi? 57 00:02:48,980 --> 00:02:51,510 Bazen orada Bu küçük işletmeler, 58 00:02:51,510 --> 00:02:53,900 ve onlar göze alamaz programcı bir ekip kiralama, 59 00:02:53,900 --> 00:02:56,700 ama yine de saklamak için ihtiyacınız bir veritabanında bilgi. 60 00:02:56,700 --> 00:02:59,300 >> PhpMyAdmin gibi bir şey biri için çok kolay hale getirir 61 00:02:59,300 --> 00:03:03,630 kim daha önce programlanmış hiç pick up ve nasıl aşina olmak 62 00:03:03,630 --> 00:03:07,710 Bir veritabanı ile çalışmak. 63 00:03:07,710 --> 00:03:11,800 Sorun ise phpMyAdmin'in olduğu bu öğrenme için harika bir araçtır 64 00:03:11,800 --> 00:03:14,850 veritabanları hakkında, manuel olduğunu. 65 00:03:14,850 --> 00:03:18,050 Sen oturum zorunda gidiyoruz o ve komutlar ve türünü yürütmek 66 00:03:18,050 --> 00:03:19,910 elle şeyler. 67 00:03:19,910 --> 00:03:23,160 >> Ve biz bildiğimiz gibi bizim PHP web programlama üzerine örnek 68 00:03:23,160 --> 00:03:26,550 elle yapmak zorunda Web sitemizde şeyler 69 00:03:26,550 --> 00:03:30,970 Biz dinamik, aktif duyarlı isterseniz Web sitesi, belki de en iyi yaklaşım. 70 00:03:30,970 --> 00:03:33,980 Biz bir yol bulmak istiyorum belki bir şekilde bu otomatikleştirmek. 71 00:03:33,980 --> 00:03:37,864 Ve SQL bunu bize sağlayacak. 72 00:03:37,864 --> 00:03:39,780 Peki biz ne zaman gidiyoruz SQL ile çalışmaya başlamak, 73 00:03:39,780 --> 00:03:41,220 Biz ilk bir olması gerekir Veritabanı ile çalışmak için. 74 00:03:41,220 --> 00:03:42,510 Bir veritabanı olduğunu oluşturma bir şey muhtemelen 75 00:03:42,510 --> 00:03:45,350 Çünkü, phpMyAdmin yapacak Eğer sadece bir kez yapmak gerekir 76 00:03:45,350 --> 00:03:49,690 ve bunun için sözdizimi çok daha basittir. 77 00:03:49,690 --> 00:03:51,940 Bunu yapmak için çok daha kolay Bir grafik kullanıcı arayüzü 78 00:03:51,940 --> 00:03:53,520 Bir komut olarak dışarı yazarak daha. 79 00:03:53,520 --> 00:03:55,186 Komut biraz hantal alabilirsiniz. 80 00:03:55,186 --> 00:03:58,889 Benzer şekilde, bir tablo oluşturarak yapabilirsiniz hem de hantal biraz olsun. 81 00:03:58,889 --> 00:04:01,930 Bir veritabanı oluşturma gibi Ve böylece şeyler ve sen bir tablo oluşturma 82 00:04:01,930 --> 00:04:06,270 muhtemelen sadece once-- yapacak masanın başına bir kez, bir kez database-- başına 83 00:04:06,270 --> 00:04:09,040 o bu yapmak Tamam bir grafik arayüz. 84 00:04:09,040 --> 00:04:11,570 Sürecinde Bir tablo size edeceğiz oluşturma 85 00:04:11,570 --> 00:04:14,840 Ayrıca tüm belirtmek zorunda bu tablodaki olacaktır sütunlar. 86 00:04:14,840 --> 00:04:18,149 Bilgi ne tür do Tabloda saklamak ister misin? 87 00:04:18,149 --> 00:04:24,520 Belki bir kullanıcının adını ve doğum tarihi, şifre, kullanıcı kimlik numarası ve belki 88 00:04:24,520 --> 00:04:26,170 şehir ve devlet, değil mi? 89 00:04:26,170 --> 00:04:30,080 >> Ve her zaman bir kullanıcı eklemek istediğiniz veritabanına, hepimiz altı almak istiyorum 90 00:04:30,080 --> 00:04:31,890 bilginin bu parçalar arasında. 91 00:04:31,890 --> 00:04:34,840 Ve biz ekleyerek bunu tablo satır. 92 00:04:34,840 --> 00:04:37,800 Bu yüzden öncelikle bir veritabanı oluşturmak, o zaman biz bir tablo oluşturun. 93 00:04:37,800 --> 00:04:40,100 Oluşturmanın bir parçası olarak Bir tablo, biz sorulur 94 00:04:40,100 --> 00:04:44,280 Her sütun belirtmek için bu Bu tabloda istiyorum. 95 00:04:44,280 --> 00:04:47,247 Ve sonra biz başlatmak olarak eklemek veritabanına bilgiler 96 00:04:47,247 --> 00:04:49,580 ve veritabanı daha sorgulamak generally-- sadece ekleyerek değil, 97 00:04:49,580 --> 00:04:51,610 ama her şey biz sanıyor- biz uğraşan olacak 98 00:04:51,610 --> 00:04:58,870 biri olan tablonun, satırlar ile Tüm kümesinden kullanıcının bilgileri. 99 00:04:58,870 --> 00:05:03,210 >> Böylece her SQL sütun yeteneğine sahiptir Belirli bir veri türünde veri tutan. 100 00:05:03,210 --> 00:05:06,560 Yani biz bir çeşit bu ortadan PHP veri türleri fikri, 101 00:05:06,560 --> 00:05:08,747 ama onlar SQL geri buradayız. 102 00:05:08,747 --> 00:05:10,080 Ve veri türlerinin bir çok şey var. 103 00:05:10,080 --> 00:05:13,420 İşte bunlardan sadece 20 ama hatta hepsi değil. 104 00:05:13,420 --> 00:05:16,240 Yani biz INTs-- gibi fikirlerimiz var Muhtemelen biliyoruz Integers-- 105 00:05:16,240 --> 00:05:17,760 bu sütun tamsayılar tutabilir. 106 00:05:17,760 --> 00:05:21,077 Ve farklılıklar bulunmaktadır thereon-- SMALLINT, tinyint, MEDIUMINT, BIGINT. 107 00:05:21,077 --> 00:05:22,660 Belki her zaman dört sokması gerekmez. 108 00:05:22,660 --> 00:05:26,800 Belki sekiz bayt ihtiyacımız var ve bu yüzden tamsayılar bu varyasyonlar kullanabilirsiniz 109 00:05:26,800 --> 00:05:28,510 biraz daha fazla yer etkili olması için. 110 00:05:28,510 --> 00:05:31,899 Biz, ondalık sayılar yapabilirsiniz biz kayan nokta sayıları yapabilirsiniz. 111 00:05:31,899 --> 00:05:32,940 Bunlar oldukça benzerdir. 112 00:05:32,940 --> 00:05:34,773 Bazı farklar vardır, ve eğer isterseniz 113 00:05:34,773 --> 00:05:37,330 bakmak istiyorum Kılavuzun SQL sıralama, sen 114 00:05:37,330 --> 00:05:40,670 ne görebilirsiniz hafif aralarında farklılıklar vardır. 115 00:05:40,670 --> 00:05:43,250 >> Belki saklamak istediğiniz tarih ve saat hakkında bilgi. 116 00:05:43,250 --> 00:05:47,047 Belki takip ediyoruz Kullanıcı sitemizi katıldı, 117 00:05:47,047 --> 00:05:48,880 ve belki biz istiyoruz var bir sütun var 118 00:05:48,880 --> 00:05:52,820 Bir tarih zaman ya da bir zaman damgası olduğunu ne zaman kullanıcı aslında gösterir 119 00:05:52,820 --> 00:05:54,130 kaydoldum. 120 00:05:54,130 --> 00:05:56,132 Biz geometrileri ve LineStrings yapabilirsiniz. 121 00:05:56,132 --> 00:05:57,340 Bu aslında oldukça serin. 122 00:05:57,340 --> 00:06:01,410 Biz haritasını olabilir kullanarak coğrafi alan 123 00:06:01,410 --> 00:06:05,110 CBS bir bölgeyi çizmek için koordinatları. 124 00:06:05,110 --> 00:06:08,580 Yani aslında bu tür saklayabilirsiniz SQL sütundaki bilginin. 125 00:06:08,580 --> 00:06:11,390 >> METİN belki metnin sadece dev lekeler olduğunu. 126 00:06:11,390 --> 00:06:12,840 Enums tür ilginç. 127 00:06:12,840 --> 00:06:16,080 Onlar aslında C var biz do not onlar değil çünkü onlar hakkında konuşmak 128 00:06:16,080 --> 00:06:19,110 korkunç sık en azından CS50 kullanılır. 129 00:06:19,110 --> 00:06:22,680 Ama numaralandırılmış veri türü, var olan sınırlı değerleri tutma kapasitesine sahiptir. 130 00:06:22,680 --> 00:06:25,940 >> Gerçekten iyi bir örnek burada olurdu bir enum oluşturmak için nereye yedi 131 00:06:25,940 --> 00:06:29,394 Olası değerler, Pazar, Pazartesi Salı, Çarşamba, Perşembe, Cuma, 132 00:06:29,394 --> 00:06:30,060 Cumartesi, değil mi? 133 00:06:30,060 --> 00:06:33,311 Ve o veri tipi Günü Hafta, yok 134 00:06:33,311 --> 00:06:35,310 ama biz yaratabilir numaralandırılmış veri tipi gibi 135 00:06:35,310 --> 00:06:39,400 Bu sütun sadece hiç tutabilir Bu yedi olası değerlerden biri. 136 00:06:39,400 --> 00:06:44,300 Bütün numaralandırılmış ettik olası değerler. 137 00:06:44,300 --> 00:06:47,630 >> Sonra CHAR ve VARCHAR var, ve ben bu yeşil renk ettik 138 00:06:47,630 --> 00:06:49,505 biz aslında çünkü Bir saniye alacak 139 00:06:49,505 --> 00:06:51,950 fark hakkında konuşmak Bu iki şey arasındaki. 140 00:06:51,950 --> 00:06:55,780 Yani CHAR, aksine C nerede CHAR tek bir karakter oldu, 141 00:06:55,780 --> 00:07:00,730 SQL bir CHAR ifade eder Bir sabit uzunlukta bir dize. 142 00:07:00,730 --> 00:07:02,620 Ve biz bu oluşturduğunuzda Sütun, biz aslında 143 00:07:02,620 --> 00:07:05,070 dizenin uzunluğu belirleyebilirsiniz. 144 00:07:05,070 --> 00:07:08,080 >> Bu örnekte Yani Biz CHAR (10) diyebilirsiniz. 145 00:07:08,080 --> 00:07:11,190 Yani her demektir Bu sütunun eleman 146 00:07:11,190 --> 00:07:13,910 bilgilerin 10 bayt oluşacaktır. 147 00:07:13,910 --> 00:07:15,770 Ne fazla ne az. 148 00:07:15,770 --> 00:07:21,780 Biz denemek ve bir 15 koymak Yani eğer bit veya 15 karakter elemanı 149 00:07:21,780 --> 00:07:25,340 veya bu sütuna değer, biz sadece ilk 10 olsun ediyoruz. 150 00:07:25,340 --> 00:07:27,290 Biz iki koyarsanız karakter uzunluğunda bir değer, 151 00:07:27,290 --> 00:07:30,700 biz iki zorunda gidiyoruz karakterler ve ardından sekiz boş sokması. 152 00:07:30,700 --> 00:07:34,990 Biz daha verimli asla. 153 00:07:34,990 --> 00:07:37,727 >> Bir VARCHAR tür gibi bir dize bizim kavramı 154 00:07:37,727 --> 00:07:39,560 Biz tanıdık olduğumuzu C veya PHP'den ile. 155 00:07:39,560 --> 00:07:40,830 Bu değişken uzunluklu bir dize var. 156 00:07:40,830 --> 00:07:42,560 Ve oluşturduğunuzda Bu sütun, sadece 157 00:07:42,560 --> 00:07:44,860 mümkün olan maksimum uzunlukları belirtin. 158 00:07:44,860 --> 00:07:49,065 Yani belki 99 veya sık 255. 159 00:07:49,065 --> 00:07:50,440 Bu maksimum uzunluğu olacaktır. 160 00:07:50,440 --> 00:07:52,890 Ve eğer öyleyse biz saklamak edildi 15 karakter dizesi, 161 00:07:52,890 --> 00:07:56,157 belki 15, 16 byte kullanmak istiyorsunuz null Terminatör için bayt. 162 00:07:56,157 --> 00:07:57,990 Biz saklamak olsaydı bir Üç karakter dizesi, 163 00:07:57,990 --> 00:08:01,120 Biz üç ya da dört bayt kullanmak istiyorsunuz. 164 00:08:01,120 --> 00:08:03,050 Ama biz tam 99 kullanmak olmaz. 165 00:08:03,050 --> 00:08:05,190 >> Peki neden biz de olurdu? 166 00:08:05,190 --> 00:08:08,210 Peki, biz nasıl anlamaya gerekiyorsa Uzun bir şey VARCHAR ile, 167 00:08:08,210 --> 00:08:10,680 Biz yineleme tür var Sadece gibi karşısında biz C yaptığımız 168 00:08:10,680 --> 00:08:12,230 nerede durur ve anlamaya. 169 00:08:12,230 --> 00:08:15,920 Biz her şeyi biliyoruz, eğer Oysa Bu sütunda, belki 10 bayt 170 00:08:15,920 --> 00:08:19,220 biz bu bilgiyi biliyoruz, biz atlayabilir 10 byte, 10 byte, 10 byte, 10 byte, 171 00:08:19,220 --> 00:08:21,790 ve her zaman bulmak dizenin başında. 172 00:08:21,790 --> 00:08:25,210 >> Bu yüzden bazı olabilir Bir CHAR ile uzay israf, 173 00:08:25,210 --> 00:08:28,510 ama belki bir ticaret var daha yüksek hız olan kapalı 174 00:08:28,510 --> 00:08:30,160 veritabanı navigasyon. 175 00:08:30,160 --> 00:08:32,330 Ama belki bizim istediğimiz Bir VARCHAR esnekliği 176 00:08:32,330 --> 00:08:36,710 Bunun yerine having-- Bizim CHAR Varsa 255, ama bizim kullanıcıların çoğu 177 00:08:36,710 --> 00:08:40,537 sadece üç ya da dört bayt giren edildi bilgi veya üç ya da dört değerinde 178 00:08:40,537 --> 00:08:41,870 bilgi değerinde karakterleri. 179 00:08:41,870 --> 00:08:44,324 >> Ancak bazı kullanıcılar kullanıyorlardı Bütün 255, belki 180 00:08:44,324 --> 00:08:45,990 VARCHAR orada daha uygun olurdu. 181 00:08:45,990 --> 00:08:49,840 Bu kapalı bir ticaret çeşit ve Genellikle CS50 amacına uygun olarak, 182 00:08:49,840 --> 00:08:54,107 hakkında çok fazla endişelenmenize gerek yoktur Bir CHAR veya VARCHAR kullanın ister. 183 00:08:54,107 --> 00:08:57,190 Ama gerçek dünyada, bunlar Bu sütunların tamamı çünkü önemi var 184 00:08:57,190 --> 00:08:59,300 gerçek fiziksel yer kaplar. 185 00:08:59,300 --> 00:09:04,150 Ve fiziksel alan, Gerçek dünya, prim geliyor. 186 00:09:04,150 --> 00:09:06,800 >> Bir başka göz Yani ne zaman bir tablo bina konum 187 00:09:06,800 --> 00:09:09,840 olmak bir sütun seçmek için ne birincil anahtar denir. 188 00:09:09,840 --> 00:09:14,350 Ve bir birincil anahtar bir sütun her yerde tek bir değer benzersizdir. 189 00:09:14,350 --> 00:09:19,980 Ve o kolayca yapabilirsiniz anlamına gelir Sadece bakarak tek bir satır seçmek 190 00:09:19,980 --> 00:09:22,450 bu satırın birincil anahtar olarak. 191 00:09:22,450 --> 00:09:24,580 Örneğin Yani, Genellikle, kullanıcılar, 192 00:09:24,580 --> 00:09:27,210 İki kullanıcıları istemeyen Aynı kullanıcı kimliği numarasına sahip. 193 00:09:27,210 --> 00:09:28,960 Ve böylece belki var çok sayıda bilgi, 194 00:09:28,960 --> 00:09:30,793 ve belki iki kullanıcıları Aynı aşkına-- sahip 195 00:09:30,793 --> 00:09:32,650 John Smith ve John Smith var. 196 00:09:32,650 --> 00:09:34,520 Yani, illa bir sorun değil Birden insanlar var çünkü 197 00:09:34,520 --> 00:09:35,830 John Smith adlı dünyanın. 198 00:09:35,830 --> 00:09:40,766 Ama biz sadece bir kullanıcı kimliği numarası 10, bir kullanıcı kimlik numarası 11, 12, 13. 199 00:09:40,766 --> 00:09:42,640 Biz iki kullanıcımız var yok Aynı numara ile, 200 00:09:42,640 --> 00:09:46,010 ve belki kullanıcı kimlik numaraları İyi bir birincil anahtar olacaktır. 201 00:09:46,010 --> 00:09:48,610 >> Biz herhangi bir tekrarını yok ve şimdi benzersiz can 202 00:09:48,610 --> 00:09:52,619 Sadece her satırı tanımlamak o sütun bakarak. 203 00:09:52,619 --> 00:09:55,410 Aslında birincil anahtarları edebilirsiniz Seçimi sonraki tablo işlemleri yapmak 204 00:09:55,410 --> 00:09:59,710 Eğer kaldıraç çünkü çok daha kolay Gerçek şu ki bazı satırlar olacak 205 00:09:59,710 --> 00:10:02,720 Eşsiz, ya da belli bir sütun olacak veritabanı veya tablo 206 00:10:02,720 --> 00:10:06,030 almak için benzersiz olacak dışarı belirli satırları. 207 00:10:06,030 --> 00:10:08,790 >> Ayrıca ortak birincil olabilir Eğer fırsat bulabilirsiniz, hangi anahtar 208 00:10:08,790 --> 00:10:11,720 sadece olan, kullanımı iki sütun kombinasyonu olduğu 209 00:10:11,720 --> 00:10:13,280 benzersiz olması sağlanır. 210 00:10:13,280 --> 00:10:16,410 Yani belki bir tane var As ve Bs var sütun, 211 00:10:16,410 --> 00:10:19,290 İki, biri bir sütun, ve üç, ama sadece hiç edeceğiz 212 00:10:19,290 --> 00:10:23,660 Tek A1, tek bir var Ve benzerleri ve benzeri A2. 213 00:10:23,660 --> 00:10:28,980 Ama bir B2 olabilir, bir C2, veya A1, A2, A3, A4. 214 00:10:28,980 --> 00:10:32,840 Yani birden fazla olduğu gibi, birden çok olabilir İşletmeleri, birden fazla olanlar, birden fazla ikişer ikişer, 215 00:10:32,840 --> 00:10:38,567 ama sadece hiç sahip olabilir Tek A1, B2 C3, ve benzerleri. 216 00:10:38,567 --> 00:10:40,400 Yani dediğim gibi, SQL bir Programlama dili, 217 00:10:40,400 --> 00:10:42,024 ama oldukça sınırlı kelime dağarcığı vardır. 218 00:10:42,024 --> 00:10:44,880 Bu oldukça gibi geniş değil C ve PHP ve Diğer Diller 219 00:10:44,880 --> 00:10:46,350 Biz ders konuşmak. 220 00:10:46,350 --> 00:10:49,960 Daha ayrıntılı bir olduğunu Biz ne konum daha dil 221 00:10:49,960 --> 00:10:52,789 Bu hakkında konuşacak video nedeniyle bu video 222 00:10:52,789 --> 00:10:54,830 Biz hakkında konuşmak için gidiyoruz Dört işlem biz o 223 00:10:54,830 --> 00:10:55,720 Bir masaya gerçekleştirebilirsiniz. 224 00:10:55,720 --> 00:10:56,761 >> Bu daha vardır. 225 00:10:56,761 --> 00:10:58,730 Biz, bu daha fazlasını yapabilir ama bizim için, 226 00:10:58,730 --> 00:11:02,250 genelde kullanarak gidiyoruz Sadece dört operations-- eklemek, 227 00:11:02,250 --> 00:11:05,360 seçmek güncelleme ve silme. 228 00:11:05,360 --> 00:11:08,750 Ve muhtemelen sezgisel tahmin edebilirsiniz Bütün bunlar dört ne. 229 00:11:08,750 --> 00:11:12,520 Ama biz biraz içine gidersiniz Her biri ayrıntı. 230 00:11:12,520 --> 00:11:15,780 >> Bu amaçları için çok video kullanıcısının varsayalım 231 00:11:15,780 --> 00:11:18,870 Biz iki şu var tek bir veritabanında tablolar. 232 00:11:18,870 --> 00:11:23,460 Biz sahip bir tablo olarak adlandırılan Kullanıcıları var Dört columns-- kimlik numarası, adı, 233 00:11:23,460 --> 00:11:25,350 parola ve tam adı. 234 00:11:25,350 --> 00:11:27,430 Ve biz bir saniye var aynı veritabanında tablo 235 00:11:27,430 --> 00:11:32,129 sadece bilgi depolayan Moms denilen Bir kullanıcı adı ve bir anne hakkında. 236 00:11:32,129 --> 00:11:33,920 Örnekler bütün Yani bu video, yaparız 237 00:11:33,920 --> 00:11:37,945 Bu veritabanını kullanarak ve buna müteakip güncellemeler. 238 00:11:37,945 --> 00:11:40,070 Yani biz istiyoruz diyelim Bir tabloya bilgi eklemek. 239 00:11:40,070 --> 00:11:44,460 Bu ekleme işlemi ne var. 240 00:11:44,460 --> 00:11:46,550 Tüm açıklarken Bu komutlar, ben gidiyorum 241 00:11:46,550 --> 00:11:48,860 Size kullanmak için genel bir iskelet vermek. 242 00:11:48,860 --> 00:11:51,661 Temelde, sorgular Çünkü bakmak oldukça benzer olacak, 243 00:11:51,661 --> 00:11:54,660 Biz sadece değişen gidiyoruz bilgi biraz farklı parçalar 244 00:11:54,660 --> 00:11:56,750 tablo ile farklı şeyler yapmak. 245 00:11:56,750 --> 00:11:59,200 >> INSERT için, iskelet Yani tür, bu gibi görünüyor. 246 00:11:59,200 --> 00:12:02,230 Biz içine eklemek istediğiniz Belirli bir tablo. 247 00:12:02,230 --> 00:12:05,290 Sonra açık parantez olan ve sütunlar listesi 248 00:12:05,290 --> 00:12:08,070 biz içine değerleri koymak istiyorum. 249 00:12:08,070 --> 00:12:10,974 Yakın parantez, değerleri aşağıdaki ve daha sonra 250 00:12:10,974 --> 00:12:13,390 Yine, biz değerlerini listelemek Biz masaya koymak istiyorum. 251 00:12:13,390 --> 00:12:15,950 >> Bu Yani bir örnek Aşağıdaki olacaktır. 252 00:12:15,950 --> 00:12:19,170 Ben tabloya eklemek istediğiniz Kullanıcılar şu columns-- 253 00:12:19,170 --> 00:12:21,010 kullanıcı adı, parola ve tamadı. 254 00:12:21,010 --> 00:12:25,282 Ben atıyorum yeni bir satır Yani Biz konum ve bu üç sütun 255 00:12:25,282 --> 00:12:30,030 değerleri koymak olacak Newman USMAIL ve Newman. 256 00:12:30,030 --> 00:12:32,730 Yani bu durumda, ben küçük Newman koyarak 257 00:12:32,730 --> 00:12:38,710 Kullanıcı adınızı sütuna, şifre USMAIL ve tam adı başkent N 258 00:12:38,710 --> 00:12:41,940 Tamadı sütuna Newman. 259 00:12:41,940 --> 00:12:44,240 >> Yani burada ne veritabanı var daha önce benziyordu. 260 00:12:44,240 --> 00:12:48,250 İşte neler kullanıcıların masa üzerinde bulunuyor Üst biz bunu daha önce benziyordu. 261 00:12:48,250 --> 00:12:50,760 Bu yürüttükten sonra Sorgu, biz bu olsun. 262 00:12:50,760 --> 00:12:54,790 Biz masaya yeni bir satır ekledik. 263 00:12:54,790 --> 00:12:56,810 Ama bu bir şey fark Ben belirtmek etmedi 264 00:12:56,810 --> 00:12:59,880 ama nedense ben bir değer var için, burada bu 12 hangi. 265 00:12:59,880 --> 00:13:02,820 Ben istedim demedim Orada kimlik numarasını koymak. 266 00:13:02,820 --> 00:13:04,900 Ben, adını koymak istedim şifre, tamadı. 267 00:13:04,900 --> 00:13:06,440 Ve ben o güzel, o yaptı. 268 00:13:06,440 --> 00:13:07,760 >> Ama aynı zamanda bu 12 var. 269 00:13:07,760 --> 00:13:09,490 Neden bu 12 aldın? 270 00:13:09,490 --> 00:13:12,904 Peki, bu çıkıyor ne zaman tanımlıyoruz 271 00:13:12,904 --> 00:13:15,570 olacak bir sütun senin genellikle birincil anahtar, 272 00:13:15,570 --> 00:13:16,510 gibi bir kimlik numarası, dedi. 273 00:13:16,510 --> 00:13:18,718 Her zaman ille değil Kimlik numarası olacak, 274 00:13:18,718 --> 00:13:22,380 ama genellikle iyi bir fikirdir tamsayı değeri çeşit. 275 00:13:22,380 --> 00:13:25,950 Siz phpMyAdmin bir seçenek var ne zaman veritabanı oluştururken 276 00:13:25,950 --> 00:13:31,130 ya da tablo bu ayarlamak için Otomatik artmasını sütun. 277 00:13:31,130 --> 00:13:34,520 >> Hangi gerçekten iyi bir fikir olduğunu ne zaman Eğer birincil anahtarla çalışıyoruz, 278 00:13:34,520 --> 00:13:39,330 Her değer istiyorum çünkü o sütundaki benzersiz olmak. 279 00:13:39,330 --> 00:13:43,310 Ve belirtmek unutursanız birden fazla kişi için, 280 00:13:43,310 --> 00:13:46,240 Şimdi bir durum nerede var O sütun artık benzersiz. 281 00:13:46,240 --> 00:13:50,200 İki boşlukları var, bu yüzden hiçbir can daha benzersiz column-- tespit 282 00:13:50,200 --> 00:13:54,150 ya artık benzersiz can o sütun satır tabanlı tanımlamak. 283 00:13:54,150 --> 00:13:57,010 Bu tüm kaybetti onun birincil anahtar olarak değer. 284 00:13:57,010 --> 00:14:02,010 >> Ve böylece görünüşte ben ne yaptım Burada kullanıcı kimliği yapılandırıldı 285 00:14:02,010 --> 00:14:07,790 otomatik artış sütun, her şekilde zaman, masaya bilgi eklemek 286 00:14:07,790 --> 00:14:12,220 otomatik bana verecek birincil anahtar için bir değer. 287 00:14:12,220 --> 00:14:15,570 Yani çünkü bunu yapmak için asla unutamam Veritabanı benim için bunu yapacağız. 288 00:14:15,570 --> 00:14:16,587 Yani bu tür güzel. 289 00:14:16,587 --> 00:14:18,670 Aldığımız yüzden bu yüzden var Orada 12, ben ettik çünkü 290 00:14:18,670 --> 00:14:21,772 otomatik artış bu sütun ayarladı. 291 00:14:21,772 --> 00:14:23,730 Ben başka birini eklediyseniz Ben ekledi eğer, 13 olurdu 292 00:14:23,730 --> 00:14:27,890 başkası bunu 14 olacak ve istiyorum. 293 00:14:27,890 --> 00:14:30,190 >> O yüzden bir tane daha ekleme yapalım. 294 00:14:30,190 --> 00:14:34,530 Biz, anneler tabloya eklemek edeceğiz Özellikle, kullanıcı adı ve anne 295 00:14:34,530 --> 00:14:37,390 Sütun, değerler kramer ve Babs Kramer. 296 00:14:37,390 --> 00:14:39,140 Ve böylece biz daha önce bu vardı. 297 00:14:39,140 --> 00:14:41,800 Biz yürüttükten sonra SQL sorgusu, biz bu var. 298 00:14:41,800 --> 00:14:47,290 Biz Kramer ve Babs ekledik Anneler masaya Kramer. 299 00:14:47,290 --> 00:14:48,350 >> Yani takmadan ediyor. 300 00:14:48,350 --> 00:14:51,850 SEÇ biz ayıklamak için ne kullanın Tablodan bilgiler. 301 00:14:51,850 --> 00:14:54,390 Yani bu bizim olsun nasıl veritabanından bilgi. 302 00:14:54,390 --> 00:14:59,589 Ve böylece SEÇ komutlar olacak Çok sık programlama kullanılır. 303 00:14:59,589 --> 00:15:02,130 Genel framework-- Genel iskelet bu gibi görünüyor. 304 00:15:02,130 --> 00:15:06,550 Sütun grubunu Seçin Tablo ve ardından isteğe bağlı olarak 305 00:15:06,550 --> 00:15:11,090 Bir condition-- belirtebilirsiniz veya Biz genellikle bir yüklemi dediğimiz, 306 00:15:11,090 --> 00:15:13,010 genellikle biz SQL kullanmak terimdir. 307 00:15:13,010 --> 00:15:16,490 >> Ama temelde ne var Özellikle satırlar almak istiyorum. 308 00:15:16,490 --> 00:15:19,100 Sen, yerine getting istiyorsanız Her şey, onu daraltmak 309 00:15:19,100 --> 00:15:20,060 Bunu yapacağını budur. 310 00:15:20,060 --> 00:15:22,777 Ve sonra, isteğe bağlı olarak, siz de yapabilirsiniz Belirli bir sütuna göre sipariş. 311 00:15:22,777 --> 00:15:25,860 Yani belki sıralanmış şeyler istiyorum alfabetik bir sütun dayalı 312 00:15:25,860 --> 00:15:27,540 veya alfabetik olarak başka dayalı. 313 00:15:27,540 --> 00:15:30,610 >> Yine, ORDER BY isteğe bağlıdır NEREDE ve. 314 00:15:30,610 --> 00:15:32,681 Ama muhtemelen olacak useful-- Özellikle 315 00:15:32,681 --> 00:15:34,680 WHERE yararlı olacaktır Bunu yapmazsanız, böylece daraltmak 316 00:15:34,680 --> 00:15:37,460 geri tüm veritabanı olsun ve işlemek zorunda, sadece almak 317 00:15:37,460 --> 00:15:39,300 Bunun parçaları umurumda söyledi. 318 00:15:39,300 --> 00:15:44,932 Yani, örneğin, ben seçmek isteyebilirsiniz Kullanıcıların kimlik numarası ve fullname. 319 00:15:44,932 --> 00:15:46,140 Peki bu gibi görünebilir? 320 00:15:46,140 --> 00:15:48,270 Yani burada benim kullanıcıların masa. 321 00:15:48,270 --> 00:15:51,080 Ben idnum seçmek istiyorum ve kullanıcılardan fullname. 322 00:15:51,080 --> 00:15:52,300 Ne almak için gidiyorum? 323 00:15:52,300 --> 00:15:53,580 Ben bu alacağım. 324 00:15:53,580 --> 00:15:56,930 Ben daraltmak yoktu, bu yüzden ben her satır için kimlik numarası almak 325 00:15:56,930 --> 00:16:00,850 ve ben tam alıyorum Her satır isim. 326 00:16:00,850 --> 00:16:02,210 >> TAMAM. 327 00:16:02,210 --> 00:16:05,640 Ne şifreyi seçmek istiyorsanız Nere şimdi kullanıcılardan 328 00:16:05,640 --> 00:16:10,370 Ben bir koşul ekleyerek kulüpler, bir predicate-- idnum az 12 olduğu. 329 00:16:10,370 --> 00:16:13,660 Yani burada benim veritabanı yeniden var, Benim kullanıcıların masa üstü. 330 00:16:13,660 --> 00:16:17,030 Ne ben istiyorum almak için gidiyorum Bu bilgiyi seçin, şifre, 331 00:16:17,030 --> 00:16:21,550 nerede kullanıcı kimliği veya idnum 12 daha azdır? 332 00:16:21,550 --> 00:16:24,910 Ben bu alacağım bilgi geri, değil mi? 333 00:16:24,910 --> 00:16:29,170 Idnum 10 olduğunu Olur böyle şeyler, daha az 12'den, kimlik numarası 11 12 daha azdır. 334 00:16:29,170 --> 00:16:32,160 O satırlar için şifreyi alıyorum. 335 00:16:32,160 --> 00:16:33,914 Ben istedi buydu. 336 00:16:33,914 --> 00:16:34,580 Peki buna ne dersin? 337 00:16:34,580 --> 00:16:39,170 Ne yıldızı seçmek istiyorsanız kullanıcı adı Jerry eşittir Anneler tablo? 338 00:16:39,170 --> 00:16:43,780 Tamam seçeneğini yıldız özel joker tür sözde 339 00:16:43,780 --> 00:16:45,670 Biz her şeyi almak için kullandığınız. 340 00:16:45,670 --> 00:16:48,620 Böylece seçme söylüyorsun virgül anne, kullanıcı adı, hangi 341 00:16:48,620 --> 00:16:51,060 Sadece olmak oldu Bu tabloda, iki sütun, 342 00:16:51,060 --> 00:16:53,260 Ben sadece yıldız seçebilirsiniz ve her şeyi elde 343 00:16:53,260 --> 00:16:55,030 Nerede adı Jerry eşittir. 344 00:16:55,030 --> 00:16:59,380 Ve böylece ben alacağı ne Ben bu özel sorgu yaptıysanız. 345 00:16:59,380 --> 00:17:01,810 >> Şimdi veritabanları Büyük onlar izin çünkü 346 00:17:01,810 --> 00:17:06,074 Bize belki bilgileri organize etmek biz daha verimli biraz 347 00:17:06,074 --> 00:17:06,740 Aksi takdirde belki. 348 00:17:06,740 --> 00:17:10,240 Biz mutlaka saklamak için yok bilgilerin her parça ile ilgili 349 00:17:10,240 --> 00:17:12,230 Aynı tabloda, bir kullanıcı hakkında. 350 00:17:12,230 --> 00:17:13,730 Biz orada iki tablo vardı. 351 00:17:13,730 --> 00:17:15,734 >> Biz depolamak gerekiyor Herkesin annesinin adı, 352 00:17:15,734 --> 00:17:18,900 ve belki sosyal güvencesi olmayan sayı, biz kendi doğum tarihi var. 353 00:17:18,900 --> 00:17:21,819 Bu her zaman gerekmez Aynı tabloda olması. 354 00:17:21,819 --> 00:17:25,339 Sürece biz tanımlayabilirsiniz gibi tables-- arasındaki ilişkiler 355 00:17:25,339 --> 00:17:28,440 ve bu nerede olduğunu ilişkisel Veritabanı terim tür gelir 356 00:17:28,440 --> 00:17:32,130 play-- sürece biz tanımlayabiliriz olarak içine tablolar arasındaki ilişkiler, 357 00:17:32,130 --> 00:17:35,545 biz tür bölümlere edebilirsiniz veya soyut şeyler bir yol, 358 00:17:35,545 --> 00:17:37,670 biz sadece sahip olduğu Gerçekten önemli bilgiler 359 00:17:37,670 --> 00:17:39,270 Biz kullanıcının tabloda umurumda. 360 00:17:39,270 --> 00:17:43,220 Ve sonra yardımcı bilgilere sahip diğer tablolardaki ya da ekstra bilgiler 361 00:17:43,220 --> 00:17:48,260 biz ana geri bağlanabilmesi için belirli bir şekilde kullanıcıların tablo. 362 00:17:48,260 --> 00:17:52,200 >> Yani burada bu iki tablo var, ama Bunların arasında bir ilişki var, 363 00:17:52,200 --> 00:17:53,010 sağ? 364 00:17:53,010 --> 00:17:55,070 Bu kullanıcı adı gibi görünüyor bir şey olabilir 365 00:17:55,070 --> 00:17:59,909 arasındaki ortak var Bu iki farklı tablolar. 366 00:17:59,909 --> 00:18:01,700 Yani ne şimdi varsa Bir durum nerede 367 00:18:01,700 --> 00:18:06,046 Bir kullanıcının tam adını almak istiyorum Kullanıcının masa ve onların anne 368 00:18:06,046 --> 00:18:07,170 anne tablosundan isim? 369 00:18:07,170 --> 00:18:10,960 Biz almak için bir yol yok Doğru, bu haliyle? 370 00:18:10,960 --> 00:18:17,790 Içeren tek bir masa var tam adı ve annesinin adı hem. 371 00:18:17,790 --> 00:18:20,400 Biz o seçeneği yok Şimdiye kadar ne gördüm. 372 00:18:20,400 --> 00:18:22,950 >> Ve böylece biz tanıtmak zorunda JOIN bir fikir. 373 00:18:22,950 --> 00:18:24,857 Ve JOIN muhtemelen En complex-- 374 00:18:24,857 --> 00:18:27,940 Gerçekten en karmaşık operasyon Biz video hakkında konuşmak için gidiyoruz. 375 00:18:27,940 --> 00:18:30,040 Onlar biraz karmaşık olduğunu ama sen onu asmak olsun bir kez, 376 00:18:30,040 --> 00:18:31,248 aslında çok kötü değil. 377 00:18:31,248 --> 00:18:32,820 Bu sadece bir SELECT özel bir durum var. 378 00:18:32,820 --> 00:18:37,120 Biz bir dizi seçmek için gidiyoruz birleştiren bir tablodan sütun 379 00:18:37,120 --> 00:18:40,650 Bazı yüklem bir ikinci tabloda. 380 00:18:40,650 --> 00:18:45,340 >> O bu-- gibi ilgili bu durumda, düşünmek tablo, bir, buraya tek daire olup 381 00:18:45,340 --> 00:18:47,530 masa, iki Buraya başka dairedir. 382 00:18:47,530 --> 00:18:49,410 Ve bu yüklem bölüm ortasında, bu kadar 383 00:18:49,410 --> 00:18:51,701 çeşit Eğer düşünüyorsanız gibi Bir Venn diyagramı olarak ne 384 00:18:51,701 --> 00:18:52,670 Onlar ortak var mı? 385 00:18:52,670 --> 00:18:55,960 Biz bu iki tablo bağlamak istediğiniz Onlar ortak ne dayalı 386 00:18:55,960 --> 00:19:01,230 ve bu varsayımsal bir tablo oluşturmak Bu arada iki birleşme olduğunu. 387 00:19:01,230 --> 00:19:03,480 Yani biz bir de bu görürsünüz örnek ve belki de bu yardımcı olacağız 388 00:19:03,480 --> 00:19:04,521 Biraz yukarı kaldırın. 389 00:19:04,521 --> 00:19:09,260 Böylece belki seçmek istediğiniz USER.FULLNAME ve moms.mother 390 00:19:09,260 --> 00:19:13,220 katılmak kullanıcılardan Her durumda anneler tablo 391 00:19:13,220 --> 00:19:16,790 Nerede adı sütunu aralarında aynıdır. 392 00:19:16,790 --> 00:19:19,240 Ve bu yeni bir Burada bu kullanıcıyı sözdizimi. 393 00:19:19,240 --> 00:19:20,460 ve anneler .. 394 00:19:20,460 --> 00:19:26,697 Ben birden fazla tablo yapıyorum Birlikte, ben bir tablo belirtebilirsiniz. 395 00:19:26,697 --> 00:19:29,530 Ben özellikle ON ayırt edebilirsiniz O orada çok alt at. 396 00:19:29,530 --> 00:19:33,220 Ben adını ayırt edebilirsiniz Kullanıcıların tablonun sütun 397 00:19:33,220 --> 00:19:36,010 kullanıcı adı sütunundan anneler tablo olmazsam-- olan 398 00:19:36,010 --> 00:19:38,070 biz sadece adı eşittir dese Gerçekten değil adınızı, 399 00:19:38,070 --> 00:19:38,970 şey demek. 400 00:19:38,970 --> 00:19:41,440 Biz onlar maç nerede yapmak istiyorum. 401 00:19:41,440 --> 00:19:46,080 >> Yani masa ve belirtebilirsiniz bir durum söz konusu sütun adı 402 00:19:46,080 --> 00:19:48,370 nerede belirsiz olurdu ne bahsediyorum. 403 00:19:48,370 --> 00:19:51,880 Ben yapıyorum hepsi Yani ben orada Bu tablodan, bu sütunu söyleyerek, 404 00:19:51,880 --> 00:19:54,020 ve çok açık olmak. 405 00:19:54,020 --> 00:19:56,810 Yani yine, seçme ediyorum tam adı ve annesinin adı 406 00:19:56,810 --> 00:20:00,950 birbirine bağlı kullanıcılar tablosundan Her durumda anneler tablo ile 407 00:20:00,950 --> 00:20:05,960 nerede o column-- paylaşmak o adı kavramını paylaşabilirsiniz. 408 00:20:05,960 --> 00:20:08,580 >> Yani burada biz daha önce vardı tablolardır. 409 00:20:08,580 --> 00:20:12,210 Bu devletidir bizim Veritabanı şu anda mevcut olarak. 410 00:20:12,210 --> 00:20:16,390 Biz açılan ediyoruz bilgiler ile başlayan budur. 411 00:20:16,390 --> 00:20:19,820 Bu Gittiğimiz yeni tablo Birlikte bu birleştirerek oluşturun. 412 00:20:19,820 --> 00:20:23,585 Ve biz vurgulayarak değiliz fark Kullanıcının tablodaki Newman'ın satır, 413 00:20:23,585 --> 00:20:25,960 ve biz vurgulayarak değil Anneler tablosundaki Kramer'in satır 414 00:20:25,960 --> 00:20:31,250 ne biri var çünkü hem her iki tabloda sets--. 415 00:20:31,250 --> 00:20:36,260 >> Ortak olan tek bilgi aralarında Jerry her iki tabloda olduğu 416 00:20:36,260 --> 00:20:39,100 ve gcostanza her iki tabloda yer almaktadır. 417 00:20:39,100 --> 00:20:42,620 Biz ne zaman Ve böylece, SQL, JOIN ne get-- ve biz bu olsun aslında yapıyor. 418 00:20:42,620 --> 00:20:44,830 Bu geçici bir değişken tür. 419 00:20:44,830 --> 00:20:47,330 Bu varsayımsal gibi iki tablo birleşmesi. 420 00:20:47,330 --> 00:20:49,930 Biz aslında bir şey olsun Bu gibi durumlarda 421 00:20:49,930 --> 00:20:54,730 biz tabloları birleştirilmiş ettik Onlar ortak bilgiler. 422 00:20:54,730 --> 00:20:58,334 >> Böylece users.username fark ve moms.username kolonu, 423 00:20:58,334 --> 00:20:59,250 tam olarak aynıdır. 424 00:20:59,250 --> 00:21:01,820 Bu bilgi olduğunu kullanıcıların tutarlıdır 425 00:21:01,820 --> 00:21:02,890 masa ve anneler tablo. 426 00:21:02,890 --> 00:21:04,270 Ve böylece biz onları birlikte birleşti. 427 00:21:04,270 --> 00:21:06,919 Biz Kramer atılır çünkü o Kullanıcıların tabloda yoktu, 428 00:21:06,919 --> 00:21:09,710 ve biz, çünkü Newman atılır O anneler tabloda yoktu. 429 00:21:09,710 --> 00:21:16,450 Yani bu varsayımsal birleşme olduğunu SELECT JOIN işlemini kullanarak. 430 00:21:16,450 --> 00:21:21,250 >> Ve sonra biz aradığını Kullanıcının tam adı ve kullanıcının annesi, 431 00:21:21,250 --> 00:21:24,999 ve bu bilgilerin olduğu biz genel sorgudan alacağı 432 00:21:24,999 --> 00:21:26,040 Biz SELECT ile yapılan. 433 00:21:26,040 --> 00:21:28,873 Yani biz tabloları birlikte katıldı ve bu iki sütun ekstre, 434 00:21:28,873 --> 00:21:31,610 ve böylece biz alacağı budur. 435 00:21:31,610 --> 00:21:33,370 Ama SQL karmaşık bir tür JOIN. 436 00:21:33,370 --> 00:21:36,770 Muhtemelen, onları çok yapmayacağım ama sadece iskeletin bazı fikrim yok 437 00:21:36,770 --> 00:21:41,992 Eğer iki birleştirmek için kullanabilirsiniz Eğer gerekli ise birlikte tablolar. 438 00:21:41,992 --> 00:21:43,700 Son iki olduğu bir biraz daha basit söz veriyorum. 439 00:21:43,700 --> 00:21:48,040 Yani güncellenmesi, biz UPDATE kullanabilirsiniz Bir tablodaki bilgileri değiştirmek için. 440 00:21:48,040 --> 00:21:53,880 Genel biçim GÜNCELLEME bazı masa, bazı değerine bazı sütun SET 441 00:21:53,880 --> 00:21:55,540 NEREDE bazı yüklemi memnun. 442 00:21:55,540 --> 00:21:57,850 Yani, örneğin, biz isteyebilirsiniz Kullanıcıların tablosunu güncelleştirmek için 443 00:21:57,850 --> 00:22:04,400 ve YADA için şifre koymak Kimlik numarası 10 olan yada. 444 00:22:04,400 --> 00:22:06,400 >> Bu nedenle, bu durumda biz konum Kullanıcıların tablosunu güncelleştirmek. 445 00:22:06,400 --> 00:22:08,275 Kimlik numarası 10 olan Oradaki ilk satır, 446 00:22:08,275 --> 00:22:10,690 ve biz güncellemek istiyoruz yada yada şifre. 447 00:22:10,690 --> 00:22:12,170 Ve böylece ne olacağını var. 448 00:22:12,170 --> 00:22:13,628 Bu doğru, oldukça basit değil mi? 449 00:22:13,628 --> 00:22:17,990 Sadece çok basit tabloya değişiklik. 450 00:22:17,990 --> 00:22:22,250 >> Biz kullanılan işlem olduğunu SİL Bir tablodan bilgileri siler. 451 00:22:22,250 --> 00:22:24,817 Masanın NEREDEN DELETE FROM Bazı yüklem memnun. 452 00:22:24,817 --> 00:22:26,900 Biz silmek istediğiniz Örneğin kullanıcılar tablosu 453 00:22:26,900 --> 00:22:28,254 Nerede adı Newman olduğunu. 454 00:22:28,254 --> 00:22:31,420 Muhtemelen için neler olup bittiğini tahmin edebilirsiniz biz SQL yürütmek sonra burada olur 455 00:22:31,420 --> 00:22:35,790 Sorgu, Newman tablodan gitti. 456 00:22:35,790 --> 00:22:40,460 >> Böylece tüm bu işlemler, ben söylediğim gibi PhpMyAdmin yapmak çok kolaydır. 457 00:22:40,460 --> 00:22:43,020 Bir çok kullanıcı dostu arayüzü var. 458 00:22:43,020 --> 00:22:45,930 Ama manuel çaba gerektirir. 459 00:22:45,930 --> 00:22:47,840 Biz manuel çaba istihdam istemiyorum. 460 00:22:47,840 --> 00:22:51,280 Bizim programları istiyoruz Doğru, bizim için bunu yapmak? 461 00:22:51,280 --> 00:22:53,190 Yani biz yapmak isteyebilirsiniz Bu programlı. 462 00:22:53,190 --> 00:22:56,410 Biz SQL dahil etmek istiyoruz ve var başka bir şey bizim için bunu yapmak için. 463 00:22:56,410 --> 00:23:02,710 >> Ama ne biz izin verir gördük Bize programlı bir şeyler yapmak? 464 00:23:02,710 --> 00:23:03,690 Biz doğru, PHP gördün mü? 465 00:23:03,690 --> 00:23:05,760 Bazı tanıttı Bizim programlarına dinamizm. 466 00:23:05,760 --> 00:23:10,430 Ve böylece Neyse, SQL ve PHP birlikte çok güzel oynuyor. 467 00:23:10,430 --> 00:23:13,230 PHP bir işlev var kullanılabilir denilen sorgu. 468 00:23:13,230 --> 00:23:15,870 Ve siz iletebilirsiniz parametre veya argüman 469 00:23:15,870 --> 00:23:19,210 Bir SQL sorgusu sorgulamak için o Eğer yürütmek istiyoruz. 470 00:23:19,210 --> 00:23:23,250 Ve PHP sizin adınıza yapacak. 471 00:23:23,250 --> 00:23:25,564 >> Bağlı olduğunuz sonra Yani PHP ile veritabanı, 472 00:23:25,564 --> 00:23:26,980 Bunu iki primerler var. 473 00:23:26,980 --> 00:23:29,230 Denilen bir şey var MySQLi ve bir şey PDO çağırdı. 474 00:23:29,230 --> 00:23:31,063 Biz büyük bir girmeyeceğim Orada miktar detay. 475 00:23:31,063 --> 00:23:32,957 CS50 biz PDO kullanılabilir. 476 00:23:32,957 --> 00:23:34,790 Eğer bağlandıktan sonra veritabanınıza, sen 477 00:23:34,790 --> 00:23:40,980 Daha sonra sorguları veritabanı yapabilirsiniz argüman olarak sorguları geçirerek 478 00:23:40,980 --> 00:23:42,730 PHP fonksiyonları. 479 00:23:42,730 --> 00:23:46,460 Bunu yaparken Ve, saklamak bir ilişkisel dizi olarak sonuç kümesi. 480 00:23:46,460 --> 00:23:50,290 >> Ve biz birlikte çalışmak için biliyorum PHP ilişkisel diziler. 481 00:23:50,290 --> 00:23:52,630 Yani bir şey diyebilirsiniz gibi bu-- $ results-- 482 00:23:52,630 --> 00:23:55,470 PHP-- sorgusu eşittir bu olduğunu. 483 00:23:55,470 --> 00:23:57,660 Ve sonra inside Bu argümanı sorgu işlevi 484 00:23:57,660 --> 00:24:00,130 Ben sorgulamak için geçirerek o Bu SQL benziyor. 485 00:24:00,130 --> 00:24:01,160 Ve aslında SQL olduğunu. 486 00:24:01,160 --> 00:24:05,700 O I would sorgu dizesi var Benim veritabanı üzerinde yürütmek istiyorum. 487 00:24:05,700 --> 00:24:09,250 >> Ve böylece kırmızı, bu PHP. 488 00:24:09,250 --> 00:24:11,890 Bu ben SQL olduğunu yaparak PHP entegre 489 00:24:11,890 --> 00:24:15,020 sorgu işlevi argüman. 490 00:24:15,020 --> 00:24:19,640 Ben gelen tamadı seçmek istiyor Kimlik numarası 10 eşit kullanıcıları. 491 00:24:19,640 --> 00:24:22,560 Ve sonra yaptık, belki sonra, Ben böyle bir şey diyebilirsiniz. 492 00:24:22,560 --> 00:24:25,550 Ben yazdırmak istiyorum oturum için mesaj teşekkür ederiz. 493 00:24:25,550 --> 00:24:32,530 >> Ve ben istiyorum o interpolate-- istiyorum $ sonuçları tamadı katmak için. 494 00:24:32,530 --> 00:24:36,280 Ve böylece o ile çalışmak nasıl Ben döndüm ilişkisel dizi. 495 00:24:36,280 --> 00:24:39,730 $ sonuçlar fullname olur temelde dışarı baskı sonuna kadar, 496 00:24:39,730 --> 00:24:42,870 , Jerry Seinfeld giriş için teşekkürler. 497 00:24:42,870 --> 00:24:46,570 O tam adı oldu Nerede idnum 10 eşittir. 498 00:24:46,570 --> 00:24:48,850 >> Ve böylece tüm yapıyorum Ben şimdi-- ben saklanır ediyorum edilir 499 00:24:48,850 --> 00:24:52,780 benim sorgu, benim sorgunun sonuçları ve bir ilişkisel dizi sonuçları, 500 00:24:52,780 --> 00:24:56,330 ve fullname adıdır Ben başlamıştı sütun. 501 00:24:56,330 --> 00:25:01,010 Böylece sonuçlarına benim anahtar var Ben istiyorum ilişkisel dizi. 502 00:25:01,010 --> 00:25:05,930 Yani Teşekkür oturum için, $ sonuçları, tamadı sopa, çıktısını olacak 503 00:25:05,930 --> 00:25:08,654 Sağ olanlar Kıvırcık arasında parantezler, Jerry Seinfeld. 504 00:25:08,654 --> 00:25:11,820 Ve ben mesajın yazdırmak gibi olacak Jerry Seinfeld oturum için teşekkürler. 505 00:25:11,820 --> 00:25:16,652 >> Şimdi, muhtemelen zor istemiyoruz Bu gibi kod şeyler, değil mi? 506 00:25:16,652 --> 00:25:19,860 Biz baskı gibi bir şey yapmak isteyebilirsiniz biz yerine belki olabilir f 507 00:25:19,860 --> 00:25:22,443 Farklı bilgi toplamak, ya da belki sorgu süreci var 508 00:25:22,443 --> 00:25:23,370 Farklı bilgiler. 509 00:25:23,370 --> 00:25:27,920 Ve böylece sorgu, sorgu işlevi vardır değiştirmelerin tür bu kavramı 510 00:25:27,920 --> 00:25:32,310 Yüzde s f yazdırmak için çok benzer ve yüzde c soru işaretleri olduğunu. 511 00:25:32,310 --> 00:25:34,290 >> Ve biz soruyu kullanabilirsiniz işaretleri çok benzer 512 00:25:34,290 --> 00:25:38,400 Yedek değişkenler f yazdırmak için. 513 00:25:38,400 --> 00:25:44,120 Yani belki kullanıcı daha önce giriş, ve onların kullanıcı kimlik numarasını kurtardı 514 00:25:44,120 --> 00:25:51,710 PHP süper $ _SESSION içinde Anahtar kimliği küresel. 515 00:25:51,710 --> 00:25:55,947 Onlar giriş Yani belki sonra, Eğer, ID 10 eşittir $ _SESSION set 516 00:25:55,947 --> 00:25:58,280 örnekten extrapolating biz sadece bir saniye önce gördüm. 517 00:25:58,280 --> 00:26:01,960 >> Ve böylece biz aslında çalıştırdığınızda Bu, şimdi sonuçları sorgulamak 518 00:26:01,960 --> 00:26:08,440 o 10 fiş, ya da her neyse olur $ _SESSION Kimlik değeridir. 519 00:26:08,440 --> 00:26:10,790 Ve böylece bize izin verir Biraz daha dinamik olacak. 520 00:26:10,790 --> 00:26:12,699 Biz zor artık şeyler kodlama değil. 521 00:26:12,699 --> 00:26:14,490 Biz bilgi tasarruf ediyoruz yerde ve daha sonra 522 00:26:14,490 --> 00:26:18,924 biz yine bu bilgileri kullanabilir çeşit biz ne yapmak istediğinizi genelleme, 523 00:26:18,924 --> 00:26:21,090 ve sadece plug-in ve değişim Bizim sayfanın davranışı 524 00:26:21,090 --> 00:26:26,489 Ne kullanıcının kimlik numarasına dayalı Onlar giriş yaptıktan sonra aslında. 525 00:26:26,489 --> 00:26:28,530 Bu olsa da, aynı zamanda mümkün sonuçlarınız ayarlamanız 526 00:26:28,530 --> 00:26:30,840 birden çok satır oluşabilir. 527 00:26:30,840 --> 00:26:33,990 Bu durumda, sahip arrays-- bir dizi 528 00:26:33,990 --> 00:26:35,334 ilişkisel diziler bir dizi. 529 00:26:35,334 --> 00:26:37,000 Ve sen sadece yineleme yapmak gerekiyor. 530 00:26:37,000 --> 00:26:41,950 Ve biz yineleme için biliyorum PHP bir dizi aracılığıyla, değil mi? 531 00:26:41,950 --> 00:26:45,600 Yani burada muhtemelen en çok Şimdiye kadar gördüğüm en karmaşık şey. 532 00:26:45,600 --> 00:26:49,640 Aslında entegre Birlikte üç dil. 533 00:26:49,640 --> 00:26:52,920 >> İşte kırmızı, bu, bazı HTML. 534 00:26:52,920 --> 00:26:56,872 Görünüşe göre bu starting-- ediyorum Ben bazı HTML pasajı. 535 00:26:56,872 --> 00:26:59,580 Ben yeni bir paragraf olduğunu başlıyorum TV'nin Seinfeld anneler diyor. 536 00:26:59,580 --> 00:27:02,350 Ve sonra hemen sonra Ben bir tablo başlıyorum. 537 00:27:02,350 --> 00:27:06,060 Ve ondan sonra, ben Doğru, bazı PHP var? 538 00:27:06,060 --> 00:27:08,229 Orada bu PHP kodu hepsi var. 539 00:27:08,229 --> 00:27:09,645 Ben görünüşte bir sorgu yapmak gidiyorum. 540 00:27:09,645 --> 00:27:14,180 Ve sorgu yapmak için, ben gidiyorum Anneler SELECT anneler kullanıyor. 541 00:27:14,180 --> 00:27:15,970 >> Yani bu SQL olduğunu getting-- olduğunu. 542 00:27:15,970 --> 00:27:17,300 Yani mavi SQL olduğunu. 543 00:27:17,300 --> 00:27:19,680 Biz ikinci önce gördüğümüz kırmızı HTML oldu. 544 00:27:19,680 --> 00:27:21,360 Ve burada yeşil PHP. 545 00:27:21,360 --> 00:27:23,400 Yani bir sorgu yapıyorum benim veritabanına, ben 546 00:27:23,400 --> 00:27:26,040 Tüm seçilmesi anneler tablosundaki anneler. 547 00:27:26,040 --> 00:27:30,710 Sadece belirli bunu daraltarak Değil satır, ben hepsi için soruyorum. 548 00:27:30,710 --> 00:27:33,290 >> Sonuç ise Sonra kontrol değil eşittir yanlış eşittir. 549 00:27:33,290 --> 00:27:37,410 Bu tür denetimi sadece benim yoludur Sonuçlar null değerine eşit değil if, 550 00:27:37,410 --> 00:27:40,260 Örneğin biz c görmek istiyorsunuz. 551 00:27:40,260 --> 00:27:44,000 Temelde bu sadece yapmak için kontrol ediyor aslında verileri geri aldım emin olun. 552 00:27:44,000 --> 00:27:47,041 Ben yazdırmayı başlatmak için istemiyorum çünkü veri üzerinden herhangi bir veri alamadım. 553 00:27:47,041 --> 00:27:50,690 Daha sonra sonuç olarak her sonuçta PHP foreach sözdizimi, tüm yapıyorum 554 00:27:50,690 --> 00:27:53,399 $ sonuç anneler dışarı yazdırıyor. 555 00:27:53,399 --> 00:27:55,940 Ve bu yüzden bir set almak için gidiyorum each-- annelerinin tüm 556 00:27:55,940 --> 00:27:59,980 bu ilişkisel bir dizi var arrays-- ve ben yazdırarak ediyorum 557 00:27:59,980 --> 00:28:03,649 Tablonun kendi satırına her biri. 558 00:28:03,649 --> 00:28:05,690 Ve bu gerçekten güzel olduğunu hemen hepsi ona orada. 559 00:28:05,690 --> 00:28:07,750 Biraz olduğunu biliyorum Biraz burada olacak 560 00:28:07,750 --> 00:28:13,210 dizileri ile bu son örnekte ilişkisel diziler dizileri arrays--. 561 00:28:13,210 --> 00:28:17,340 Ama gerçekten sadece kaynatın yok Bir sorgu yapma SQL aşağı 562 00:28:17,340 --> 00:28:21,102 biz zaten ettik sonra genellikle seçerek tabloya bilgi koymak, 563 00:28:21,102 --> 00:28:22,310 ve sonra sadece onu çekerek. 564 00:28:22,310 --> 00:28:25,710 >> Ve bu onu çekeceği ise Bu özel durumda dışarı. 565 00:28:25,710 --> 00:28:31,120 Biz bireyin tüm ayıklamak istiyorum anneler tablosundan anneler. 566 00:28:31,120 --> 00:28:35,970 Biz onları bir bütün seti var ve biz yineleme ve yazdırmak istediğiniz 567 00:28:35,970 --> 00:28:37,630 her biri. 568 00:28:37,630 --> 00:28:40,510 Yani yine, bu muhtemelen En karmaşık bir örnek 569 00:28:40,510 --> 00:28:44,510 biz üç karıştırma çünkü gördüğümüz Farklı dilleri bir arada, değil mi? 570 00:28:44,510 --> 00:28:50,100 >> Yine, kırmızı burada HTML var, mavi burada bazı SQL ile karışık, 571 00:28:50,100 --> 00:28:52,049 Yeşil bazı PHP ile karıştırılır. 572 00:28:52,049 --> 00:28:53,840 Ama bütün bunlar oynamak birlikte güzel, bu kadar 573 00:28:53,840 --> 00:28:57,060 Gelişmekte sadece bir madde iyi alışkanlıklar olsun böylece 574 00:28:57,060 --> 00:28:58,780 Onları istediğiniz şekilde birlikte çalışmak. 575 00:28:58,780 --> 00:29:03,790 Ve tek yolu gerçekten bunu yapmak için , pratik uygulama uygulamaktır. 576 00:29:03,790 --> 00:29:06,740 Ben Doug Lloyd değilim, bu CS50 olduğunu. 577 00:29:06,740 --> 00:29:08,647