[Musika jotzen] DOUG LLOYD: gure bideoak web garapena gaiei buruzko, Nik kontzeptua aipatu dugun datu base bat hainbat aldiz, ezta? Beraz, datu base batean zaudenean ziurrenik ezagutzen Microsoft Excel erabiliz esan edo Google Spreadsheets. Benetan, besterik bat antolatu mahaiak, ilarak, eta zutabe ezarri. Eta datu-base bat da, non gure web-dendak hori oso garrantzitsua da informazio Gure webgunea behar bezala lan egiteko. Berriz ere, hona hemen adibide benetan komun bat da izenak eta pasahitzak gordetzeko datu base batean, beraz, hori Erabiltzaile erregistroak a gure webgunean sartu, Datu-basean kontsulta daitezke ikusi Erabiltzaile datu-basean existitzen bada. Eta badira, egiaztatzen duten bere pasahitza zuzena dela. Eta bere pasahitza zuzena bada, gero eurak orria eman dezakegu eskatzeko ari dira. Beraz, ziurrenik, berriro, familiar Excel edo Google ideia honekin Spreadsheets. Datu behar dugu, mahaiak, ilarak, eta zutabeak. Eta hori da benetan moduko funtsezko multzo hierarkikoa matxura hemen. Hortaz, hona hemen Excel kalkulu da. Eta inoiz ez duzu ireki honetan edo antzeko beste programa bat Dakizuenez horiek hemen dira rows-- 1, 2, 3, 4, 5, 6, 7. Hauek dira zutabeak. Agian hemen behera, ziurrenik, nahiz eta Ez ezaugarri hau erabili izugarri much-- Handiagotzeko dut in-- daukagu orri baten ideia hori. Beraz, agian orriak horiek, bada Atzera eta aurrera tartekatu dut, mahaiak ezberdinak direla Nire datu-basean existitzen. Eta adibide guztietan jarraitzen badugu Bide batez, datu-base honen izena Book 1 da. Agian Book 2 eta 3 Book daukat. Beraz Excel fitxategia bakoitza web orria, orri bakoitzaren taula bat da, eta mahai bakoitzaren barruan daukadan lerro eta zutabe ideia hau. Beraz, nola ez dut lan database honekin? Zelan bertatik informazioa? Beno, ez dago hizkuntza bat deitu da SQL-- ohi deitu besterik ez dut Sequel-- eta nabarmentzen da Kontsulta-lengoaia egituratu. Eta programazio hizkuntza bat da, baina programazio nahiko mugatua da hizkuntza. Ez da nahiko beste batzuk bezala da dugun lan egin. Baina honen helburua programazio hizkuntza da datu base bat zein den jakiteko, to Informazio eskatu duen datu-baseko, batean informazioa aurkitu datu-basea, eta abar. Halaber, CS50 eta oso bat da dugu plataforma komun, nik MySQL deitzen. Hau da, zer erabiltzen dugun ikastaroan. Iturburu irekiko da plataforma hori ezartzen erlazional datu-basea deiturikoak datu base bat, modu eraginkorrean. Ez dugu behar iristeko gehiegi xehetasun sartu zer datu-base erlazional bat da. Baina SQL hizkuntza da oso iaioa lan MySQL eta antzeko beste batzuekin base erlazionaletan estiloak. Eta instalazio asko MySQL zerbait etortzen phpMyAdmin izenekoa, Erabiltzaile grafikoa da GUI-- baten interfaze hori egiten apur bat gehiago lagungarri exekutatuko datu-baseko kontsultak, datu ez dira besterik erabiltzen delako programatzaileak aurreratu moduan, ezta? Batzuetan ez dira enpresa txikiak horiek, eta ezin dute ordaindu talde bat kontratatu programatzaile, baina oraindik ere gorde behar dute datu base batean informazio. PhpMyAdmin moduko zerbait egiten norbaiti oso erraza Nork ez du inoiz lortuko aurretik programatutako jasotzea eta bihurtu nola ezagutzen den datu-base batekin lan egiten. Arazoa da, phpMyAdmin, berriz, ikasteko tresna zoragarria izan da datu buruz, eskuzko da. To saioa izan behar duzu da eta exekutatu komando eta mota Eskuz ere gauzak. Eta ezagutzen dugun bezala gure Adibidez PHP web programazioa, eskuz egin beharrik gure web orrian gauzak, dinamikoa, sentikorrena aktiboa nahi badugu webgunean, agian, ez onena hurbilketa. Modu bat aurkitu nahi dugu agian automatizatzeko hau nolabait. Eta SQL ahalbidetuko du hori egin ahal izateko. Beraz, noiz goaz SQL batekin lanean hasteko, lehen behar dugu bat izatea database horiekin lan. Datu base bat sortzen ari da Zerbait duzu seguraski egingo phpMyAdmin egin, zeren bakarrik izango duzu hura behin egin behar, eta, beraz, egiten sintaxia askoz gehiago dira zuzenean. Da asko errazago egin ahal izateko Interfaze grafikoan batean idazten egindako agindu gisa baino. Komandoa, astuna apur bat lor daiteke. Era berean, mahai bat sortzeko, ahal apur bat astuna nahiko lortuko baita. Eta, beraz, datu-base bat sortzea bezala gauzak eta mahai bat, eta zuk ari sortzeko Seguru aski, once-- egin da joan mahai bakoitzeko behin, behin datu-basea per OK da hori egin ahal izateko interfaze grafikoa. Prozesuaren hasieran mahai bat sortzeko, ikusiko duzu guztia zehazteko aukera ere badute zutabeak, hori izango da mahai horretan izan. Zer nolako informazioa ez mahai gorde nahi duzu? Agian erabiltzailearen izena eta jaiotze data, pasahitza, erabiltzaileak NAN zenbakia, eta, agian, hiria eta estatua, ezta? Eta aldi bakoitzean dagoen erabiltzaile bat gehitu nahi dugu datu-basera, sei lortu nahi dugu Informazio pieza horien. Eta hori egin dugu gehituz mahaira ilarak. Beraz, lehen datu base bat sortzen dugu, ondoren, mahai bat sortzen dugu. Sortzeko zati gisa mahai bat, eskatuko dugu Zutabe zehaztu beharra dagoela taula hau nahi dugun. Eta orduan hasten dugun bezala gehitu datu-basera informaziorik eta basea kontsultatzeko gehiago oro har, ez besterik gehituz, baina beste guztia dugu zuzen ere, egin aurre izango dugu taulan, hau da, inork ilara Erabiltzaileen informazio multzo osoa from. Beraz SQL Zutabe da gai Datu-mota zehatz bateko datuak eskuan. Beraz ordenatzeko kendu honetako dugu Datu PHP mota ideia, baina atzera ari dira hemen SQL ere. Eta ez dago datu-mota asko dago. Hona hemen, besterik gabe, 20 Horietako, baina ez da, nahiz denak. Beraz INTs-- bezalako ideiak ditugu Seguruenik ezagutzen dugun zenbaki osoen Zutabe hau Osoko zenbaki hori eduki dezakete. Eta badira aldakuntzak thereon-- SMALLINT, TINYINT, MEDIUMINT, bigint. Agian ez dugu lau ziztadak beti behar. Agian zortzi byte behar dugu, eta, beraz, ez dugu Osoko zenbaki aldakuntzak hauek erabili ahal espazio pixka bat gehiago eraginkorra izan nahi du. Zenbaki hamartarrak egin ahal izango dugu, ez dugu Puntu mugikorreko zenbakien egin dezake. Hauek nahiko antzekoak dira. Ezberdintasun batzuk daude, eta egiten duzun bada gora begira jarri nahi du SQL gida moduko, zuk Ikusten zer arina ezberdintasunak haien artean daude. Agian gorde nahi dugu data eta ordua buruzko informazioa. Agian jarraipena egiten ari gara erabiltzaileari gure web elkartu denean, eta beraz, agian nahi dugu zutabe bat hori da, izan data ordu edo denbora-marka duten adierazten duenean erabiltzaileak benetan sinatu. Geometria eta linestrings egin ahal izango dugu. Hau da, benetan oso politak. Nola zehaztu izan dugu Zonalde geografikoaren erabiliz GIS koordinatzen eremu baten nuen jakiteko. Beraz, benetan moduko gordetzeko SQL zutabe batean informazio. Idatzi besterik testu tanta erraldoia da, agian. ENUMs interesgarri diren mota. Baina hauek C. existitzen ez dugu haiei buruz hitz egiteko ez delako Izugarri normalean erabiltzen, gutxienez CS50. Baina datu-mota ataza bat da da, eta horrek balioak mugatuta eskuratzeko gai. Adibidez benetan ona hemen luke izan enum bat sortzeko non zazpiek balio posible dira igandean, astelehenean, Asteartea, asteazkena, osteguna, ostirala, Larunbata, ezta? Datu mota eguna Aste ez da existitzen, baina eragin ditzaketen dugu Datu mota izendatuak hala nola zutabe horren bakarrik inoiz eduki ahal zazpi balio posible horietakoa. Guztiak izendatuak dugu ahalik eta balioen. Ondoren CHAR eta VARCHAR dugula, eta Nik kolore berde horiek benetan ari garelako bigarren bat hartu du aldea buruz hitz egin bi elementu horien artean. Beraz CHAR, C ez bezala, non CHAR karaktere bakar bat izan zen, SQL CHAR bat aipatzen den luzera finkoa katea. Eta hori sortzen dugu zutabean, benetan dugu katearen luzera zehatz dezakezu. Beraz, adibide honetan, Baliteke CHAR (10) esaten dugu. Hori da esan nahi duen zutabe horren elementu 10 informazio byte osatuko dute. Ez gehiago, ez gutxiago. Beraz, saiatu ginen eta bada 15 bat jarri bit edo 15 pertsonaia elementu bat edo zutabe hau sartu balio, dugu lehen 10 bakarrik ari eskuratu. Jarri genituen biak ere bada Pertsonaia balio luzea, Bien dute goaz pertsonaiak, eta, ondoren, zortzi null ziztadak. Inoiz ez dugu hori baino eraginkorragoa. VARCHAR A motatako bezalako gure kate baten ideia ezagutzen ari garela C-tik edo PHP from. Luzera aldakorreko kate bat da. Eta noiz sortu duzu Zutabe hau, besterik ez duzu ahalik eta luzerak zehaztu. Beraz, agian, 99, edo normalean 255. Hori gehienezko luzera izango litzateke. Eta gordetzeko ari ginen hala bada 15 karaktere katea, 15 byte erabiliko genuke, agian, 16 null amaierako byte. Dugu ziren gordetzeko bada Hiru pertsonaia katea, Hiru edo lau byte erabiliko genuke. Baina ez genuke erabili beteta 99. Beraz, zergatik bai dugu? Beno, irudikatu nola behar badugu Zerbait luze VARCHAR bat da, dute batetik bestera joateko mota dugu zeharkatuz gustatzen besterik ez da C dugu eta irudikatu non gelditzen da. Jakin badakigu, dena dela ez zezan zutabe hau 10 byte da, agian, Informazio hori badakigu, salto egin ahal izango dugu 10 byte 10 byte 10 byte 10 byte, eta beti aurkitu katearen hasita. Beraz batzuk izango ditugu espazioa alferrik galtzen CHAR batekin, baina agian ez lanbide bat da abiadura hobea izatea off datu-basea nabigatzeko. Baina agian nahi genuen VARCHAR bat malgutasuna ordez having-- gure CHAR bada 255 izan zen, baina gure erabiltzaileek gehienak ziren hiru edo lau byte bakarrik inputting Informazio edo hiru edo lau merezi karaktere informazio merezi. Baina zenbait erabiltzaile ziren erabiliz 255 osotasunean, agian, VARCHAR egokiagoa izango litzateke. Merkataritza bat sort da off, eta Oro har, CS50 helburuetarako, ez duzu gehiegi buruz askoz kezkatu CHAR edo VARCHAR bat erabiltzen duzun ala ez. Baina mundu errealean, gauza horiek ez du axola zutabe horiek guztiak ere hartu eman benetako espazio fisiko. Eta espazio fisikoa, in Mundu errealean, prima bat dator. Beraz, beste consideración bat Mahai bat eraikitzen ari zara da zutabe bat hautatzeko behar izan zer ari Gako nagusia deitzen. Eta lehen mailako gako bat zutabe bat da non balio single bakoitzean berezia da. Eta horrek esan nahi erraz duzula hautatzeko ilara bakar bat besterik begira Lerro horren gakoa lehen at. Beraz, adibidez, zuk oro har, erabiltzaileekin, ez bi erabiltzaileek nahi duten Horrekin erabiltzaileak NAN zenbakia izan. Eta beraz, agian behar duzu informazio asko, eta, agian, bi erabiltzaileek du izen bera dute John Smith eta John Smith duzu. Hori da, ez du zertan arazo bat, badira hainbat pertsona delako John Smith izeneko munduan. Baina erabiltzaile bat NAN zenbakia besterik ez dugu 10 erabiltzaile bat NAN zenbakia 11, 12, 13. Ez dugu bi erabiltzaile kopuru berdinarekin, eta beraz, agian Erabiltzaile ID zenbakiak lehen mailako gako ona izango litzateke. Ez dugu inolako bikoizketa dute, eta ezin dugu gaur egun bakarrean ilara bakoitza besterik identifikatzeko zutabe horren begira. Lehen mailako gakoak benetan aukeratzea Ondorengo mahai eragiketak egiteko asko errazago duzu leverage daitekeelako Izan ere, zenbait ilaratan will berezia izango da, edo zutabe jakin bat Zure datu-basea edo taulak berezia jaso izango da lerroetan bereziki. Halaber, lehen joint bat izan dezakezu gakoa, oraingoan aurkitu ahal izango duzu erabili, eta hori ez da bi zutabe konbinazio hori bermatuta dago, berezia izango da. Beraz, agian bat behar duzu zutabea hori bezala Bs, zutabe bat dela bat da, bi, eta hiru, baina bakarrik izango zara inoiz A1 bakar bat, bakar bat A2, eta abar eta abar. Baina B2 bat izan dezakezu, a C2, edo A1 batekin, A2, A3, A4. Beraz anitz bezala, bat baino gehiago izan ditzakezu Bs, anitz dira, anitz binaka, baina sekula izan dezakezu bat A1 single, B2, C3, eta abar. Beraz, esan dudan bezala, SQL da programazio hizkuntza, baina lexiko nahiko mugatua duelako. Ez da nahiko bezain hedakorra C eta PHP eta beste hizkuntzetan hitz egin dugu ikastaroan. Gehiago Luze da hizkuntza zer ari garen baino Buruz hitz honetan joan video, zeren bideo honetan buruz hitz egin dugu lau eragiketak dugun mahai baten gainean burutzeko. Ez dago hori baino gehiago dira. Gehiago egin ahal izango dugu, baina gure helburuetarako, oro har ari gara erabiltzen dituztela joan besterik lau eragiketa txertatze, hautatu, eguneratu eta ezabatu. Eta ezin ziurrenik, intuizioz asmatzen duzu zer gauza horiek guztiak lau egin. Baina pixka bat izan dugu Zehatz-mehatz, bakoitzak gainean. Beraz, honen helburuetarako video, Demagun ondoko bi hauek egin ditugu datu-base bakar batean mahaiak. A mahai izeneko erabiltzaileek daukagu lau columns-- NAN zenbakia, erabiltzaile izena, pasahitza, eta izen-abizenak. Eta bigarren bat dugu datu-base berdinean mahaia Moms hori besterik informazioa gordetzen izeneko Erabiltzaile izen eta ama bat buruz. Beraz, adibide guztientzat Bideo honetan, dugu den datu-base hau erabiliz, eta Ondorengo da eguneratzerik. Beraz, esan dezagun nahi dugu Informazio gehitu taula batean. Hori txertatze operazioa egiten duenari. Guztia arrazoiaz Komando hauek, noa you hezurdura orokor bat erabili emateko. Funtsean, kontsultak egin delako dira, itxura nahiko antzekoak joan, besterik ez gara ari dira aldatzen Informazio pieza pixka bat eta beste hainbat gauza egin mahai batera. Beraz INSERT egiteko, hezurdura itxura mota hau gustoko dute. Ra sartu txertatu nahi dugu mahai jakin bat. Ondoren irekita parentesi bat dugu eta zutabe zerrenda bat balioak sartu sartu nahi dugula. Close parentesi du balioak jarraituz, eta, ondoren, Berriro, balioen egindako jartzen dugu mahai batean jarri nahi dugu. Beraz, horren adibide bat honako hau izango litzateke. Mahai batean sartu nahi dut erabiltzaile honako columns-- du izena, pasahitza, eta izen osoa. Beraz, lerro berri bat non jarri dut hiru zutabeak horietan eta ez gara balioak jartzen joan Newman, USMAIL, eta Newman. Beraz, kasu honetan, ez naiz minuskulaz NEWMAN jarriz Erabiltzaile izen zutabean sartu, pasahitza USMAIL, eta izen-abizenak, kapital N Fullname zutabean sartu Newman. Hortaz, hona hemen zer datu-basea aurretik dirudi. Hemen da erabiltzaileek zer mahai gaineko goi atsegin hau egin dugu aurretik begiratu. Hau egiten dugu ondoren kontsultan, hau lortuko dugu. Lerro berri bat gehitu dugu mahaira. Baina gauza bat hau nabarituko Nik ez dut zehaztu duenez, baina, nolabait, balio bat Dut egiteko, hau da, 12 hau hementxe. Nik ez dut esan nahi izan dut NAN zenbakia jarri hor. Erabiltzaile izena jarri nahi izan dut, pasahitza, izen osoa. Eta egin nuen, hori da isuna. Baina, era berean, lortu dut 12 honetan. Zergatik 12 honetan lortu dut? Beno, bihurtzen da definitu ari zara Hori izango da zutabe bat zure lehen mailako gako, ohi da, bezala, esan nuen ID zenbakia. Ez da beti nahitaez NAN zenbakia bat izango da, baina normalean ez da ideia ona da zenbaki oso moduko bat izan. PhpMyAdmin ere aukera bat daukazu denean zure datu-basea sortzen ari zara edo mahai hori ezarri zutabea auto Incrementing bezala. Zein oso ideia ona izan behar da duzun lehen mailako gako bat ari zara lanean, balio guztietan nahi duzulako zutabe horretan ere berezia izango da. Eta zehaztu ahaztu baduzu Pertsona bat baino gehiago da, gaur egun, egoera bat non duzu zutabean, jada ez da berezia. Bi hutsuneak duzu, beraz, ez ahal duzu luzeagoak identifikatzen column-- bat edo jada ez bakarrean ahal duzun oinarritutako zutabe horren arabera ilara batean identifikatzeko. Honez guztiak galdu bere lehen mailako gakoa gisa balio. Eta orain, antza denez, zer egin dut Hemen Erabiltzaile ID konfiguratzeko auto gehikuntza zutabe bakoitzean, beraz, denbora informazio gehigarri I mahaira, automatikoki ematen dit lehen mailako gako honen balioa. Beraz, inoiz ezin dut ahaztu egin behar delako datu-basea egin ahal izango niretzat. Beraz, mota horretako polita da. Eta beraz, horregatik lortu dugu Han ere 12 I delako ezarri zutabean auto gehikuntza sortu duten. Basoan beste gehitu dut bada 13 litzaidake, I gehituz gero Basoan beste 14 litzaidake, eta abar. Beraz, egin dezagun, besterik gabe sartzeak, beste bat gehiago utzi. Egingo moms mahai txertatzeko dugu, in bereziki, erabiltzaile izena eta ama zutabean, balioak kramer eta Babs Kramer. Eta, beraz, hau izan genuen aurretik. Exekutatu ondoren dagoela SQL kontsulta, hau dugu. Gehitu ditugu Kramer eta Babs Moms mahaira Kramer. Beraz, tartekatuz. SELECT da zer ateratzeko erabiltzen ditugun mahaitik informazioa. Beraz, hau da, nola lortuko dugu Informazio datu basean daudelarik. Eta beraz, SELECT-komando diren izango da Oso maiz programatzeko erabiltzen diren. Orokorrari framework-- du Hezurdura general itxura hau. Aukeratu zutabeak multzo bat mahai bat, eta, ondoren, aukeran condition-- bat adieraz dezakezu, edo zer normalean predikatu bat deitu dugu, erabili dugu SQL terminoa izan ohi da. Baina da, funtsean, zer ilaratan bereziki lortu nahi duzun. Ordez lortzeko nahi baduzu Guztia, mugatu, hau da, non egin nahi duzu. Eta gero, aukeran, baita ere zutabe jakin batek aginduko. Beraz, agian gauzak ordenatzen izan nahi al duzu Ordena oinarritutako zutabe bat on edo alfabetikoki oinarritutako beste batean. Berriz ere, non eta ORDENANTZAK BY aukerakoa. Baina seguruenik egingo dute izan useful-- bereziki Non erabilgarria izango da mugatu ez dezazun datu-base osoa lortzeko itzuli eta prozesatu dute, lortu besterik ez duzu zatiak buruzko zaintzeko duzula. Beraz, adibidez, agian hautatu nahi dut NAN zenbakia eta izen osoa erabiltzaileen. Beraz, zer itxura hau agian? Hortaz, hona hemen nire erabiltzaile taula da. Idnum aukeratu nahi dut eta erabiltzaileen izen osoa. Zer naiz joan lortzeko I? Hau lortzeko noa. Ez nuen mugatu, beraz, ez dut Ilara bakoitzean dagoen NAN zenbakia lortzen osoaz ari naiz Ilara guztietatik izendatzeko. ONDO DA. Zer pasahitza hautatu nahi badut erabiltzaileen WHERE-- beraz orain Baldintza bat gehituz dut, predicate-- bat Bertan 12 baino gutxiago idnum da. Hortaz, hona hemen nire datu-basea da berriro, Nire erabiltzaile ohola. Zer am nahi badut lortu nahi dut hautatu informazio hori, pasahitza, non erabiltzaile ID edo idnum 12 baino gutxiago da? Hau lortzeko noa Informazio back, ezta? Idnum dela 10 gertatzen da, gutxiago 12 baino, NAN zenbakia 11 baino gutxiago 12. Naiz ilaratan dutenentzat pasahitza lortzen dut. Hori zer galdetu nion. Eta hau? Zer izar hautatu nahi badut moms mahai non username berdinen Jerry? Ados, hautatu izarreko berezia da deiturikoak basa-txartel moduko dena lortzeko erabiltzen dugula. Beraz ari hautatu esaten Erabiltzaile koma ama, eta horrek Gertatu bakarra izan da Bi mahai honen zutabeak, I hautatu ahal star eta dena non erabiltzaile izen berdina Jerry. Eta beraz, zer egingo zenuke lortuko dut kontsultaren jakin hori egin nuen gero. Orain, datu dira dute baimendu handia delako Informazio agian antolatzeko gurekin Pixka bat gehiago eraginkortasunez genuena baino Agian bestela. Ez dute zertan gordetzeko dugu Informazio pieza garrantzitsua da Mahai berean erabiltzaile bati buruzko. Bi mahai han izan genuen. Gorde behar dugu denon amaren izena, eta, agian, ez dugu gizarte segurantza dute zenbakia, euren jaiotze-data izan dugu. Horrek ez du beti behar mahai berean izango da. Harik eta definitzea ahal bezain tables-- arteko harremanak eta hori da, non erlazional hori database epe motatako dator play-- luze jo dugu defini daiteke gisa sartu mahaiak arteko harremanak, ordenatzeko compartmentalize dugu edo gauza abstraktu modu bat, non bakarrik izan zen dugu Informazio benetan garrantzitsua erabiltzailearen taulan arduratzen gara. Eta gero, informazio osagarria behar dugu edo beste mahai batean informazio gehigarria konektatu ahal izango dugu atzera nagusia den erabiltzaile modu jakin batean mahaia. Hortaz, hona hemen bi mahai horiek ditugu, baina haien arteko harreman bat da, ezta? Badirudi username bezalakoa da zerbait izan liteke duten artean komunean existitzen Bi mahai desberdin horiek. Beraz, zer bada orain dugu egoera bat non gauden Erabiltzaile baten izen osoa eskuratu nahi erabiltzailearen mahaia, eta bere amaren amak mahaitik izendatzeko? Ez dugu lortu bide dute nabarmentzen duen bezala, ezta? Ez da, mahai bakar ez dituen bai, izen-abizenak eta amaren izena. Ez dugu aukerarik izan Orain arte ikusi dugu. Eta horrela aurkeztu ditugu batera batzeko ideia. Eta elkartzen dira, ziurrenik, konplexuagoa gehien benetan eragiketa konplexuena da buruz hitz egin nahi bideoan goaz. Pixka nahasia ari dira, baina behin delta zaizu, too txarra Oraindik benetan dute, ez. Besterik ez da SELECT baten kasu berezi bat da. Multzo bat hautatu goaz taula batetik zutabeak batu predikatua batzuk bigarren mahai batean. Kasu honetan, uste buruz Halako ezazu mahai bat zirkulu bat da hemen baino gehiago, Bi mahai hemen baino zirkulu bat da. Eta predikatu zati hori erdian, da Sort uste baduzu like Venn diagrama batean bezala, zer ez dute amankomunean? Bi mahai horiek lotu nahi dugu oinarritutako zer dute komunean dute on eta hipotetiko mahai honetan sortu duten bi elkarrekin fusioa da. Beraz, honetan ikusiko dugu batean Adibidez, eta, agian, hori lagungarri izango garbituko da, apur bat gora. Beraz, agian, hautatu nahi duzun user.fullname eta moms.mother erabiltzaileek, batu moms egoera guztietan mahaia non username zutabea haien artean bera da. Eta hau da, berri bat sintaxia hemen, erabiltzaileak honetan. eta mamás .. Mahai bat baino gehiago egiten ari naiz bada elkarrekin, mahai bat zehaztu ahal izango dut. Partikularretan ere ezin dut bereizteko Horretan oso behean dago at. Erabiltzaile izena du I bereiz dezake erabiltzaile taulako zutabe Erabiltzaile izen zutabean bertatik moms mahai, diren otherwise-- esan dugu, besterik ez bada username berdinen username, ez da hori benetan ezer esan nahi. Egin behar non badatoz nahi dugu. Beraz, mahai eta zehaztu ahal izango dut zutabea egoera baten kasuan izen non dago argi izango litzateke zertaz ari naizen. Beraz, hori da dena egiten ari naiz, ez da naiz Taula horren zutabe hau esanez, eta oso esplizituak izan du. Beraz, berriro ere, naiz hautatzeko izen-abizenak eta amaren izena erabiltzaile taula elkarrekin lotuta daude moms egoera guztietan mahai batera non column-- hori partekatuko dute partekatuko dute username asmo hori. Hortaz, hona hemen taulak aurretik izan genuen. Hau egoera da gure database oraintxe existitzen da. Informazio erauzten ari gara da hau hasteko. Hau taula berria goaz horiek elkarrekin konbinatuz sortzeko. Eta konturatu ez gara nabarmenduz Newman-ren erabiltzailearen mahai ilara, eta ez gara nabarmenduz Kramer en moms koadroaren ilara inork ez existitzen delako bai bai taulak sets--. Komunean dagoen informazio bakarra haien artean da Jerry bai mahaiak da eta gcostanza bai mahaiak da. Eta beraz, ez dugu sql sartzeko, zer dugu eta lortu eta benetan egiten dugu lortu hori. Aldi baterako aldagai bat sort da. Da hipotetiko bat bezalakoa da Bi mahai fusioa. Benetan zerbait lortu dugu Hau atsegin, non batu elkarrekin ditugun buruzko taulak Hori dute komunean dute informazioa. Beraz, konturatu users.username dagoela eta moms.username zutabean, zehazki gauza bera da. Hori izan zen, informazio hori Erabiltzaileen koherenteak mahai eta mamás mahai. Eta beraz, batu ditugu elkarrekin. Kramer baztertzea dugulako zuen ez zuen erabiltzaile taula existitzen, eta Newman baztertzea dugu, zeren ez zuen, moms mahai existitzen. Beraz, hau hipotetiko fusioa da ELKARTU SELECT funtzionamendua erabiliz. Eta gero ez ginen bila Erabiltzaile izen-abizenak eta erabiltzailearen amak, eta, beraz, hau informazioa dela kontsultaren orokorra dugu lortuko lituzke egin SELECT dugun hori. Beraz, mahaiak batu ginen elkarrekin eta bi zutabe horiek ateratako dugu, eta, beraz, hori da lortu genuke. Baina SQL konplikatuak mota bat elkartzen. Ziurrenik ez duzu egin horiek gehiegi, baina besterik hezurdura ideia batzuk duten bi batzea erabili ahal izango duzu mahaiak beharrezko elkarrekin izanez gero. Azken biak dira bat Pixka soilagoa I agintzen. Beraz eguneratzeko, UPDATE erabili ahal izango dugu Informazio aldatzeko mahai batean. Formatu orokorra honakoa da UPDATE batzuk mahaia, zutabe batzuk balio batzuk Predikatua batzuk pozik dago. Beraz, adibidez, nahi genuke Erabiltzaile mahai eguneratzeko eta Yada pasahitza ezarri Yada, non NAN zenbakia 10 da. Beraz, kasu honetan, ez gara erabiltzaile taula eguneratzeari. NAN zenbakiaren 10 baino ez da lehen ez ilara horretan, eta eguneratu nahi dugu Yada Yada den pasahitza. Eta beraz, zer gertatuko litzateke. Nahiko erraza da, ezta? Besterik ez da oso erraza da mahaira aldatzea. Ezabatzeko eragiketa erabili behar dugun da Informazio kendu taula bat. EZABATU mahai nondik predikatua batzuk pozik dago. To ezabatu nahi dugu erabiltzaile adibidez, mahai non erabiltzaile izena Newman da. Ziurrenik asmatzea zer ari den gertatzen gertatuko hemen SQL exekutatu dugu ondoren Inolako zalantzarik, Newman da mahai izatetik. Beraz, eragiketa horiek guztiak, erran dudanez, Oso erraza phpMyAdmin egin dira. Oso lagungarri interfazea da. Baina eskuzko ahalegina eskatzen du. Ez dugu nahi eskuzko ahalegina enplegatzen. Gure programak nahi dugu Hori da guretzat, ezta? Beraz liteke egin nahi dugu hau programazioaren. SQL txertatu nahi dugu eta behar beste zerbait hau egin digu. Baina zer aukera ematen duen ikusi dugu programazioaren egin digu zerbait? Ikusi dugu PHP, ezta? Batzuk sartzen ditu gure programak sartu dinamismoa. Eta beraz, zorionez, SQL eta PHP play oso ondo elkarrekin. Ez dago PHP funtzio bat kontsultaren izenekoa, erabili ahal izango da. Eta gisa pasa dezakezu parametroa edo argumentua SQL kontsulta bat galdetzeko aukera hori zaude exekutatu nahi. Eta PHP gauza bera egin du zure izenean. Beraz, konektatutako dituzun ondoren Zure datu-basea PHP ditu, bi nagusi Hori eginez, ez da. Ez da, zerbait izeneko MySQULi eta JDB izeneko zerbait. Ez diogu handi batean sartu Kopuru zehatz-mehatz ez. CS50 JDB erabiltzen dugu. Konektatua ondoren Zure datu-basea, zuk ondoren egin dezakezu zure kontsultak datu-basea kontsultak pasatzen argumentu gisa arabera PHP funtzio bat. Eta noiz egin duzula, gordetzeko duzu emaitza elkarte array ezarri. Eta badakigu nola lan PHP elkarte multzo. Beraz, agian zerbait esaten dut honelakoa izango $ results-- hau da PHP berdinen kontsultan. Eta gero, barrutik argumentu kontsulta funtzioa Hori galdekatzeko pasatzen ari naiz Hori SQL itxura. Eta hain zuzen ere, SQL da. Hori katea da nuke nahi nire datu-basearen artean, exekutatu. Eta beraz, gorriz, hau PHP da. Hau SQL naiz da eginez PHP integratzeko duen eskaerari funtzioaren argumentua. Tik fullname aukeratu nahi dut erabiltzaile non NAN zenbakia berdinen 10. Eta gero egin dut, agian, ondoren dut, Agian, honen antzeko zerbait esaten dut. To inprimatu nahi dut Mezuaren baliozkatzen esker. Eta nahi dut interpolate-- nahi dut $ emaitzak fullname interpolatu. Eta beraz, nola lan egiten dut horrekin elkarte-sorta hori itzuli dut. $ Emaitzak fullname litzateke funtsean, azkenean, inprimatzeko, eta saioa, Jerry Seinfeld esker. Hori izan zen izen osoa non idnum berdin 10. Eta egiten ari naiz hain guztiak da da gaur egun naiz gordeta dut Nire kontsulta, nire kontsultaren emaitzen eta elkarte array emaitzak, eta fullname izena da zutabean I oztopatu zuten. Beraz, hori da nire gakoa emaitzak sartu da elkartze-array nahi dut. Beraz esker hasi saioa amaitzeko, $ emaitzak, fullname inprimatu egingo, izango makila eskubidea kizkur dutenen artean giltza, Jerry Seinfeld. Eta mezua inprimatu nahi dut Jerry Seinfeld eta saioa esker. Orain, ziurrenik ez dugu hard nahi kodea gauza bezala, ezta? Baliteke inprimatu antzeko zerbait egin nahi dugu f, non ordezkatzeko eta, agian, ezin dugu Informazio ezberdinak biltzea, edo agian, kontsultaren prozesua Informazio ezberdinetan. Eta beraz, kontsultan, kontsulta funtzioa du ordezkapenak moduko kontzeptua, hau f ehuneko s inprimatu oso antzekoak eta ehuneko c, galdera ikurrak da. Eta galdera ezin dugu erabili markak oso analogously aldagai aldaketa eta f inprimatu. Beraz, agian, zure erabiltzaile lehenago oraindik, eta bere erabiltzaile izena kopuru salbatu duzu $ PHP super of _saioa ere gakoa ID egin globala. Oraindik dute Beraz, agian ondoren, $ _saioa ID berdin 10 ezarri nahi izanez gero, Adibidez batetik estrapolatu besterik ez duela bigarren bat ikusi genuen. Eta beraz, benetan exekutatu dugu honen emaitzak kontsultatzeko orain, 10 urtean litzateke plug, edo dena $ _saioa ID-balioa da. Eta beraz, hori ematen digu Pixka bat gehiago dinamikoa izan. Oraindik ez hard gauzak kodifikazioa dugu jada ere. Informazio aurrezten ari gara nonbait, eta, ondoren, Informazio hori berriro erabili ahal izango dugu Sort orokortu zer egin nahi dugun, eta besterik plug-in eta aldaketa Gure orrialdea portaera oinarritutako zer erabiltzailearen NAN zenbakia on Egia esan, ez da haiekin saioa hasi ondoren. Posible da ere, nahiz eta, Zure emaitzak ezarri duten Baliteke gehiago errenkadak osatuta. Kasu honetan, duzu array array bat elkarte multzo array bat. Eta besterik ez, horren bidez, batetik bestera joateko behar duzu. Eta nola batetik bestera joateko ezagutzen dugun PHP array baten bidez, ezta? Beraz, hemen da seguruenik gehien Gauza konplexua, orain arte ikusi dugu. Benetan integratzen ditu hiru hizkuntza elkarrekin. Hemen gorriz, hau HTML batzuk. Itxuraz naiz starting-- hau da HTML batzuk izan dut-zatiak. Paragrafo berri bat dagoela hasten naiz TV Seinfeld mamás dio. Eta gero, berehala gero Mahai bat hasten naiz. Eta gero, ondoren, I PHP batzuk izan, ezta? PHP kode hau guztia daukat han ere. Itxuraz dut kontsulta bat egiteko doa. Eta eskaerarekin bat egiteko, ez dut joan Amak SELECT erabilita mamás izan. Beraz, hau da getting-- honek SQL da. Hain urdin SQL da. Gorriak bigarren duela ikusi genuen HTML zen. Eta berde hemen PHP da. Beraz, kontsultaren bat egiten ari naiz nire datu-basea da, naiz guztia hautatuz moms mahai amak. Ez bakarrik da estutzen behera partikularretara Ilara, denak galdetzen dut. Ondoren egiaztatu nuen emaitza baldin bada Ez berdin berdin faltsua. Hau da, besterik gabe, nire moduko egiaztapena modu bat da emaitzak ez da berdintasunaren bada null, c adibidez ikusiko genuke. Funtsean hau besterik ez da egin egiaztapena Ziur benetan lortu du, datuak itzuli. Ez dudalako inprimatzeko hasi nahi Datu egindako nuen ez bada edozein datu. Ondoren emaitzak bakoitzaren ondorioz da PHP foreach sintaxia, egiten ari naizen guztia dago out $ emaitza amak inprimatzeko. Eta orain naiz multzo bat lortu nahi dut each-- amen guztien Elkartze-array bat da array eta egindako naiz inprimatzeko Bere mahai baten ilara egin bezala, bakoitzak. Eta hori da benetan polita Askoz guztiak hor da. Badakit ez da apur bat Pixka gertatzen hemen array batera azken adibide honetan elkarte multzo array array. Baina benetan du irakiten SQL behera kontsulta bat egiteko, normalean hautatzen dugu dagoeneko ondoren Informazio jarri mahai sartu, eta, ondoren, besterik gabe, baina tira izarrekin. Eta hau da tira genuke Kasu zehatz honetan egindako. Gizabanakoaren guztiak atera genuke moms mahaitik amak. Horietako multzo oso bat lortu dugu, eta guk bidez batetik bestera joateko eta inprimatu nahi horietako bakoitzak. Beraz, berriro ere, hau da, ziurrenik, Hauek dira adibiderik zailenetarikoa ikusi dugu dugu nahasketa ari hiru delako Hizkuntza ezberdinen elkarrekin, ezta? Berriz ere, HTML dugun hemen gorriz, SQL batzuk hemen urdinez nahasten, berdez PHP batzuk nahasten. Baina horiek guztiak jolastu nicely elkarrekin, da besterik garatzeko materia ohitura onak eta, beraz, lortu dezakezu elkarrekin lan egin nahi duzun. Eta modu bakarra benetan egin dela da, landu praktika, praktika. Naiz Doug Lloyd, hau CS50 da.