1 00:00:00,000 --> 00:00:03,493 >> [Musiikkia] 2 00:00:03,493 --> 00:00:04,934 3 00:00:04,934 --> 00:00:07,100 DOUG Lloyd: Meidän videot web kehitys aiheista, 4 00:00:07,100 --> 00:00:10,560 olemme maininneet käsitteen tietokanta muutaman kerran, eikö? 5 00:00:10,560 --> 00:00:12,700 Joten tietokanta olet luultavasti tuttuja 6 00:00:12,700 --> 00:00:15,780 sanovat Microsoft Excel tai Google Spreadsheets. 7 00:00:15,780 --> 00:00:20,650 Se on oikeastaan ​​vain järjestäytynyt taulukoita, rivejä, ja sarakkeet. 8 00:00:20,650 --> 00:00:23,140 >> Ja tietokanta on missä sivuillamme myymälöissä 9 00:00:23,140 --> 00:00:26,760 tietoa, joka on tärkeä sivuillamme toimii toivotusti. 10 00:00:26,760 --> 00:00:30,150 Jälleen todella yhteinen esimerkki tästä on tallentamiseen käyttäjätunnuksia ja salasanoja 11 00:00:30,150 --> 00:00:32,824 tietokantaan, niin että kun käyttäjä kirjautuu sivuillamme, 12 00:00:32,824 --> 00:00:36,690 tietokanta on mahdollista tiedustella nähdä jos käyttäjä on olemassa tietokannassa. 13 00:00:36,690 --> 00:00:39,260 Ja jos he ovat, tarkistaa, että niiden salasana on oikea. 14 00:00:39,260 --> 00:00:43,420 Ja jos niiden salasana on oikea, voimme antaa heille, mitä sivu 15 00:00:43,420 --> 00:00:45,370 he pyynnön. 16 00:00:45,370 --> 00:00:48,590 >> Joten olet luultavasti taas tuttu tämän ajatuksen Excelistä tai Google 17 00:00:48,590 --> 00:00:49,430 Spreadsheets. 18 00:00:49,430 --> 00:00:52,980 Meillä on tietokannat, taulukot, rivit, ja sarakkeet. 19 00:00:52,980 --> 00:00:56,450 Ja se on todella lajitella perustavaa laatua joukko 20 00:00:56,450 --> 00:00:58,470 hierarkkisten erittely täällä. 21 00:00:58,470 --> 00:00:59,800 Joten tässä on Excel. 22 00:00:59,800 --> 00:01:02,640 Ja jos olet koskaan avannut tämän tai muun vastaavan ohjelman 23 00:01:02,640 --> 00:01:06,780 te tiedätte, että nämä tässä ovat rows-- 1, 2, 3, 4, 5, 6, 7. 24 00:01:06,780 --> 00:01:08,760 Nämä ovat sarakkeissa. 25 00:01:08,760 --> 00:01:11,790 >> Ehkä täällä, vaikka et ehkä käytä tätä toimintoa hirveän much-- 26 00:01:11,790 --> 00:01:15,370 Minä zoom in-- meillä tämä ajatus levyn. 27 00:01:15,370 --> 00:01:17,930 Joten ehkä nämä levyt, jos Olen vuorotellen edestakaisin, 28 00:01:17,930 --> 00:01:21,600 ovat erilaisia ​​taulukoita, jotka olemassa tietokannasta. 29 00:01:21,600 --> 00:01:25,210 Ja jos jatkamme esimerkiksi kaikki Muuten, nimi tämän tietokannan 30 00:01:25,210 --> 00:01:26,940 on Book 1. 31 00:01:26,940 --> 00:01:28,710 Ehkä minulla on kirja 2 Kalenteri 3. 32 00:01:28,710 --> 00:01:33,270 Joten jokainen Excel-tiedosto on tietokanta, jokainen arkki on taulukko, 33 00:01:33,270 --> 00:01:39,530 ja jokaisen sisällä taulukon Minulla tämä ajatus rivejä ja sarakkeita. 34 00:01:39,530 --> 00:01:41,900 >> Joten miten työskennellä tämän tietokannan? 35 00:01:41,900 --> 00:01:43,630 Miten saan tietoa siitä? 36 00:01:43,630 --> 00:01:47,540 No siellä on kieli kutsutaan SQL-- jota yleensä vain soittaa Sequel-- 37 00:01:47,540 --> 00:01:50,010 ja se edustaa Structured Query Language. 38 00:01:50,010 --> 00:01:52,981 Ja se on ohjelmointikieli, mutta se on melko rajoitettu ohjelmointi 39 00:01:52,981 --> 00:01:53,480 kieli. 40 00:01:53,480 --> 00:01:56,407 Se ei ole aivan kuten muutkin että olemme työskennelleet. 41 00:01:56,407 --> 00:01:58,240 Mutta tässä ohjelmointikieli 42 00:01:58,240 --> 00:02:01,570 on kyselyn tietokantaan, pyytää tietoja tietokannan, 43 00:02:01,570 --> 00:02:04,480 etsiä tietoja tietokantaan, ja niin edelleen. 44 00:02:04,480 --> 00:02:08,449 >> Olemme myös, vuonna CS50-- ja se on hyvin yhteinen foorumi, sitä kutsutaan MySQL. 45 00:02:08,449 --> 00:02:10,600 Sitähän me käytämme aikana. 46 00:02:10,600 --> 00:02:12,880 Se on avoimen lähdekoodin alustan, joka vahvistetaan 47 00:02:12,880 --> 00:02:16,732 ns relaatio database-- tietokannan, tehokkaasti. 48 00:02:16,732 --> 00:02:18,440 Meidän ei tarvitse saada liian paljon yksityiskohtia 49 00:02:18,440 --> 00:02:20,930 mitä relaatiotietokantaan on. 50 00:02:20,930 --> 00:02:24,650 Mutta SQL kieli on erittäin taitava työ 51 00:02:24,650 --> 00:02:29,760 MySQL ja muut vastaavat tyylejä relaatiotietokantojen. 52 00:02:29,760 --> 00:02:34,010 >> Ja monet asennukset MySQL tulevat jotain 53 00:02:34,010 --> 00:02:37,760 nimeltään phpMyAdmin, joka on graafinen 54 00:02:37,760 --> 00:02:40,970 interface-- GUI-- joka tekee siitä hieman enemmän 55 00:02:40,970 --> 00:02:44,410 käyttäjäystävällinen suorittaa tietokantakyselyt, 56 00:02:44,410 --> 00:02:48,980 koska tietokannat eivät ole juuri käytetty kehittyneet ohjelmoijat, eikö? 57 00:02:48,980 --> 00:02:51,510 Joskus on Pienyritykset, 58 00:02:51,510 --> 00:02:53,900 ja ne ei ole varaa palkata joukko ohjelmoijia, 59 00:02:53,900 --> 00:02:56,700 mutta silti täytyy tallentaa tiedot tietokantaan. 60 00:02:56,700 --> 00:02:59,300 >> Jotain phpMyAdmin tekee siitä erittäin helppo joku 61 00:02:59,300 --> 00:03:03,630 joka ei ole koskaan ohjelmoitu ennen poimia ja tutustuu miten 62 00:03:03,630 --> 00:03:07,710 työskennellä tietokantaan. 63 00:03:07,710 --> 00:03:11,800 Ongelmana on, phpMyAdmin, kun taas se on loistava työkalu oppimiseen 64 00:03:11,800 --> 00:03:14,850 noin tietokantoja, se on manuaalinen. 65 00:03:14,850 --> 00:03:18,050 Olet menossa on kirjautua se ja suorittaa komentoja ja tyyppi 66 00:03:18,050 --> 00:03:19,910 asioita käsin. 67 00:03:19,910 --> 00:03:23,160 >> Ja kuten tiedämme meidän esimerkiksi PHP ohjelmointi, 68 00:03:23,160 --> 00:03:26,550 ottaa manuaalisesti tehdä asiat sivuillamme, 69 00:03:26,550 --> 00:03:30,970 jos haluamme dynaaminen, aktiivinen reagoiva verkkosivuilla, ehkä ole paras lähestymistapa. 70 00:03:30,970 --> 00:03:33,980 Haluaisimme löytää tapa ehkä automatisoida tämän jotenkin. 71 00:03:33,980 --> 00:03:37,864 Ja SQL voimme tehdä tämän. 72 00:03:37,864 --> 00:03:39,780 Joten kun aiomme aloittaa työskentelyn SQL, 73 00:03:39,780 --> 00:03:41,220 meidän on ensin oltava tietokanta työskennellä. 74 00:03:41,220 --> 00:03:42,510 Luominen tietokanta jotain luultavasti 75 00:03:42,510 --> 00:03:45,350 tekee phpMyAdmin, koska sinun tarvitsee vain tehdä se kerran, 76 00:03:45,350 --> 00:03:49,690 ja syntaksi tehdä niin on paljon yksinkertaisempi. 77 00:03:49,690 --> 00:03:51,940 Se on paljon helpompaa tehdä se in graafinen käyttöliittymä 78 00:03:51,940 --> 00:03:53,520 kuin kirjoittamalla se ulos komentoa. 79 00:03:53,520 --> 00:03:55,186 Komento voi saada hieman hankala. 80 00:03:55,186 --> 00:03:58,889 Samoin luodaan taulukko voi saada varsin vähän hankalaa samoin. 81 00:03:58,889 --> 00:04:01,930 Ja niin asiat kuten luoda tietokanta ja luoda taulukko, joka olet 82 00:04:01,930 --> 00:04:06,270 luultavasti vain aio tehdä once-- kerran pöytä, kerran database-- 83 00:04:06,270 --> 00:04:09,040 se on OK tehdä sen graafinen käyttöliittymä. 84 00:04:09,040 --> 00:04:11,570 Tässä prosessissa luoda taulukko, sinun 85 00:04:11,570 --> 00:04:14,840 on myös määrittävät kaikki sarakkeet, jotka on kyseisessä taulukossa. 86 00:04:14,840 --> 00:04:18,149 Millaisia ​​tietoja do haluat tallentaa taulukon? 87 00:04:18,149 --> 00:04:24,520 Ehkä käyttäjän nimi ja syntymäaika, salasana, käyttäjätunnus numero, ja ehkä 88 00:04:24,520 --> 00:04:26,170 kaupunki ja valtio, eikö? 89 00:04:26,170 --> 00:04:30,080 >> Ja joka kerta haluamme lisätä käyttäjän tietokantaan, haluamme saada kaikki kuusi 90 00:04:30,080 --> 00:04:31,890 niistä paloja tiedot. 91 00:04:31,890 --> 00:04:34,840 Ja teemme sen lisäämällä rivit pöytään. 92 00:04:34,840 --> 00:04:37,800 Joten ensin luoda tietokanta, sitten luoda taulukon. 93 00:04:37,800 --> 00:04:40,100 Osana luomassa pöytä, meiltä kysytään 94 00:04:40,100 --> 00:04:44,280 täsmentää jokainen sarake että haluaisimme tässä taulukossa. 95 00:04:44,280 --> 00:04:47,247 Ja sitten kun alamme lisätä tiedot tietokantaan 96 00:04:47,247 --> 00:04:49,580 ja kyselyn tietokantaan enemmän generally-- ei vain lisäämällä, 97 00:04:49,580 --> 00:04:51,610 mutta kaikki muu me do-- me käsittelemme 98 00:04:51,610 --> 00:04:58,870 riviä taulukossa, joka on yksi käyttäjän tiedot koko joukko. 99 00:04:58,870 --> 00:05:03,210 >> Joten jokainen SQL sarake pystyy jolla tiedot tietyn tietotyypin. 100 00:05:03,210 --> 00:05:06,560 Joten me tavallaan poistanut tämän Ajatus tietotyyppejä PHP, 101 00:05:06,560 --> 00:05:08,747 mutta he ovat tänne SQL. 102 00:05:08,747 --> 00:05:10,080 Ja siellä on paljon tietoa tyyppejä. 103 00:05:10,080 --> 00:05:13,420 Tässä on vain 20 niistä, mutta se ei ole edes niitä kaikkia. 104 00:05:13,420 --> 00:05:16,240 Joten meillä on ajatuksia, kuten INTs-- Integers-- me luultavasti tietää 105 00:05:16,240 --> 00:05:17,760 että tämä sarake mahtuu kokonaislukuja. 106 00:05:17,760 --> 00:05:21,077 Ja on vaihtelua thereon-- SMALLINT, TINYINT, MEDIUMINT, bigint. 107 00:05:21,077 --> 00:05:22,660 Ehkä emme aina tarvitse neljä puree. 108 00:05:22,660 --> 00:05:26,800 Ehkä tarvitsemme kahdeksan tavua, ja niin me voivat käyttää näitä muunnelmia kokonaislukuja 109 00:05:26,800 --> 00:05:28,510 olla hieman enemmän tilaa tehokkaasti. 110 00:05:28,510 --> 00:05:31,899 Voimme tehdä desimaaliluvut, me voi tehdä liukulukuja. 111 00:05:31,899 --> 00:05:32,940 Nämä ovat melko samanlaisia. 112 00:05:32,940 --> 00:05:34,773 On joitakin eroja, ja jos olisit 113 00:05:34,773 --> 00:05:37,330 haluavat etsiä SQL eräänlainen opas, sinua 114 00:05:37,330 --> 00:05:40,670 näet, mitä hieman erot ovat niiden välillä. 115 00:05:40,670 --> 00:05:43,250 >> Ehkä haluamme tallentaa tietoa päivämäärä ja kellonaika. 116 00:05:43,250 --> 00:05:47,047 Ehkä olemme pitää kirjaa kun käyttäjä liittynyt verkkosivuilla, 117 00:05:47,047 --> 00:05:48,880 ja niin ehkä me haluamme on sarake, joka on 118 00:05:48,880 --> 00:05:52,820 päivämäärä aika tai aikaleima, joka ilmaisee kun käyttäjä itse 119 00:05:52,820 --> 00:05:54,130 allekirjoittanut. 120 00:05:54,130 --> 00:05:56,132 Voimme tehdä geometrioita ja linestrings. 121 00:05:56,132 --> 00:05:57,340 Tämä on oikeastaan ​​aika siistiä. 122 00:05:57,340 --> 00:06:01,410 Voisimme kartoittaa maantieteellisellä alueella, käyttämällä 123 00:06:01,410 --> 00:06:05,110 GIS koordinaatit palstoittaa alueella. 124 00:06:05,110 --> 00:06:08,580 Niin voi itse tallentaa tällaista tietojen SQL sarakkeeseen. 125 00:06:08,580 --> 00:06:11,390 >> TEKSTI on vain jättiläinen läiskä tekstiä, ehkä. 126 00:06:11,390 --> 00:06:12,840 Enums ovat sellaisia ​​mielenkiintoisia. 127 00:06:12,840 --> 00:06:16,080 He todella olemassa C. Emme puhua niistä, koska ne eivät ole 128 00:06:16,080 --> 00:06:19,110 kauhean yleisesti käytetty, ainakin CS50. 129 00:06:19,110 --> 00:06:22,680 Mutta se Lueteltujen tietojen tyyppi, joka on pystyttävä pitämään rajoitettu arvoja. 130 00:06:22,680 --> 00:06:25,940 >> Todella hyvä esimerkki tästä olisi luoda ENUM jossa seitsemän 131 00:06:25,940 --> 00:06:29,394 Mahdollisia arvoja ovat sunnuntai, maanantai, Tiistai, keskiviikko, torstai, perjantai, 132 00:06:29,394 --> 00:06:30,060 Lauantai, eikö? 133 00:06:30,060 --> 00:06:33,311 Tämä tietotyyppi päivä Viikko ei ole olemassa, 134 00:06:33,311 --> 00:06:35,310 mutta voisimme luoda luetellut tiedot tyyppiä, 135 00:06:35,310 --> 00:06:39,400 että sarakkeen voi vain pitää yksi niistä seitsemästä mahdollista arvoa. 136 00:06:39,400 --> 00:06:44,300 Olemme lueteltu kaikki mahdollisten arvojen. 137 00:06:44,300 --> 00:06:47,630 >> Sitten meillä on CHAR ja VARCHAR, ja olen väri Vihreiden 138 00:06:47,630 --> 00:06:49,505 koska olemme itse asiassa vie toiseen 139 00:06:49,505 --> 00:06:51,950 puhua ero Näiden kahden asian välillä. 140 00:06:51,950 --> 00:06:55,780 Joten CHAR, toisin kuin C jossa CHAR oli yhden merkin, 141 00:06:55,780 --> 00:07:00,730 SQL CHAR tarkoittaa kiinteä merkkijono. 142 00:07:00,730 --> 00:07:02,620 Ja kun luomme tämän sarake, me oikeastaan 143 00:07:02,620 --> 00:07:05,070 voi määrittää merkkijonon pituus. 144 00:07:05,070 --> 00:07:08,080 >> Joten tässä esimerkissä, voisimme sanoa CHAR (10). 145 00:07:08,080 --> 00:07:11,190 Tämä tarkoittaa sitä, että jokainen osa sarakkeen 146 00:07:11,190 --> 00:07:13,910 koostuu 10 tavua informaatiota. 147 00:07:13,910 --> 00:07:15,770 Ei enempää eikä vähempää. 148 00:07:15,770 --> 00:07:21,780 Joten jos yritämme laittaa 15 bittinen tai 15 merkin elementti 149 00:07:21,780 --> 00:07:25,340 tai arvo tähän sarakkeeseen, me vain saada ensimmäiset 10. 150 00:07:25,340 --> 00:07:27,290 Jos laitamme kaksi merkki pitkä arvo, 151 00:07:27,290 --> 00:07:30,700 aiomme olla kaksi merkkiä, ja sitten kahdeksan null puree. 152 00:07:30,700 --> 00:07:34,990 Emme koskaan olla tehokkaampi kuin. 153 00:07:34,990 --> 00:07:37,727 >> VARCHAR on ikään kuin käsityksemme merkkijono 154 00:07:37,727 --> 00:07:39,560 että olemme tuttuja From C tai PHP. 155 00:07:39,560 --> 00:07:40,830 Se on vaihtuvamittainen merkkijono. 156 00:07:40,830 --> 00:07:42,560 Ja kun luot Tässä kolumnissa juuri 157 00:07:42,560 --> 00:07:44,860 Määritä suurin mahdollinen pituus. 158 00:07:44,860 --> 00:07:49,065 Joten ehkä 99 tai usein 255. 159 00:07:49,065 --> 00:07:50,440 Se olisi pitkä. 160 00:07:50,440 --> 00:07:52,890 Joten jos me tallentamiseen 15 merkkijono, 161 00:07:52,890 --> 00:07:56,157 me käyttäisimme 15 tavua, ehkä 16 tavua null terminaattori. 162 00:07:56,157 --> 00:07:57,990 Jos olimme tallentamiseksi kolme merkkijono, 163 00:07:57,990 --> 00:08:01,120 me käyttäisimme kolme tai neljä tavua. 164 00:08:01,120 --> 00:08:03,050 Mutta emme käytä koko 99. 165 00:08:03,050 --> 00:08:05,190 >> Joten miksi olemme molemmat? 166 00:08:05,190 --> 00:08:08,210 No, jos meidän täytyy selvittää, miten pitkä jotain on kanssa VARCHAR, 167 00:08:08,210 --> 00:08:10,680 meillä on sellaista toistaa poikki sen kuten teimme C 168 00:08:10,680 --> 00:08:12,230 ja selvittää, missä se pysähtyy. 169 00:08:12,230 --> 00:08:15,920 Ottaa huomioon, että jos me tiedämme, että kaiken Tässä sarakkeessa on 10 tavua, ehkä 170 00:08:15,920 --> 00:08:19,220 me tiedämme, että tiedot, voimme hypätä 10 tavua, 10 tavua, 10 tavua, 10 tavua, 171 00:08:19,220 --> 00:08:21,790 ja aina löytää merkkijonon alusta lukien. 172 00:08:21,790 --> 00:08:25,210 >> Joten meillä voi olla joitakin hukkaan tilaa CHAR, 173 00:08:25,210 --> 00:08:28,510 mutta ehkä siellä on kauppa pois ottaa entistä nopeammin 174 00:08:28,510 --> 00:08:30,160 navigoinnin tietokantaan. 175 00:08:30,160 --> 00:08:32,330 Mutta ehkä me haluamme joustavuus VARCHAR 176 00:08:32,330 --> 00:08:36,710 sijasta having-- Jos meidän CHAR oli 255, mutta useimmat käyttäjät 177 00:08:36,710 --> 00:08:40,537 vasta syöttämällä kolme tai neljä tavua arvoinen tietoja tai kolme tai neljä 178 00:08:40,537 --> 00:08:41,870 merkkiä arvoinen tietoa. 179 00:08:41,870 --> 00:08:44,324 >> Mutta jotkut käyttäjät käyttivät koko 255, ehkä 180 00:08:44,324 --> 00:08:45,990 VARCHAR olisi sopivampi siellä. 181 00:08:45,990 --> 00:08:49,840 Se on eräänlainen vaihtokauppa, ja yleensä varten CS50, 182 00:08:49,840 --> 00:08:54,107 sinun ei tarvitse huolehtia liikaa onko käytät CHAR tai VARCHAR. 183 00:08:54,107 --> 00:08:57,190 Mutta todellisessa maailmassa, nämä asiat ei merkitystä, koska kaikki nämä sarakkeet 184 00:08:57,190 --> 00:08:59,300 vievät varsinaista fyysistä tilaa. 185 00:08:59,300 --> 00:09:04,150 Ja fyysinen tila, vuonna todellisessa maailmassa, tulee arvossaan. 186 00:09:04,150 --> 00:09:06,800 >> Joten muuta vastiketta kun olet rakentamassa pöytä 187 00:09:06,800 --> 00:09:09,840 on valita yksi sarake olla mitä kutsutaan perusavain. 188 00:09:09,840 --> 00:09:14,350 Ja perusavain on sarake jossa jokainen yksittäinen arvo on ainutlaatuinen. 189 00:09:14,350 --> 00:09:19,980 Ja se tarkoittaa, että voit helposti poimia yhden rivin vain katsomalla 190 00:09:19,980 --> 00:09:22,450 klo perusavain rivin. 191 00:09:22,450 --> 00:09:24,580 Niinpä esimerkiksi, voit yleensä, käyttäjien kanssa, 192 00:09:24,580 --> 00:09:27,210 halua kaksi käyttäjää, jotka on sama käyttäjätunnus numero. 193 00:09:27,210 --> 00:09:28,960 Ja niin ehkä sinulla on paljon tietoa, 194 00:09:28,960 --> 00:09:30,793 ja ehkä kaksi käyttäjät voivat on sama name-- 195 00:09:30,793 --> 00:09:32,650 sinulla on John Smith ja John Smith. 196 00:09:32,650 --> 00:09:34,520 Se ei välttämättä ole ongelma, koska on olemassa useita ihmisiä 197 00:09:34,520 --> 00:09:35,830 maailmassa nimeltä John Smith. 198 00:09:35,830 --> 00:09:40,766 Mutta meillä on vain yksi käyttäjätunnus numero 10, yksi käyttäjä ID-numero 11, 12, 13. 199 00:09:40,766 --> 00:09:42,640 Meillä ei ole kaksi käyttäjää joissa on sama määrä, 200 00:09:42,640 --> 00:09:46,010 ja niin ehkä käyttäjätunnus numerot olisi hyvä ensisijainen avain. 201 00:09:46,010 --> 00:09:48,610 >> Meillä ei ole mitään päällekkäisyyksiä, ja voimme nyt ainutlaatuisen 202 00:09:48,610 --> 00:09:52,619 tunnistaa jokainen rivi vain katsomalla sarakkeen. 203 00:09:52,619 --> 00:09:55,410 Valitsemalla ensisijaisia ​​avaimia voi itse tehdä myöhemmin taulukko toimintaa 204 00:09:55,410 --> 00:09:59,710 paljon helpompaa, koska voit hyödyntää että tietyt rivit 205 00:09:59,710 --> 00:10:02,720 olla ainutlaatuinen, tai tietty sarake tietokannan tai taulukon 206 00:10:02,720 --> 00:10:06,030 on ainutlaatuinen poimia ulos erityisesti rivejä. 207 00:10:06,030 --> 00:10:08,790 >> Voit myös yhteinen ensisijainen avain, joka saatat löytää tilaisuus 208 00:10:08,790 --> 00:10:11,720 käyttää, joka on vain kahden sarakkeiden 209 00:10:11,720 --> 00:10:13,280 on taatusti ainutlaatuinen. 210 00:10:13,280 --> 00:10:16,410 Joten ehkä sinulla on yksi sarake joka on yhtä ja B, 211 00:10:16,410 --> 00:10:19,290 yksi sarake, joka on yksi, kaksi, ja kolme, mutta sinun vain koskaan 212 00:10:19,290 --> 00:10:23,660 on yksi A1, yksi A2, ja niin edelleen, ja niin edelleen. 213 00:10:23,660 --> 00:10:28,980 Mutta saatat olla B2, C2, tai A1, A2, A3, A4. 214 00:10:28,980 --> 00:10:32,840 Joten saatat olla useita Kuten, useita BS, useita niitä, useita kaksittain, 215 00:10:32,840 --> 00:10:38,567 mutta voit vain koskaan yhden A1, B2, C3, ja niin edelleen. 216 00:10:38,567 --> 00:10:40,400 Joten kuten sanoin, SQL on ohjelmointikieli, 217 00:10:40,400 --> 00:10:42,024 mutta se on melko rajoitettu sanastoa. 218 00:10:42,024 --> 00:10:44,880 Se ei ole aivan yhtä laaja kuin C ja PHP ja muita kieliä 219 00:10:44,880 --> 00:10:46,350 että puhumme aikana. 220 00:10:46,350 --> 00:10:49,960 Se on enemmän monisanainen kieli kuin mitä olemme 221 00:10:49,960 --> 00:10:52,789 aio puhua tässä video, koska tämä video 222 00:10:52,789 --> 00:10:54,830 aiomme puhua neljä toimintaa että me 223 00:10:54,830 --> 00:10:55,720 voi suorittaa pöydälle. 224 00:10:55,720 --> 00:10:56,761 >> On enemmän kuin tämä. 225 00:10:56,761 --> 00:10:58,730 Voimme tehdä enemmän kuin tämä, mutta meidän tarkoituksiin, 226 00:10:58,730 --> 00:11:02,250 me yleensä aio käyttää vain neljä operations-- insert, 227 00:11:02,250 --> 00:11:05,360 Valitse, päivittää ja poistaa. 228 00:11:05,360 --> 00:11:08,750 Ja voit todennäköisesti intuitiivisesti arvata mitä kaikki neljä näistä asioista tehdä. 229 00:11:08,750 --> 00:11:12,520 Mutta me mennä vähän yksityiskohtien kullakin yksi. 230 00:11:12,520 --> 00:11:15,780 >> Joten tätä video Oletetaan 231 00:11:15,780 --> 00:11:18,870 Meillä on seuraavat kaksi taulukot yhteen tietokantaan. 232 00:11:18,870 --> 00:11:23,460 Meillä on taulukko nimeltä Käyttäjiä, jotka on neljä columns-- henkilötunnus, käyttäjätunnus, 233 00:11:23,460 --> 00:11:25,350 salasana, ja täydellinen nimi. 234 00:11:25,350 --> 00:11:27,430 Ja meillä on toinen taulukon samaan tietokantaan 235 00:11:27,430 --> 00:11:32,129 nimeltään Moms että vain tallentaa tiedot noin käyttäjätunnuksen ja äiti. 236 00:11:32,129 --> 00:11:33,920 Niin kaikkien esimerkkien Tässä video, käymme 237 00:11:33,920 --> 00:11:37,945 käyttää tätä tietokantaa ja myöhemmät päivitykset sitä. 238 00:11:37,945 --> 00:11:40,070 Joten sanoa haluamme lisätä tietoja taulukkoon. 239 00:11:40,070 --> 00:11:44,460 Sitähän lisäystoimenpide tekee. 240 00:11:44,460 --> 00:11:46,550 Selitetä kaikkia nämä komennot, aion 241 00:11:46,550 --> 00:11:48,860 antaa sinulle yleinen luuranko käyttää. 242 00:11:48,860 --> 00:11:51,661 Koska pohjimmiltaan, kyselyt menossa näyttävät melko samanlaisia, 243 00:11:51,661 --> 00:11:54,660 olemme juuri menossa muuttuvan hieman eri palaset tiedot 244 00:11:54,660 --> 00:11:56,750 tehdä eri asioita pöytä. 245 00:11:56,750 --> 00:11:59,200 >> Joten INSERT, luuranko näyttää ikään kuin tämä. 246 00:11:59,200 --> 00:12:02,230 Haluamme lisätä osaksi erityisesti taulukko. 247 00:12:02,230 --> 00:12:05,290 Sitten meillä on sulkumerkin ja sarakeluettelon 248 00:12:05,290 --> 00:12:08,070 että haluamme asettaa arvot. 249 00:12:08,070 --> 00:12:10,974 Sulje sulkuja, Seuraavat arvot, ja sitten 250 00:12:10,974 --> 00:12:13,390 jälleen, me luetella arvot haluamme laittaa pöytään. 251 00:12:13,390 --> 00:12:15,950 >> Niin esimerkki tästä olisi seuraava. 252 00:12:15,950 --> 00:12:19,170 Haluan lisätä taulukkoon käyttäjät seuraavat columns-- 253 00:12:19,170 --> 00:12:21,010 käyttäjätunnus, salasana, ja fullname. 254 00:12:21,010 --> 00:12:25,282 Joten uusi rivi, jossa Laitan näissä kolme saraketta ja olemme 255 00:12:25,282 --> 00:12:30,030 menossa laittaa arvot Newman, USMAIL, ja Newman. 256 00:12:30,030 --> 00:12:32,730 Joten tässä tapauksessa, olen laskemisesta pieniä Newman 257 00:12:32,730 --> 00:12:38,710 osaksi käyttäjätunnus sarakkeessa salasana USMAIL, ja koko nimi pääkaupunki N 258 00:12:38,710 --> 00:12:41,940 Newman osaksi fullname sarakkeeseen. 259 00:12:41,940 --> 00:12:44,240 >> Joten tässä mitä tietokanta näytti ennen. 260 00:12:44,240 --> 00:12:48,250 Tässä mitä käyttäjät taulukko alkuun näytti ennen teimme tämän. 261 00:12:48,250 --> 00:12:50,760 Kun me suorittaa tämän kysely, saamme tämän. 262 00:12:50,760 --> 00:12:54,790 Olemme lisänneet uuden rivin taulukkoon. 263 00:12:54,790 --> 00:12:56,810 Mutta huomaa tämä yksi asia että en täsmentää, 264 00:12:56,810 --> 00:12:59,880 mutta jotenkin minulla arvo varten, joka on tämä 12 täällä. 265 00:12:59,880 --> 00:13:02,820 En sanonut halusin laittaa tunnus siellä. 266 00:13:02,820 --> 00:13:04,900 Halusin laittaa käyttäjätunnus, salasana, fullname. 267 00:13:04,900 --> 00:13:06,440 Ja tein, että se käy hyvin. 268 00:13:06,440 --> 00:13:07,760 >> Mutta olen myös saanut tämän 12. 269 00:13:07,760 --> 00:13:09,490 Miksi saan tämän 12? 270 00:13:09,490 --> 00:13:12,904 No, käy ilmi, että kun olet määrittämässä 271 00:13:12,904 --> 00:13:15,570 sarake tulee olemaan teidän perusavain, joka on yleensä, 272 00:13:15,570 --> 00:13:16,510 kuten sanoin, ID-numero. 273 00:13:16,510 --> 00:13:18,718 Se ei ole aina välttämättä olemaan henkilötunnus, 274 00:13:18,718 --> 00:13:22,380 mutta se on yleensä hyvä idea jonkinlainen kokonaisluku. 275 00:13:22,380 --> 00:13:25,950 Sinulla on mahdollisuus phpMyAdmin kun luot tietokannan 276 00:13:25,950 --> 00:13:31,130 tai taulukon asettaa että sarake kuin auto kasvavalla. 277 00:13:31,130 --> 00:13:34,520 >> Joka on todella hyvä idea, kun olet työskennellyt perusavain, 278 00:13:34,520 --> 00:13:39,330 koska haluat jokainen arvo tähän sarakkeeseen on ainutlaatuinen. 279 00:13:39,330 --> 00:13:43,310 Ja jos unohdat määrittää se enemmän kuin yksi henkilö, 280 00:13:43,310 --> 00:13:46,240 sinulla on nyt tilanteessa, jossa sarakkeen ei ole enää ainutlaatuinen. 281 00:13:46,240 --> 00:13:50,200 Sinulla on kaksi aihioita, joten voit ei enää yksilöimään column-- 282 00:13:50,200 --> 00:13:54,150 tai et voi enää yksilöllisesti tunnistaa rivi perustuu tähän sarakkeeseen. 283 00:13:54,150 --> 00:13:57,010 Se on menettänyt kaikki sen arvon perusavain. 284 00:13:57,010 --> 00:14:02,010 >> Ja niin ilmeisesti mitä olen tehnyt täällä on määritetty käyttäjätunnus 285 00:14:02,010 --> 00:14:07,790 sarake auto lisäys niin, että jokainen kerta lisätä tietoja taulukkoon, 286 00:14:07,790 --> 00:14:12,220 se automaattisesti antaa minulle arvo perusavain. 287 00:14:12,220 --> 00:14:15,570 Joten en voi koskaan unohtaa tehdä sen, koska tietokanta tekee sen minulle. 288 00:14:15,570 --> 00:14:16,587 Niin, että on tavallaan mukavaa. 289 00:14:16,587 --> 00:14:18,670 Ja niin siksi saamme 12 siellä, koska olen 290 00:14:18,670 --> 00:14:21,772 perustaa sarakkeen jopa auto lisäys. 291 00:14:21,772 --> 00:14:23,730 Jos Lisäsin joku muu se halua olla 13, jos olen lisännyt 292 00:14:23,730 --> 00:14:27,890 joku muu se olis 14, ja niin edelleen. 293 00:14:27,890 --> 00:14:30,190 >> Joten vain tehdä yksi lisäys. 294 00:14:30,190 --> 00:14:34,530 Me työnnä äitejä pöytä, vuonna Erityisesti käyttäjätunnus ja äiti 295 00:14:34,530 --> 00:14:37,390 sarakkeen arvot Kramer ja Babs Kramer. 296 00:14:37,390 --> 00:14:39,140 Ja niin meillä oli ennen. 297 00:14:39,140 --> 00:14:41,800 Kun olemme suorittaa että SQL, meillä on tämä. 298 00:14:41,800 --> 00:14:47,290 Olemme lisänneet Kramer ja Babs Kramer äidit taulukon. 299 00:14:47,290 --> 00:14:48,350 >> Niin, että lisäämällä. 300 00:14:48,350 --> 00:14:51,850 Select on mitä käytämme purkaa tiedot taulukosta. 301 00:14:51,850 --> 00:14:54,390 Joten tämä on, miten saamme tietoa ulos tietokannasta. 302 00:14:54,390 --> 00:14:59,589 Ja joten valitse komennot tulevat olemaan hyvin usein käytetty ohjelmoinnissa. 303 00:14:59,589 --> 00:15:02,130 Yleinen framework-- yleinen luuranko näyttää tältä. 304 00:15:02,130 --> 00:15:06,550 Valitse sarakkeet alkaen pöytä, ja sitten mahdollisesti 305 00:15:06,550 --> 00:15:11,090 voit määrittää condition-- tai mitä me yleensä kutsumme predikaatti, 306 00:15:11,090 --> 00:15:13,010 on yleensä termi käytämme SQL. 307 00:15:13,010 --> 00:15:16,490 >> Mutta se on pohjimmiltaan mitä erityisesti rivien haluat saada. 308 00:15:16,490 --> 00:15:19,100 Jos haluat, sen sijaan saada kaikki, kaventaa sitä, 309 00:15:19,100 --> 00:15:20,060 tämä on missä haluaisit tehdä. 310 00:15:20,060 --> 00:15:22,777 Ja sitten mahdollisesti, voit myös tilata tietyn sarakkeen. 311 00:15:22,777 --> 00:15:25,860 Joten ehkä haluat olla asioita lajitellaan aakkosjärjestyksessä perustuu yksi sarake 312 00:15:25,860 --> 00:15:27,540 tai aakkosjärjestyksessä perustui toiseen. 313 00:15:27,540 --> 00:15:30,610 >> Jälleen missä ja ORDER BY ovat valinnaisia. 314 00:15:30,610 --> 00:15:32,681 Mutta he todennäköisesti useful-- erityisesti 315 00:15:32,681 --> 00:15:34,680 MISSÄ on hyötyä kaventamaan niin et 316 00:15:34,680 --> 00:15:37,460 saada koko tietokanta takaisin ja täytyy käsitellä sitä, voit vain saada 317 00:15:37,460 --> 00:15:39,300 osia siitä, että välität. 318 00:15:39,300 --> 00:15:44,932 Niinpä esimerkiksi, saatan haluta valita Henkilötunnus ja fullname käyttäjiltä. 319 00:15:44,932 --> 00:15:46,140 Joten mitä tämä voisi näyttää? 320 00:15:46,140 --> 00:15:48,270 Joten tässä on minun käyttäjille pöytä. 321 00:15:48,270 --> 00:15:51,080 Haluan valita idnum ja FULLNAME käyttäjiltä. 322 00:15:51,080 --> 00:15:52,300 Mitä minä saada? 323 00:15:52,300 --> 00:15:53,580 Aion saada tämän. 324 00:15:53,580 --> 00:15:56,930 En kapea se alas, joten olen saada tunnus jokaiselle riville 325 00:15:56,930 --> 00:16:00,850 ja Saan koko nimetä jokaisesta krs. 326 00:16:00,850 --> 00:16:02,210 >> OK. 327 00:16:02,210 --> 00:16:05,640 Mitä jos haluan valita salasana käyttäjiltä WHERE-- niin nyt 328 00:16:05,640 --> 00:16:10,370 Olen lisäämällä ehto, predicate-- jossa idnum on alle 12. 329 00:16:10,370 --> 00:16:13,660 Joten tässä on minun tietokanta uudelleen, minun käyttäjät taulukko alkuun. 330 00:16:13,660 --> 00:16:17,030 Mitä minä saada jos haluan Valitse että tiedot, salasana, 331 00:16:17,030 --> 00:16:21,550 jossa käyttäjätunnus tai idnum on alle 12? 332 00:16:21,550 --> 00:16:24,910 Aion saada tämän tiedot takaisin, eikö? 333 00:16:24,910 --> 00:16:29,170 Se tapahtuu niin, että idnum on 10, vähemmän kuin 12, ID numero 11 vähemmän kuin 12. 334 00:16:29,170 --> 00:16:32,160 Saan salasana niille riviä. 335 00:16:32,160 --> 00:16:33,914 Se mitä pyysin. 336 00:16:33,914 --> 00:16:34,580 Entä tämä? 337 00:16:34,580 --> 00:16:39,170 Mitä jos haluan valita tähti Moms taulukko jossa käyttäjätunnus on sama kuin Jerry? 338 00:16:39,170 --> 00:16:43,780 OK, valitse tähti on erityinen eräänlainen villi kortti ns 339 00:16:43,780 --> 00:16:45,670 että käytämme saada kaikki. 340 00:16:45,670 --> 00:16:48,620 Niin he sanovat valitse käyttäjätunnus pilkku äiti, joka 341 00:16:48,620 --> 00:16:51,060 sattui olemaan ainoa kaksi saraketta Tämän taulukon, 342 00:16:51,060 --> 00:16:53,260 Voin vain valita tähti ja saada kaikki 343 00:16:53,260 --> 00:16:55,030 jossa käyttäjätunnus on sama kuin Jerry. 344 00:16:55,030 --> 00:16:59,380 Ja niin se mitä haluan saada jos tein että kyselyssä. 345 00:16:59,380 --> 00:17:01,810 >> Nyt, tietokannat ovat suuri, koska ne mahdollistavat 346 00:17:01,810 --> 00:17:06,074 voimme järjestää tietoja ehkä hieman tehokkaammin kuin me 347 00:17:06,074 --> 00:17:06,740 muuten. 348 00:17:06,740 --> 00:17:10,240 Emme välttämättä tallentaa kaikkia asiaan tieto 349 00:17:10,240 --> 00:17:12,230 noin käyttäjä samassa taulukossa. 350 00:17:12,230 --> 00:17:13,730 Meillä oli kaksi pöytää siellä. 351 00:17:13,730 --> 00:17:15,734 >> Meidän täytyy tallentaa kaikkien äidin nimi, 352 00:17:15,734 --> 00:17:18,900 ja ehkä meillä ei ole sosiaaliturva numero, meillä on syntymäaika. 353 00:17:18,900 --> 00:17:21,819 Tämä ei aina tarvitse olla samassa pöydässä. 354 00:17:21,819 --> 00:17:25,339 Niin kauan kuin voimme määritellä väliset suhteet tables-- 355 00:17:25,339 --> 00:17:28,440 ja se on silloin, että relaatio tietokanta aikavälin sellainen tulee 356 00:17:28,440 --> 00:17:32,130 osaksi play-- niin kauan kuin voimme määritellä väliset suhteet taulukoiden, 357 00:17:32,130 --> 00:17:35,545 voimme tavallaan lokeroida tai abstrakteja asioita tavalla, 358 00:17:35,545 --> 00:17:37,670 jossa meillä on vain todella tärkeitä tietoja 359 00:17:37,670 --> 00:17:39,270 välitämme käyttäjän taulukko. 360 00:17:39,270 --> 00:17:43,220 Ja sitten meillä on sivuinformaation tai ylimääräisiä tietoja muiden taulukoiden 361 00:17:43,220 --> 00:17:48,260 että voimme liittää takaisin tärkein käyttäjät taulukko tietyllä tavalla. 362 00:17:48,260 --> 00:17:52,200 >> Joten tässä meillä on nämä kaksi pöytää, mutta siellä on suhde toisiinsa, 363 00:17:52,200 --> 00:17:53,010 oikea? 364 00:17:53,010 --> 00:17:55,070 Tuntuu siltä käyttäjätunnus saattaa olla jotain 365 00:17:55,070 --> 00:17:59,909 että on olemassa yhteinen välillä nämä kaksi eri pöydissä. 366 00:17:59,909 --> 00:18:01,700 Joten mitä jos meillä on nyt tilanteessa, jossa 367 00:18:01,700 --> 00:18:06,046 haluat saada käyttäjän koko nimen käyttäjän pöytä, ja heidän äitinsä 368 00:18:06,046 --> 00:18:07,170 nimi äidiltä taulukosta? 369 00:18:07,170 --> 00:18:10,960 Meillä ei ole tapa saada että sellaisenaan, eikö? 370 00:18:10,960 --> 00:18:17,790 Ei ole yhden pöydän, joka sisältää sekä täydellinen nimi ja äidin nimi. 371 00:18:17,790 --> 00:18:20,400 Meillä ei ole tätä mahdollisuutta mitä olemme nähneet tähän mennessä. 372 00:18:20,400 --> 00:18:22,950 >> Ja niin meillä on esitellä ajatus liittyä. 373 00:18:22,950 --> 00:18:24,857 Ja liittyy luultavasti kaikkein complex-- 374 00:18:24,857 --> 00:18:27,940 se on todella kaikkein monimutkainen operaatio aiomme puhua video. 375 00:18:27,940 --> 00:18:30,040 He hieman monimutkainen, mutta kun saat roikkua sitä, 376 00:18:30,040 --> 00:18:31,248 he oikeastaan ​​ole liian huono. 377 00:18:31,248 --> 00:18:32,820 Se on vain erikoistapaus SELECT. 378 00:18:32,820 --> 00:18:37,120 Aiomme valita joukko sarakkeita taulukon liittyä 379 00:18:37,120 --> 00:18:40,650 toisessa taulukossa joitakin predikaatin. 380 00:18:40,650 --> 00:18:45,340 >> Tässä tapauksessa, mieti sitä pidä this-- pöytä yksi on yksi ympyrä täällä, 381 00:18:45,340 --> 00:18:47,530 pöytä kaksi on toinen ympyrä täällä. 382 00:18:47,530 --> 00:18:49,410 Ja että predikaatti osa keskellä, se on 383 00:18:49,410 --> 00:18:51,701 tavallaan kuin jos luulet suunnilleen yhtä Venn-kaavio, mitä 384 00:18:51,701 --> 00:18:52,670 heillä on yhteistä? 385 00:18:52,670 --> 00:18:55,960 Haluamme yhdistää nämä kaksi pöytää perusteella, mitä heillä on yhteistä 386 00:18:55,960 --> 00:19:01,230 ja luoda tätä hypoteettinen taulukko että on sulautuminen kaksi yhdessä. 387 00:19:01,230 --> 00:19:03,480 Joten näemme tämän Esimerkiksi ja ehkä että autamme 388 00:19:03,480 --> 00:19:04,521 poista sitä hieman. 389 00:19:04,521 --> 00:19:09,260 Joten ehkä haluat valita user.fullname ja moms.mother 390 00:19:09,260 --> 00:19:13,220 käyttäjiltä liittymällä Moms taulukko joka tilanteessa 391 00:19:13,220 --> 00:19:16,790 jossa käyttäjätunnus sarake on sama niiden välillä. 392 00:19:16,790 --> 00:19:19,240 Ja tämä on uusi lauseopillista täällä, tämän käyttäjän. 393 00:19:19,240 --> 00:19:20,460 ja äidit .. 394 00:19:20,460 --> 00:19:26,697 Jos olen tekemässä useita taulukoita yhdessä, voin määrittää pöytä. 395 00:19:26,697 --> 00:19:29,530 Voin erottaa erityisesti että alareunassa siellä. 396 00:19:29,530 --> 00:19:33,220 Voin erottaa käyttäjätunnus sarakkeessa käyttäjien taulukon 397 00:19:33,220 --> 00:19:36,010 alkaen käyttäjätunnus sarakkeessa äidit pöytä, jotka ovat otherwise-- 398 00:19:36,010 --> 00:19:38,070 jos me vain sanoi käyttäjätunnuksen vastaa käyttäjänimi, joka ei oikeastaan 399 00:19:38,070 --> 00:19:38,970 merkitse mitään. 400 00:19:38,970 --> 00:19:41,440 Haluamme tehdä sen missä he vastaavat. 401 00:19:41,440 --> 00:19:46,080 >> Joten en voi määrittää taulukon ja sarakkeen nimi, jos tilanne 402 00:19:46,080 --> 00:19:48,370 jos se jäisi epäselväksi mitä puhun. 403 00:19:48,370 --> 00:19:51,880 Niin, että kaikki mitä teen on minä olen sanomalla tämä sarake tästä taulukosta, 404 00:19:51,880 --> 00:19:54,020 ja on hyvin selkeä. 405 00:19:54,020 --> 00:19:56,810 Joten jälleen, olen valitsemalla täydellinen nimi ja äidin nimi 406 00:19:56,810 --> 00:20:00,950 käyttäjiltä taulukosta toisiinsa kanssa äidit taulukon joka tilanteessa 407 00:20:00,950 --> 00:20:05,960 jos he jakavat että column-- niillä että käyttäjätunnuksesi käsite. 408 00:20:05,960 --> 00:20:08,580 >> Joten tässä ovat taulukoita meillä oli ennen. 409 00:20:08,580 --> 00:20:12,210 Tämä on hetkisiin tietokanta sellaisena kuin se on nyt. 410 00:20:12,210 --> 00:20:16,390 Tiedot olemme talteen on tämä aloittaa. 411 00:20:16,390 --> 00:20:19,820 Tämä on uusi taulukko aiomme luoda yhdistämällä nämä yhdessä. 412 00:20:19,820 --> 00:20:23,585 Ja huomaa emme korostamalla Newmanin rivi käyttäjän taulukko, 413 00:20:23,585 --> 00:20:25,960 ja emme korostamalla Kramerin rivin äidit taulukon 414 00:20:25,960 --> 00:20:31,250 koska kumpikaan olemassa molemmat sets-- molemmissa taulukoissa. 415 00:20:31,250 --> 00:20:36,260 >> Ainoa tieto, joka on yhteinen niiden välillä on Jerry on molemmissa taulukoissa 416 00:20:36,260 --> 00:20:39,100 ja gcostanza on molemmissa taulukoissa. 417 00:20:39,100 --> 00:20:42,620 Ja niin kun me teemme SQL liittyä, mitä me get-- ja me teemme todella saada tämän. 418 00:20:42,620 --> 00:20:44,830 Se on eräänlainen väliaikainen muuttuja. 419 00:20:44,830 --> 00:20:47,330 Se on kuin hypoteettinen sulautuminen kaksi taulukkoa. 420 00:20:47,330 --> 00:20:49,930 Me itse saada jotain näin, jos 421 00:20:49,930 --> 00:20:54,730 olemme yhdistettiin taulukot tiedot, joita niillä on yhteistä. 422 00:20:54,730 --> 00:20:58,334 >> Niin huomaa, että users.username ja moms.username sarake, 423 00:20:58,334 --> 00:20:59,250 se on täsmälleen sama. 424 00:20:59,250 --> 00:21:01,820 Se oli tietoa, oli yhdenmukainen käyttäjiltä 425 00:21:01,820 --> 00:21:02,890 pöytä ja äidit pöytä. 426 00:21:02,890 --> 00:21:04,270 Ja niin yhdistimme ne yhteen. 427 00:21:04,270 --> 00:21:06,919 Me hävittää Kramer, koska hän ei ole olemassa käyttäjille taulukossa, 428 00:21:06,919 --> 00:21:09,710 ja me hävittää Newman, koska hän ei ollut olemassa äidit taulukossa. 429 00:21:09,710 --> 00:21:16,450 Joten tämä on hypoteettinen sulautumisen käyttämällä JOIN toiminta SELECT. 430 00:21:16,450 --> 00:21:21,250 >> Ja sitten etsimme käyttäjän koko nimi ja käyttäjän äiti, 431 00:21:21,250 --> 00:21:24,999 ja niin tämä on tieto, että saisimme yleisestä kyselyn 432 00:21:24,999 --> 00:21:26,040 että teimme kanssa SELECT. 433 00:21:26,040 --> 00:21:28,873 Joten liityimme taulukot yhteen ja poimimamme nuo kaksi saraketta, 434 00:21:28,873 --> 00:21:31,610 ja niin sitähän saisimme. 435 00:21:31,610 --> 00:21:33,370 Mutta SQL Liitosten eräänlainen monimutkainen. 436 00:21:33,370 --> 00:21:36,770 Luultavasti ei tee niitä liian paljon, mutta vain on jonkinlainen käsitys siitä luuranko 437 00:21:36,770 --> 00:21:41,992 että voit käyttää yhdistää kaksi taulukoita yhteen jos tarvitaan. 438 00:21:41,992 --> 00:21:43,700 Kaksi viimeistä ovat hieman yksinkertaisempi Lupaan. 439 00:21:43,700 --> 00:21:48,040 Joten päivittäminen, voimme käyttää UPDATE muuttaa tietoja taulukon. 440 00:21:48,040 --> 00:21:53,880 Yleinen muoto on saattaa eräät pöytä, SET jotkut sarakkeen jotain arvoa 441 00:21:53,880 --> 00:21:55,540 Jossa jotkut predikaatti täyttyy. 442 00:21:55,540 --> 00:21:57,850 Niinpä esimerkiksi, saatamme haluta päivittää käyttäjille taulukko 443 00:21:57,850 --> 00:22:04,400 ja asettaa salasanan Yada Yada, jossa tunnus on 10. 444 00:22:04,400 --> 00:22:06,400 >> Joten tässä tapauksessa, olemme päivittää käyttäjille pöydän. 445 00:22:06,400 --> 00:22:08,275 ID numero on 10 että ensimmäinen rivi siellä, 446 00:22:08,275 --> 00:22:10,690 ja haluamme päivittää salasana yada yada. 447 00:22:10,690 --> 00:22:12,170 Ja niin se mitä tapahtuisi. 448 00:22:12,170 --> 00:22:13,628 Se on melko yksinkertainen, eikö? 449 00:22:13,628 --> 00:22:17,990 Se on vain hyvin yksinkertainen muutos pöytään. 450 00:22:17,990 --> 00:22:22,250 >> DELETE on toimintaa käytimme poistaa tietoja taulukosta. 451 00:22:22,250 --> 00:22:24,817 Poista taulukko WHERE jotkut predikaatti täyttyy. 452 00:22:24,817 --> 00:22:26,900 Haluamme poistaa käyttäjät pöytä esimerkiksi 453 00:22:26,900 --> 00:22:28,254 jossa käyttäjätunnus on Newman. 454 00:22:28,254 --> 00:22:31,420 Arvata mitä tulee tapahdu täällä jälkeen toteutamme että SQL 455 00:22:31,420 --> 00:22:35,790 kysely, Newman on mennyt taulukosta. 456 00:22:35,790 --> 00:22:40,460 >> Joten kaikki nämä toiminnot, kuten olen sanonut, ovat erittäin helppo tehdä phpMyAdmin. 457 00:22:40,460 --> 00:22:43,020 Se on erittäin käyttäjäystävällinen käyttöliittymä. 458 00:22:43,020 --> 00:22:45,930 Mutta se ei vaadi manuaalista työtä. 459 00:22:45,930 --> 00:22:47,840 Emme halua palkata manuaalista työtä. 460 00:22:47,840 --> 00:22:51,280 Haluamme ohjelmia tehdä tämän meille, eikö? 461 00:22:51,280 --> 00:22:53,190 Joten saatamme haluta tehdä tämä ohjelmallisesti. 462 00:22:53,190 --> 00:22:56,410 Haluamme sisällyttää SQL ja olla jotain muuta tekemistä tämän meille. 463 00:22:56,410 --> 00:23:02,710 >> Mutta mitä olemme nähneet, jonka avulla meitä ohjelmallisesti tehdä jotain? 464 00:23:02,710 --> 00:23:03,690 Olemme nähneet PHP, eikö? 465 00:23:03,690 --> 00:23:05,760 Se sisältää joitakin dynaamisuutta meidän ohjelmia. 466 00:23:05,760 --> 00:23:10,430 Ja niin onneksi SQL ja PHP pelata hienosti yhteen. 467 00:23:10,430 --> 00:23:13,230 On toiminto PHP nimeltään kysely, jota voidaan käyttää. 468 00:23:13,230 --> 00:23:15,870 Ja voit kulkea kuten parametri tai argumentti 469 00:23:15,870 --> 00:23:19,210 kyselyn SQL-kysely, joka haluaisit toteuttaa. 470 00:23:19,210 --> 00:23:23,250 Ja PHP tekee sen puolestasi. 471 00:23:23,250 --> 00:23:25,564 >> Joten kun olet liittänyt tietokantaan PHP, 472 00:23:25,564 --> 00:23:26,980 siellä on kaksi esivaaleissa teet tämän. 473 00:23:26,980 --> 00:23:29,230 Siinä on jotain kutsutaan mysqli ja jotain kutsutaan SAN. 474 00:23:29,230 --> 00:23:31,063 Emme aio mennä valtava määrä yksityiskohta siellä. 475 00:23:31,063 --> 00:23:32,957 Vuonna CS50 käytämme SAN. 476 00:23:32,957 --> 00:23:34,790 Kun olet liittänyt tietokantaan, sinun 477 00:23:34,790 --> 00:23:40,980 voi sitten tehdä kyselyjä tietokantaan johtamalla kyselyt argumentteina 478 00:23:40,980 --> 00:23:42,730 PHP toimintoja. 479 00:23:42,730 --> 00:23:46,460 Ja kun teet, voit tallentaa tulos asetettu tällainen taulukko. 480 00:23:46,460 --> 00:23:50,290 >> Ja me tiedämme, miten työskennellä assosiatiiviset taulukot PHP. 481 00:23:50,290 --> 00:23:52,630 Joten voisin sanoa jotain kuten this-- $ results-- 482 00:23:52,630 --> 00:23:55,470 tämä on PHP-- vastaa kyselyn. 483 00:23:55,470 --> 00:23:57,660 Ja sitten sisällä hakutoiminto että argumentti 484 00:23:57,660 --> 00:24:00,130 että olen ohimennen kyselyn joka näyttää SQL. 485 00:24:00,130 --> 00:24:01,160 Ja itse asiassa, että on SQL. 486 00:24:01,160 --> 00:24:05,700 Se kyselymerkkijonossa että olisin haluavat toteuttaa minun tietokantaan. 487 00:24:05,700 --> 00:24:09,250 >> Ja niin punainen, tämä on PHP. 488 00:24:09,250 --> 00:24:11,890 Tämä on SQL että olen integroitumaan PHP tekemällä 489 00:24:11,890 --> 00:24:15,020 se argumentti hakutoiminto. 490 00:24:15,020 --> 00:24:19,640 Haluan valita fullname alkaen käyttäjät jossa tunnus on 10. 491 00:24:19,640 --> 00:24:22,560 Ja sitten ehkä kun olen tehnyt, että Voisin sanoa jotain tällaista. 492 00:24:22,560 --> 00:24:25,550 Haluan tulostaa viesti Kiitos kirjautumisen. 493 00:24:25,550 --> 00:24:32,530 >> Ja haluan sen interpolate-- haluan interpoloida $ tuloksia fullname. 494 00:24:32,530 --> 00:24:36,280 Ja niin se miten Työskentelen että assosiatiivinen joukko että sain takaisin. 495 00:24:36,280 --> 00:24:39,730 $ Tulokset fullname olisi pohjimmiltaan päätyä tulostamisen, 496 00:24:39,730 --> 00:24:42,870 kiitos kirjautumisen, Jerry Seinfeld. 497 00:24:42,870 --> 00:24:46,570 Se oli täydellinen nimi jossa idnum on 10. 498 00:24:46,570 --> 00:24:48,850 >> Ja niin kaikki olen tekemässä on olen now-- I tallennettu 499 00:24:48,850 --> 00:24:52,780 kysymykseni, tulokset minun kyselyn ja tulokset assosiatiivisia array, 500 00:24:52,780 --> 00:24:56,330 ja fullname on nimi sarake Aloin varten. 501 00:24:56,330 --> 00:25:01,010 Niin se on minun avain tulokset assosiatiivinen joukko että haluan. 502 00:25:01,010 --> 00:25:05,930 Joten Kiitos kirjautumisen, $ tuloksia, fullname tulostaa, kiinni 503 00:25:05,930 --> 00:25:08,654 aivan näiden kihara henkselit, Jerry Seinfeld. 504 00:25:08,654 --> 00:25:11,820 Ja minä haluan tulostaa viesti Kiitos kirjautumisen Jerry Seinfeld. 505 00:25:11,820 --> 00:25:16,652 >> Nyt luultavasti halua kovaa koodi asioita, kuten että, eikö? 506 00:25:16,652 --> 00:25:19,860 Saatamme haluta tehdä jotain tulosta f, jossa voimme korvata ja ehkä 507 00:25:19,860 --> 00:25:22,443 kerätä erilaisia ​​tietoja, tai ehkä on kyselyn prosessi 508 00:25:22,443 --> 00:25:23,370 erilaisia ​​tietoja. 509 00:25:23,370 --> 00:25:27,920 Ja niin kysely, kyselyn toiminto on tämä käsite eräänlainen substituutioiden 510 00:25:27,920 --> 00:25:32,310 hyvin samankaltainen tulostaa f prosenttiin s ja prosenttia C, on kysymysmerkkejä. 511 00:25:32,310 --> 00:25:34,290 >> Ja voimme käyttää kysymys tavaramerkit hyvin analogisesti 512 00:25:34,290 --> 00:25:38,400 tulostaa f korvike muuttujia. 513 00:25:38,400 --> 00:25:44,120 Joten ehkä sinun käyttäjä kirjautunut sisään aikaisemmin, ja olet tallentanut niiden käyttäjän tunnus 514 00:25:44,120 --> 00:25:51,710 in $ _SESSION PHP Super maailmanlaajuinen keskeisillä ID. 515 00:25:51,710 --> 00:25:55,947 Joten ehkä kun he kirjautunut sisään, asetat $ _SESSION tunnus on 10, 516 00:25:55,947 --> 00:25:58,280 ekstrapoloimalla esimerkki me vain näki toinen sitten. 517 00:25:58,280 --> 00:26:01,960 >> Ja niin kun me todella toteuttaa Tämän kyselyn tulokset nyt, 518 00:26:01,960 --> 00:26:08,440 se kytke 10, tai mitä tahansa $ _SESSION ID arvo on. 519 00:26:08,440 --> 00:26:10,790 Ja niin että antaa meille mahdollisuuden olla hieman dynaamisempaa. 520 00:26:10,790 --> 00:26:12,699 Emme kova koodaus asioita enää. 521 00:26:12,699 --> 00:26:14,490 Olemme säästö tietoa jonnekin ja sitten 522 00:26:14,490 --> 00:26:18,924 voimme käyttää näitä tietoja uudelleen tavallaan yleistää, mitä haluamme tehdä, 523 00:26:18,924 --> 00:26:21,090 ja vain plug-in ja muutos käyttäytymistä meidän sivu 524 00:26:21,090 --> 00:26:26,489 sen perusteella, mitä käyttäjän tunnus todella on kun he ovat kirjautuneena. 525 00:26:26,489 --> 00:26:28,530 On myös mahdollista, vaikka, että tulokset asetettu 526 00:26:28,530 --> 00:26:30,840 voisi koostua useita rivejä. 527 00:26:30,840 --> 00:26:33,990 Jolloin, sinulla on joukko arrays-- 528 00:26:33,990 --> 00:26:35,334 joukko assosiatiivisia taulukoita. 529 00:26:35,334 --> 00:26:37,000 Ja sinun tarvitsee vain iteroida läpi. 530 00:26:37,000 --> 00:26:41,950 Ja osaamme kerrata kautta array PHP, eikö? 531 00:26:41,950 --> 00:26:45,600 Joten tässä on luultavasti monimutkainen asia olemme nähneet tähän mennessä. 532 00:26:45,600 --> 00:26:49,640 Se todella integroi kolmea kieltä yhdessä. 533 00:26:49,640 --> 00:26:52,920 >> Täällä punainen, tämä on joitakin HTML. 534 00:26:52,920 --> 00:26:56,872 Olen ilmeisesti starting-- tämä on pätkä joitakin HTML että minulla on. 535 00:26:56,872 --> 00:26:59,580 Olen alkanut uusi kohta, joka sanoo äidit television Seinfeld. 536 00:26:59,580 --> 00:27:02,350 Ja sitten heti jälkeenpäin Olen alkanut pöytä. 537 00:27:02,350 --> 00:27:06,060 Ja sitten sen jälkeen, olen on joitakin PHP, eikö? 538 00:27:06,060 --> 00:27:08,229 Minulla on kaikki tämän PHP siellä. 539 00:27:08,229 --> 00:27:09,645 Olen ilmeisesti menossa tehdä kyselyn. 540 00:27:09,645 --> 00:27:14,180 Ja tehdä kyselyn, aion käyttää SELECT äidit äidit. 541 00:27:14,180 --> 00:27:15,970 >> Joten tämä on getting-- tämä on SQL. 542 00:27:15,970 --> 00:27:17,300 Joten sininen on SQL. 543 00:27:17,300 --> 00:27:19,680 Punainen näimme toinen sitten oli HTML. 544 00:27:19,680 --> 00:27:21,360 Ja vihreä tässä PHP. 545 00:27:21,360 --> 00:27:23,400 Joten Teen kyselyn minun tietokanta, olen 546 00:27:23,400 --> 00:27:26,040 valitaan kaikki äidit äidit taulukossa. 547 00:27:26,040 --> 00:27:30,710 Ei vain kapenee se alas erityisesti rivi, pyydän niitä kaikkia. 548 00:27:30,710 --> 00:27:33,290 >> Sitten voin tarkistaa, jos tulos on ei tasavertaisten vastaa vääriä. 549 00:27:33,290 --> 00:27:37,410 Tämä on vain minun tapa tarkistaa lajitella ja jos tulokset eivät ole yhtä null, 550 00:27:37,410 --> 00:27:40,260 että näkisimme C esimerkiksi. 551 00:27:40,260 --> 00:27:44,000 Pohjimmiltaan tämä on vain tarkistaa tehdä varma, että se itse saanut tiedot takaisin. 552 00:27:44,000 --> 00:27:47,041 Koska en halua aloittaa tulostus out tiedot, jos en saa mitään tietoja. 553 00:27:47,041 --> 00:27:50,690 Sitten kunkin tulokset seurauksena foreach syntaksin PHP, kaikki olen tekemässä 554 00:27:50,690 --> 00:27:53,399 tulostaa ulos $ tulos äidit. 555 00:27:53,399 --> 00:27:55,940 Ja niin aion saada joukko kaikkien äitien each-- 556 00:27:55,940 --> 00:27:59,980 se joukko assosiatiivisia arrays-- ja olen tulostamalla 557 00:27:59,980 --> 00:28:03,649 jokainen omana rivin taulukossa. 558 00:28:03,649 --> 00:28:05,690 Ja se on todella kaunis paljon kaikki on sitä. 559 00:28:05,690 --> 00:28:07,750 Tiedän, että vähän bittinen tekeillä 560 00:28:07,750 --> 00:28:13,210 tässä viimeksi esimerkiksi ryhmät arrays-- ryhmät assosiatiiviset taulukot. 561 00:28:13,210 --> 00:28:17,340 Mutta se ei todellakaan vain kiehua alas SQL tekemään kyselyn, 562 00:28:17,340 --> 00:28:21,102 yleensä valitsemalla jälkeen olemme jo laittaa tiedot taulukkoon, 563 00:28:21,102 --> 00:28:22,310 ja sitten vain vetämällä se ulos. 564 00:28:22,310 --> 00:28:25,710 >> Ja tämä on me vedä tässä tapauksessa. 565 00:28:25,710 --> 00:28:31,120 Me purkaisi kaikki yksittäiset äidit äidit taulukosta. 566 00:28:31,120 --> 00:28:35,970 Saimme koko joukon niitä, ja me haluavat kerrata kautta ja tulostaa 567 00:28:35,970 --> 00:28:37,630 jokainen. 568 00:28:37,630 --> 00:28:40,510 Niin uudelleen, tämä on luultavasti monimutkaisin esimerkki 569 00:28:40,510 --> 00:28:44,510 olemme nähneet koska me sekoittamalla kolme eri kieliä yhdessä, eikö? 570 00:28:44,510 --> 00:28:50,100 >> Jälleen olemme HTML täällä punainen, höystettyä SQL täällä sininen, 571 00:28:50,100 --> 00:28:52,049 höystettyä PHP vihreä. 572 00:28:52,049 --> 00:28:53,840 Mutta kaikki nämä pelata kauniisti yhteen, se on 573 00:28:53,840 --> 00:28:57,060 vain asia kehittää hyviä tapoja niin, että voit saada 574 00:28:57,060 --> 00:28:58,780 ne toimimaan yhdessä haluamallasi tavalla. 575 00:28:58,780 --> 00:29:03,790 Ja ainoa tapa todella tehdä, että on harjoitella, harjoitella, harjoitella. 576 00:29:03,790 --> 00:29:06,740 Olen Doug Lloyd, tämä on CS50. 577 00:29:06,740 --> 00:29:08,647