1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [SQL] 2 00:00:02,000 --> 00:00:04,000 [CRISTÓBAL BARTHOLOMEW] [Harvardeko Unibertsitateko] 3 00:00:04,000 --> 00:00:06,000 [THIS IS CS50] [CS50 TV] 4 00:00:07,950 --> 00:00:11,620 Beraz, programatzaileak erabili datu-base tresna gisa gordetzeko eta antolatzeko 5 00:00:11,620 --> 00:00:13,620 gure taulak barruan datu iraunkorrak. 6 00:00:13,620 --> 00:00:18,960 Horrek esan nahi du, zure datuak gordetzen ez-lurrunkor, hala nola, disko gogorrean medians 7 00:00:18,960 --> 00:00:22,940 eta baita ordenagailua off da, datuak oraindik oso-osorik. 8 00:00:22,940 --> 00:00:29,530 Eta, programatzaile gisa, gure programa garatu, hala nola gisa eszenatoki gordetzeko datu-base 9 00:00:29,530 --> 00:00:32,890 Erabiltzaileak web forma informazioa, bilatzen inbentarioa, 10 00:00:32,890 --> 00:00:36,210 edo guneak erakutsi buruzko informazioa eguneratzeko. 11 00:00:37,150 --> 00:00:40,070 Baina, nola ez, gure datu-basean dugu elkarreragin 12 00:00:40,070 --> 00:00:43,150 edo zer irakurtzeko, gordetzeko, ezabatzeko erabili dugu, 13 00:00:43,150 --> 00:00:46,070 eguneratu eta gure datuak datu-basearen taulak horien barruan? 14 00:00:47,280 --> 00:00:49,700 Beno, erantzuna da datu-base hizkuntza mota berezi bat erabiltzen dugun 15 00:00:49,700 --> 00:00:53,400 elkarreraginean zuzenean gure datu-basearen taulak. 16 00:00:53,400 --> 00:00:56,740 Izena Query Language egituratuta dago, 17 00:00:56,740 --> 00:00:58,740 [Egituratuak Query Language] 18 00:00:58,740 --> 00:01:00,740 edo zer erreferentzia SQL jo dut. 19 00:01:00,740 --> 00:01:05,100 >> Orain, [Se-Quel], edo SQL, ez da programazio hizkuntza bat, 20 00:01:05,100 --> 00:01:08,580 baina horren ordez, hizkuntza bat komando multzo estandar bat eskaintzen da 21 00:01:08,580 --> 00:01:13,520 hainbat datu-base kudeaketa sistema bat eta datuak berreskuratzeko manipulatzeko. 22 00:01:13,520 --> 00:01:17,630 CS50 helburua lortzeko, joan gara lau oinarrizko komandoak: 23 00:01:17,630 --> 00:01:21,210 hautatu, sartu, eguneratu eta ezabatu. 24 00:01:21,210 --> 00:01:26,230 Horrez gain, datu-basea izeneko web interfazearen phpMyAdmin garatu dugu, 25 00:01:26,230 --> 00:01:29,890 aparatuaren instalatuko da, gure SQL instrukzioak idatzi. 26 00:01:30,830 --> 00:01:33,050 Beraz, komando horiek gogoratzen laguntzeko 27 00:01:33,050 --> 00:01:37,080 Ekarri dut cupcakes batzuk armairua gure agertoki laguntzeko. 28 00:01:39,650 --> 00:01:42,210 Esan Cupcake datu-basea 29 00:01:42,210 --> 00:01:44,490 non zure cupcakes buruzko informazio guztia gordetzeko. 30 00:01:44,490 --> 00:01:48,220 Orain, datu-base taulak asko eduki 31 00:01:48,220 --> 00:01:50,950 eta taulak berak askotan zutabe eduki ditzakete. 32 00:01:50,950 --> 00:01:57,020 Gure Cupcake datu-basea barruan, cupcake_cupboard izeneko taula bat behar dugu. 33 00:01:57,020 --> 00:02:00,500 Taula hau erabiliko da cupcakes buruzko informazio guztia gordetzeko 34 00:02:00,500 --> 00:02:02,990 direla, bai, zure armairua. 35 00:02:02,990 --> 00:02:07,770 Zure taula barruan dauden zutabeak Cupcake baten ezaugarriak. 36 00:02:07,770 --> 00:02:14,560 Adibidez, cupcake_cupboard zutabeak dira 37 00:02:14,560 --> 00:02:15,920 Cake, ID, CakeType, CakeColor, eta CakeIsNice. 38 00:02:15,920 --> 00:02:23,040 Boolearra idatzitako zutabe hau erabiltzen da, pastela atsegina da, edo atsegina ez bada zehazteko. 39 00:02:23,040 --> 00:02:26,560 Hautatu adierazpen bat idazten hasiko gara. 40 00:02:26,560 --> 00:02:32,160 Aukeratu adierazpenak erabiltzen dira datu-base taula jakin datuak eskuratzeko. 41 00:02:32,160 --> 00:02:34,890 Egoera honetan, dena jakitea nahi dugu 42 00:02:34,890 --> 00:02:39,080 cupcakes gure armairua existitzen. 43 00:02:39,080 --> 00:02:48,670 Horretarako sintaxia "Aukeratu" espazio star, edo *, espazioa gure taulan espazioa da, 44 00:02:48,670 --> 00:02:52,050 den cupcake_cupboard. 45 00:02:52,050 --> 00:02:54,640 Dezagun aurrera, eta hori exekutatu. 46 00:02:56,670 --> 00:03:00,140 >> Ikusten den bezala, horiek cupcakes guztiak dira gure armairua. 47 00:03:00,140 --> 00:03:05,110 * Hori, edo izartxo direla garrantzitsua da, basoko txartelaren pertsonaia 48 00:03:05,110 --> 00:03:08,830 taula batzuk zutabe guztien bilketa esan nahi du. 49 00:03:08,830 --> 00:03:13,650 Normalean, zutabe zehatz bat edo zutabeak sartu ahal izango dugu. 50 00:03:13,650 --> 00:03:16,950 * ordez zutabe benetako izena. 51 00:03:16,950 --> 00:03:21,220 Nahi zutabe bat baino gehiago izanez gero, baina ez guztiak, hau lortu ahal izango dugu 52 00:03:21,220 --> 00:03:25,620 zutabe bakoitzaren mugatzeko koma batek zutabe izenak idatziz. 53 00:03:25,620 --> 00:03:28,620 Esate baterako, dezagun bakarrik berreskuratzeko CakeId eta CakeType cupcake_cupboard taula. 54 00:03:28,620 --> 00:03:38,370 Horretarako sintaxia da: SELECT espazio CakeID koma 55 00:03:38,370 --> 00:03:44,370 Gure mahaia, cupcake_cupboard espazio CakeType. 56 00:03:44,370 --> 00:03:46,370 Dezagun aurrera, eta hau exekutatu. 57 00:03:49,340 --> 00:03:52,670 Eta hemen, baina oraingoan dugu dugu bi zutabeak zehaztu 58 00:03:52,670 --> 00:03:54,670 gure armairua Cupcake bakoitzean. 59 00:03:54,670 --> 00:03:57,710 Birfin ere egin ahal izango ditugu, gure kontsulta emaitzak zehaztuz 60 00:03:57,710 --> 00:04:00,910 "Non" taula bakarrik izenaren ondoren klausula. 61 00:04:02,000 --> 00:04:05,410 Esate baterako, ez dago gure armairua Cupcake 62 00:04:05,410 --> 00:04:08,660 hau da, ondo, ez hain politak dira bila. 63 00:04:08,660 --> 00:04:13,950 Dezagun irudikatu gure armairua cupcakes diren, ondo, ez hain politak bilatzen 64 00:04:13,950 --> 00:04:16,110 "Non" klausula erabiliz. 65 00:04:16,110 --> 00:04:26,390 Horretarako sintaxia da: espazio SELECT * FROM espazio espazio cupcake_cupboard 66 00:04:26,390 --> 00:04:34,080 espazio NON espazioa gure conditional zutabean, kasu honetan CakeIsNice = 67 00:04:34,080 --> 00:04:36,900 False balio boolearra. 68 00:04:36,900 --> 00:04:42,750 Garrantzitsua da ari zaren kateak erabiliz gero, erantsi behar duzu komatxorik bakar batean izan den. 69 00:04:42,750 --> 00:04:49,620 Egia da, izan ere, SQL kate guztiak, edo, SQL datu-base termino, aldaera pertsonaiak 70 00:04:49,620 --> 00:04:51,620 Varchar datatype izenaz ezagutzen dena. 71 00:04:51,620 --> 00:04:57,660 Kasu honetan, True edo False ari gara erabiltzen, eta horrek balio boolearra eta ez kate bat da. 72 00:04:59,120 --> 00:05:00,660 Dezagun aurrera eta komando hau exekutatu. 73 00:05:00,660 --> 00:05:05,340 >> Lo eta behold, 1 txokolate kasuan dugula da 74 00:05:05,340 --> 00:05:07,920 ez hain politak gure armairua Cupcake. 75 00:05:09,620 --> 00:05:11,460 Next, txertatze-adierazpen bat idatzi dugu. 76 00:05:11,460 --> 00:05:15,560 Txertatu adierazpenak sartu edo gehitzeko erabiltzen dira 77 00:05:15,560 --> 00:05:17,770 datu gehiago ilara zure datu-base taula. 78 00:05:17,770 --> 00:05:23,160 Gure eszenatokia Revisiting, dezagun bere gain hartuko ditudan dugu egin berri Cupcake. 79 00:05:25,910 --> 00:05:30,080 Gara oso geroztik antolatu Cupcake Eaters, Cupcake berri honetan sartu beharko dugu 80 00:05:30,080 --> 00:05:32,330 gure cupcake_cupboard taula. 81 00:05:32,330 --> 00:05:40,690 Horretarako sintaxia hau da: espazio Txertatu espazio gure taulan sartu, 82 00:05:40,690 --> 00:05:46,830 cupcake_cupboard, espazioa (, 83 00:05:46,830 --> 00:05:51,060 eta hemen, zutabe izenak zehaztu dugu, delimitatutako komaz 84 00:05:51,060 --> 00:05:59,790 CakeType koma CakeColor CakeIsNice koma) lekua. 85 00:05:59,790 --> 00:06:06,540 Ondoren, hitza VALUES espazioa (idazten dugu, eta hemen 86 00:06:06,540 --> 00:06:12,170 zutabe bakoitzaren balioa sartu dugu, hurrenez hurren, koma batek mugaturik ere. 87 00:06:12,170 --> 00:06:17,830 Single quote dira, Varchar balio guztiak ere inguratzen dugu komatxorik bakar batean, 88 00:06:17,830 --> 00:06:26,780 Kakahuete-gurina 'koma' LIGHT BROWN 'True koma. 89 00:06:26,780 --> 00:06:30,480 Orain, garrantzitsua da errenkada bakoitzak zenbaki bat bere burua identifikatzeko. 90 00:06:30,480 --> 00:06:33,660 Zutabe bat Autoincrementing eskaintzen hau 91 00:06:33,660 --> 00:06:37,410  "No berean bi identifikazioak inoiz Taula honetan existitzen." 92 00:06:37,410 --> 00:06:39,480 Dezagun aurrera eta exekutatu. 93 00:06:39,480 --> 00:06:45,380 Bertan, joan antolatu guztiak. 94 00:06:49,720 --> 00:06:52,100 >> Hurrengo SQL instrukzioa egingo dugun idatzi update adierazpen bat da. 95 00:06:52,100 --> 00:06:55,650 Update adierazpena erabil daiteke datuak aldatzeko zutabe baten barruan 96 00:06:55,650 --> 00:06:58,440 zure datu-basearen dagoen ilara edozein. 97 00:06:59,670 --> 00:07:03,420 Lehenago gure eszenatoki, aukeratu adierazpen bat erabiliz, Cupcake bat identifikatu dugun 98 00:07:03,420 --> 00:07:08,300 barruan horren CakeIsNice balio gure cupcake_cupboard mahaian False izan zen. 99 00:07:08,300 --> 00:07:12,050 Demagun berriz, gure kakahuete gurina Cupcake labean zen, 100 00:07:12,050 --> 00:07:15,790 gure ez hain polita Cupcake oso polita egin dugu. 101 00:07:18,020 --> 00:07:22,240 Ari dira, beraz, salbuespenez antolatuta, gure Cupcake balio hau islatu nahi dugu 102 00:07:22,240 --> 00:07:24,240 gure cupcake_cupboard taula. 103 00:07:24,240 --> 00:07:28,710 Beraz, dezagun gure datu-basean txokolate Cupcake eguneratu hori islatu nahi du. 104 00:07:28,710 --> 00:07:39,720 Sintaxia honakoa da: UPDATE espazioa gure taulan, cupcake_cupboard, espazioa SET espazioa 105 00:07:39,720 --> 00:07:44,240 aldatu nahi dugun zutabea, CakeIsNice =. 106 00:07:44,240 --> 00:07:49,210 Ondoren, hemen gure True balioa espazio berria jarri dugu. 107 00:07:49,210 --> 00:07:54,290 Orain, egiten dugu ez duelako nahi, errenkada guztiek balio hau eguneratzeko, 108 00:07:54,290 --> 00:07:57,400 bat "Non" klausula apuntatzeko egingo digu eman nahi dugu 109 00:07:57,400 --> 00:07:59,830 aldatu nahi dugun zehatza errenkadan. 110 00:07:59,830 --> 00:08:03,690 Kasu honetan, ez dagoela Cupcake bakarra da ezagutzen dugun 111 00:08:03,690 --> 00:08:06,670 False balioa CakeIsNice du. 112 00:08:06,670 --> 00:08:11,030 Gainera, izango dugu ziurtatu ari garen errenkadan zuzena eguneratzeko 113 00:08:11,030 --> 00:08:13,030 "Eta" klausula erabiliz. 114 00:08:14,340 --> 00:08:17,270 "Eta" klausula erabiltzen dugu gure kontsulta gehiago fintzeko. 115 00:08:17,270 --> 00:08:20,380 Kasu honetan, ezagutzen dugulako Cupcake txokolatea dela, 116 00:08:20,380 --> 00:08:23,160 CakeType zutabe hau erabiliko dugu. 117 00:08:23,160 --> 00:08:31,500 NON espazioa gure conditional zutabe espazioa CakeIsNice espazio = False, 118 00:08:31,500 --> 00:08:38,330 eta espazio CakeType = 'CHOCOLATE'. 119 00:08:38,330 --> 00:08:41,880 Beraz, jarri denak batera, update-adierazpen hau dio 120 00:08:41,880 --> 00:08:44,670 aurkitu cupcakes guztiak gure armairua Cupcake, 121 00:08:44,670 --> 00:08:50,520 eta Cupcake horren zutabe CakeIsNice balioa False dauka bada 122 00:08:50,520 --> 00:08:54,130 CakeType CHOCOLATE balioa dauka, 123 00:08:54,130 --> 00:08:58,240 jakin errenkadak CakeIsNice balioa eguneratu True nahi dugu. 124 00:08:58,240 --> 00:09:01,140 Beraz, goazen aurrera eta instrukzioa exekutatu. 125 00:09:03,860 --> 00:09:05,860 Eta orain, antolatzen ari gara. 126 00:09:06,650 --> 00:09:09,220 >> Cupcakes eztabaida hori guztia egin du gose eta pixka bat me. 127 00:09:09,220 --> 00:09:11,360 Uste dut neure burua laguntza behar dut bat. 128 00:09:11,360 --> 00:09:17,670 Baina I actually jan Cupcake hau bada, gutxienez behar dut ere kendu bere existentzia 129 00:09:17,670 --> 00:09:19,670  gure cupcake_cupboard taula. 130 00:09:20,650 --> 00:09:22,590 Horretarako, "Ezabatu" adierazpena erabiliko dugu. 131 00:09:22,590 --> 00:09:27,400 "Ezabatu" adierazpen guztiak edo batzuk taulako errenkadak kentzeko erabil daiteke. 132 00:09:27,400 --> 00:09:29,920 Taulako errenkada jakin batzuk kendu nahi duzun bada, 133 00:09:29,920 --> 00:09:34,360 gero, "Non" klausula eman behar duzu, eta, beraz, zutabe bat zehazten 134 00:09:34,360 --> 00:09:37,660 nahi duzun kendu errenkada berezia izan behar du. 135 00:09:37,660 --> 00:09:47,370 Sintaxia honako hau da: EZABATU espacio FROM gure mahaia, cupcake_cupboard, espazioa. 136 00:09:47,370 --> 00:09:51,760 Orain, puntu honetan, beti dira urrun zure deklarazioa ezabatu 137 00:09:51,760 --> 00:09:54,240 kontu handiz ibili izan nahi duzu. 138 00:09:54,240 --> 00:09:59,970 Esate baterako, nahi dut kontsulta hau exekutatu nahi izanez gero batzuk "Non" klausula gabe 139 00:09:59,970 --> 00:10:04,500 Datu guztiak galduko nuke taula honetan cupcake_cupboard, 140 00:10:04,500 --> 00:10:09,590 baina dagoeneko badakit delako nire pastela identifikazioak berezia direla, erabili dut 141 00:10:09,590 --> 00:10:12,410 Red Velvet tarta ID nire "Non" klausula. 142 00:10:14,550 --> 00:10:20,670 NON espazioa gure zutabea, CakeID = 1. 143 00:10:20,670 --> 00:10:25,010 Osoko balioa bat denez ez da beharrezkoa inguratzen komatxorik bakar batean. 144 00:10:25,010 --> 00:10:27,020 Beraz, dezagun instrukzioa exekutatu. 145 00:10:33,560 --> 00:10:35,990 Beno, orain ditudan dugu wiped Cupcake honen existentzia 146 00:10:35,990 --> 00:10:40,360 gure cupcake_cupboard taula, besterik ez dugu gauza bakarra ezker: 147 00:10:41,680 --> 00:10:43,680 Egin desagertuko da. 148 00:10:43,680 --> 00:10:46,990 Christopher Bartolome naiz. Hau CS50 da.