[Powered by Google Translate] [SQL] [CHRISTOPHER Bartholomew] [Harvardin yliopisto] [Tämä on CS50] [CS50 TV] Joten, ohjelmoijat käyttävät tietokantoja välineenä tallentaa ja järjestää Pitkäjänteisen tietoja sisällä taulukoita. Tämä tarkoittaa, että tiedot on tallennettu haihtumattomaan mediaanit kuten kiintolevyn, ja vaikka tietokone on pois päältä, data on vielä ehjä. Ja kuten ohjelmoijat, meidän ohjelmat käyttävät tietokantoihin skenaarioita kuten varastointi käyttäjän tietoja verkkolomakkeita, katsellen ylös inventaario, tai päivittäminen tietoa siitä, mitä sivustoja näkyviin. Mutta miten me oikeastaan ​​vuorovaikutuksessa meidän tietokantaan, vai mitä käytämme lukea, tallentaa, poistaa, ja päivittää tietomme näiden taulujen? No, vastaus on, että käytämme erityinen tietokanta kieli joka vaikuttaa suoraan meidän tietokantataulukoihin. Se nimi on Structured Query Language, [Structured Query Language] tai mitä nimitystä SQL. Nyt, [SE-quel] tai SQL, ei ohjelmointikieli, vaan se on kieli, joka tarjoaa standardin sarja komentoja hakea ja käsitellä tietoja useista tietokannan hallintajärjestelmiä. Varten CS50, menemme yli neljä peruskomennot: Valitse, lisätä, päivittää ja poistaa. Lisäksi me hyödyntää tietokannan web-käyttöliittymä nimeltään phpMyAdmin, joka asennetaan laitteen kirjoittaa SQL-lauseet. Joten auttaa muistamaan näitä komentoja, Olen tuonut joitakin cupcakes kaapissa avustamaan meidän skenaarioita. Sano olet cupcake tietokantaan, jonne tallennetaan kaikki tietoja cupcakes. Nyt, tietokannat voivat sisältää useita taulukoita ja taulukot itse voi sisältää useita sarakkeita. Sisällä cupcake: n tietokantaan, meillä on taulukko nimeltään cupcake_cupboard. Tämä taulukko voidaan tallentaa kaikki tiedot cupcakes jotka ovat hyvin, kaapissa. Sarakkeet ovat sisällä pöydän edustavat ominaisuuksia cupcake. Esimerkiksi cupcake_cupboard: n sarakkeet ovat Kakku ID, CakeType, CakeColor, ja CakeIsNice. Tämä boolean-kirjoitetaan sarake käytetään määrittämään, jos kakku on mukavaa vai ei kiva. Aiomme aloittaa kirjoittaminen SELECT. Valitse lausuntoja käytetään hakea tietoja tietyn tietokannan taulukon. Tässä skenaariossa haluamme tietää kaiken kaikista cupcakes että olemassa meidän kaapissa. Syntaksi tehdä tämä on "Valitse" Space Star, tai *, tilaa avaruudesta meidän pöytä, joka on cupcake_cupboard. Mennään eteenpäin ja toteuttaa se. Kuten näemme, nämä ovat kaikki cupcakes meidän kaapissa. On tärkeää huomata, että * tai tähti, on villi kortti merkki että tarkoittaa kokoamalla kaikki sarakkeet joidenkin taulukossa. Normaalisti voimme käyttää tietyn sarakkeen tai sarakkeiden korvaamalla * varsinaiseen sarakkeen nimeä. Jos haluamme useita sarakkeita, mutta eivät kaikki, voimme saavuttaa tämän kirjoittamalla sarakkeen nimet rajoittavan jokaisen sarakkeen pilkulla. Esimerkiksi, nyt vain hakea CakeId ja CakeType vuonna cupcake_cupboard taulukossa. Syntaksi tehdä tämä on: SELECT tila CakeID pilkulla CakeType tilaa meidän pöytä, cupcake_cupboard. Mennään eteenpäin ja toteuttaa tätä. Ja tässä meillä on nyt vain kaksi saraketta me määritetty kunkin cupcake meidän kaapissa. Voimme myös tarkentaa myös kyselyn tulokset määrittämällä "Jos" lauseke heti taulukon nimi. Esimerkiksi, siellä näyttää olevan cupcake meidän kaapissa että on hyvin, ei niin mukavan näköinen. Katsotaanpa selvittää kaikki cupcakes meidän kaapissa, jotka ovat hyvin, ei niin mukavan näköinen käyttämällä "Jos" lauseke. Syntaksi tehdä tämä on: SELECT tila * tilaa tilaa cupcake_cupboard tila, jossa tilaa myös ehdollinen sarakkeen, tässä tapauksessa CakeIsNice =, ja Boolen arvon False. On tärkeää huomata, että jos käytät jouset, sinun täytyy liittää se puolilainausmerkkejä. Tämä koskee kaikkia merkkijonoja SQL, tai SQL-tietokannan kannalta, variantti merkkiä tunnetaan Varchar tietotyyppi. Tässä tapauksessa käytämme True tai False, mikä on boolean arvo eikä merkkijono. Mennään eteenpäin ja tätä komentoa. Kas kummaa, se on totta, että meillä on 1 suklaata ei niin mukava cupcake meidän kaapissa. Seuraavaksi aiomme kirjoittaa INSERT julkilausuman. Lisää lausuntoja käytetään lisätä tai lisätä rivejä ja tiedot tietokantaan taulukon. Käynti meidän skenaariossa oletetaan, että olemme juuri tehneet upouusi cupcake. Koska olemme hyvin organisoitu cupcake syövillä, aiomme pitää lisätä tämä uusi cupcake meidän cupcake_cupboard taulukossa. Syntaksi tehdä tämä on tämä: Aseta tila avaruuteen meidän pöytä, cupcake_cupboard, tila (, ja tässä me määritellä sarakkeiden nimet rajaamaa pilkku, CakeType pilkulla CakeColor pilkulla CakeIsNice) tilaa. Tämän jälkeen kirjoitamme sanan VALUES tilaa (ja täällä astumme arvo kunkin sarakkeen osalta myös rajataan pilkulla. Tarjouksen, koska ne ovat kaikki Varchar arvoja me ympäröivät heitä puolilainausmerkeissä, MAAPHKINÄVOI 'pilkku' LIGHT BROWN "pilkku True. Nyt on tärkeää antaa jokaiselle riville oma numero tunnistaa itsensä. Autoincrementing sarakkeessa esitetään tätä  "Ei ole kahta samaa tunnukset voi koskaan esiintyä tässä taulukossa." Mennään eteenpäin ja toteuttaa. Siellä mennään, kaikki järjestetty. Seuraava SQL-lause, että me kirjoitamme on päivitetty selvitys. Päivitys lausuma voidaan muuttaa tietoja sisällä sarakkeen olemassa olevien riville tietokannan taulukkoon. Aiemmin meidän skenaariossa käyttämällä SELECT, olemme määritelleet cupcake sisäpuolella cupcake_cupboard pöytä jonka CakeIsNice arvo oli False. Oletetaan, että samalla kun maapähkinävoita cupcake oli uunissa, teimme ei-niin-mukava cupcake very nice. Ovat niin poikkeuksellisesti järjestetty, haluamme cupcake pohtia tätä arvoa meidän cupcake_cupboard taulukossa. Siksi mennään päivittää suklaa cupcake kannassa vastaamaan tähän. Syntaksi on: UPDATE tilaa meidän pöytään, cupcake_cupboard, avaruus SET tilaa sarake haluamme muuttaa, CakeIsNice =. Sitten täällä me laitamme uuden arvon True tilaa. Nyt, koska emme halua päivittää kaikki rivit tämän arvon, haluamme tarjota "Jos"-lauseke, joka paikantaa meidät täsmällisestä rivi haluamme muuttaa. Tässä tapauksessa tiedämme, että on olemassa vain yksi cupcake että on CakeIsNice arvo False. Lisäksi olemme myös varmistaa, että olemme päivittää oikean rivin käyttämällä "Ja" lauseke. Käytämme "Ja" lauseke tarkentaa meidän kyselyn eteenpäin. Tässä tapauksessa, koska tiedämme, että cupcake on suklaa, käytämme tätä CakeType sarakkeessa. Jos tilaa meidän ehdollisen palstatilaa CakeIsNice tila = False, ja avaruus CakeType = "suklaa." Joten, laitat sen kaiken yhteen, tämä päivitys lausunto sanoo löytää kaikki cupcakes meidän cupcake kaapissa, ja jos on olemassa cupcake, jonka sarake CakeIsNice sisältää arvon False ja CakeType sisältää arvon CHOCOLATE, haluamme päivittää rivien CakeIsNice arvon True. Joten, mennään eteenpäin ja toteuttaa lausuman. Ja nyt, me järjestetään. Kaikki tämä puhe cupcakes on tehnyt minusta hieman nälkäinen. Minun pitäisi auttaa itseäni yhteen. Mutta jos olen itse syö cupcake, minun pitäisi ainakin myös poistaa sen olemassaolon  meidän cupcake_cupboard taulukosta. Voit tehdä tämän, käytämme "Poista" lausunto. "Delete" lausuma voidaan poistaa kaikki tai jotkin rivit taulukosta. Jos haluat poistaa joitakin erityisiä rivin taulukosta, sinun on annettava "Jos"-lauseke, mikä määrittää sarakkeen että pitäisi olla ainutlaatuinen rivi, jonka haluat poistaa. Tämä on syntaksi: DELETE tilaa avaruudesta meidän pöytään, cupcake_cupboard, tilaa. Nyt tässä vaiheessa, kun olet näin pitkälle teidän poista ilmoitus Haluatko olla hyvin varovainen. Esimerkiksi, jos haluan suorittaa tämän kyselyn ei tarjota joitakin "Jos" lauseke Haluaisin menettää kaikki tiedot tämän cupcake_cupboard taulukossa mutta koska olen jo tiedän, että kakku tunnukset ovat ainutlaatuisia, minä käytän Red Velvet cake ID minun "Missä"-lauseke. Joissa tilaa meidän sarake, CakeID = 1. Koska tämä on kokonaisluku-arvo ei ole tarpeen ympäröidä se puolilainausmerkeissä. Joten, nyt suorittaa lauseen. No, nyt olemme pyyhki olemassaolon cupcake meidän cupcake_cupboard taulukosta, meillä on vain yksi asia vasen: Tee se katoaa. Olen Christopher Bartholomew. Tämä on CS50.