[Powered by Google Translate] [SQL] [CHRISTOPHER Bertalan] [Harvard Egyetem] [EZ CS50] [CS50 TV] Szóval, programozó használja adatbázisokat eszközként tárolhatjuk és rendszerezhetjük kitartó belüli adatok táblázatokat. Ez azt jelenti, hogy az adatok tárolása a nem felejtő mediánok mint a merevlemez, és akkor is, ha a számítógép ki van kapcsolva, az adatok még mindig érintetlen. És, ahogy a programozók, a programokat használja adatbázisok forgatókönyvek, mint tároló Felhasználói információk webes űrlapok, felnézett leltár, vagy frissítési információ arról, hogy mi webhelyek megjelenítéséhez. De hogyan valójában befolyásolja az adatbázisunkban, vagy mit használ olvasni, tárolni, törölni, és naprakésszé adataink ezen belül adatbázistáblákat? Nos, a válasz az, hogy egy speciális típusú adatbázis-nyelv amely közvetlen kölcsönhatásban adatbázisunkban táblázatokat. A neve a Structured Query Language, [Structured Query Language] vagy mit utalok az SQL. Most, [Se-quel], vagy az SQL, nem egy programozási nyelv, hanem, hogy ez a nyelv, amely a szabványos parancsok letölteni és manipulálni az adatokat a különböző adatbázis-kezelő rendszerek. Céljából a CS50, akkor menjen át négy alapvető parancsok: SELECT, INSERT, frissítésére és törlésére. Továbbá, akkor használja az adatbázis webes felületen nevű phpMyAdmin, amely telepítve van a készülékre, hogy megírjam a SQL utasítások. Szóval, hogy segítsen emlékezni ezeket a parancsokat, Hoztam néhány cupcakes egy szekrényben, hogy segítse a mi forgatókönyveket. Mondja el, hogy van egy cupcake adatbázisában, hol tárolja az összes információt a cupcakes. Most, adatbázisok tartalmazhatnak számos táblát és a táblázatok maguk is tartalmaz sok oszlopokat. Belül a cupcake adatbázisában, van egy asztal nevű cupcake_cupboard. Ezt a táblát tárol minden információt cupcakes amelyek, nos, a szekrényben. Az oszlopok, amelyek belsejében a táblázat jelentik az attribútumok egy cupcake. Így például, az a cupcake_cupboard oszlopok Cake ID, CakeType, CakeColor és CakeIsNice. Ez a logikai-típusú oszlopot használják annak megállapítására, hogy a torta szép vagy nem szép. Fogunk kezdeni írni egy select nyilatkozatot. Válassza ki a nyilatkozatokat használják adatokat lekérdezni egy adott adatbázis tábla. Ebben az esetben szeretnénk tudni mindent az összes cupcakes, hogy létezik a mi szekrényben. A szintaxis ezt a "Select" Space Star, vagy a *, a tér az űrből a tábla, ami cupcake_cupboard. Menjünk előre, és végrehajtja azt. Amint látjuk, ezek mind a cupcakes a mi szekrényben. Fontos megjegyezni, hogy a *, vagy a csillag, egy helyettesítő karakter hogy jelöli a összegyűjtését az oszlopok néhány asztalnál. Általában tudjuk elérni egy adott oszlop vagy oszlopok helyett * az aktuális oszlop neve. Ha azt akarjuk, több oszlopot, de nem minden, el tudjuk érni ezt a írásban az oszlop nevét határoló minden oszlop egy vessző. Például, nézzük csak letölteni a CakeId és CakeType a cupcake_cupboard táblázatban. A szintaxis ezt is: SELECT hely CakeID vessző CakeType tér a mi asztal, cupcake_cupboard. Menjünk előre, és hajtsa végre ezt. És itt, most csak a két oszlop általunk megadott minden cupcake a mi szekrényben. Azt is szűkítheti a lekérdezés eredményét megadásával A "hol" záradék csak miután a tábla nevét. Ha például úgy tűnik, hogy egy a mi cupcake szekrényben azaz, nos, nem is olyan szép látszó. Találjuk ki valamennyi cupcakes a mi szekrényben, amelyek, nos, nem olyan szép látszó a "hol" záradékot. A szintaxis ezt is: SELECT * tér tér tér cupcake_cupboard hely, ahol teret a feltételes oszlop, ebben az esetben CakeIsNice =, és a logikai értéke False. Fontos megjegyezni, hogy ha használ vonósok, csatolnia kell az aposztrófot. Ez igaz minden karakterláncok SQL, vagy az SQL adatbázis értelemben változat karakterek nevei Varchar adattípus. Ebben az esetben mi használ igaz vagy hamis, amely egy logikai érték, és nem egy string. Menjünk előre, és ezt a parancsot. Lo és íme, ez a helyzet, hogy van 1 csokoládé nem annyira szép cupcake a mi szekrényben. Ezután fogunk írni betét nyilatkozat. Insert kijelentések használják beszúrni vagy add további sorok adatokat az adatbázis tábla. Revisiting a forgatókönyv, tegyük fel, hogy már csak tett egy új cupcake. Mivel mi nagyon szervezett cupcake evők, mi kell majd beilleszteni az új cupcake a mi cupcake_cupboard táblázatban. A szintaxis erre a következő: Szóköz űrbe a táblázat, cupcake_cupboard, hely (, és itt adja meg az oszlopok nevét, vesszővel elválasztva, CakeType vessző CakeColor comma CakeIsNice) space. Ezt követően mi írjuk a szót VALUES tér (és itt belépünk az értékét minden oszlop esetében, szintén vesszővel elválasztva. Egy idézet, mert minden Varchar értékek fogjuk őket körülvevő aposztrófot, Peanut Butter "vessző" világos gesztenyebarna "vessző True. Nos, ez fontos, hogy minden sor egy egyedi szám azonosítja magát. Autoincrementing egy oszlop biztosítja ezt  "Nincs két azonos azonosítók valaha is létezni ebben a táblázatban." Menjünk előre, és végrehajtani. Ott vagyunk, minden szervezett. A következő SQL utasítás, hogy mi fog írni egy frissítést nyilatkozat. A frissítés utasítás lehet módosításához használt adat egy oszlopon belül minden létező sor az adatbázis táblában. Korábban a forgatókönyv, egy select állítás, azonosítottuk a cupcake a mi cupcake_cupboard asztal, amelynek CakeIsNice értéke False. Tegyük fel, hogy míg a mogyoróvajat cupcake volt a sütő, készült a mi nem-annyira-jó cupcake very nice. Mivel így kivételesen szervezi, azt akarjuk, hogy cupcake, hogy tükrözze ezt az értéket a mi cupcake_cupboard táblázatban. Ezért hadd frissítjük csokoládé cupcake az adatbázisban, hogy tükrözze ezt. A szintaxis: UPDATE hely a tábla, cupcake_cupboard, hely SET tér az oszlopot, hogy módosítani kívánja, CakeIsNice =. Aztán itt helyezzük az új értéket True helyet. Nos, azért, mert nem akarjuk, hogy frissíteni minden sort ezzel az értékkel, azt akarjuk, hogy a "hol" záradék, amely pontosan nekünk a pontos sor, hogy szeretnénk módosítani. Ebben az esetben tudjuk, hogy csak egy cupcake hogy van egy CakeIsNice értéke False. Továbbá, mi is arról, hogy mi a helyes frissítése sor segítségével "És" záradékot. Mi az "És" záradék, hogy finomítsa a lekérdezést tovább. Ebben az esetben, mivel tudjuk, hogy a cupcake a csokoládé, fogjuk használni ezt a CakeType oszlopban. Ahol a hely a feltételes tere CakeIsNice space = False, és űrkutatás CakeType = 'CHOCOLATE. Szóval, amivel az egészet együtt, ez a frissítés nyilatkozat szerint megtalálja a cupcakes a mi cupcake szekrény, és ha van egy cupcake, amelynek CakeIsNice oszlop tartalmazza azt az értéket False és CakeType értéket tartalmazó csokoládé, szeretnénk frissíteni az egyedi sorok CakeIsNice értéke True. Szóval, menjünk előre, és végrehajtja az utasítást. És most, mi szervezett. Mindez beszélni cupcakes tett nekem egy kicsit éhes. Azt hiszem, hozzá kell járulnia magamnak egyet. De ha tényleg ezt eszik cupcake, én legalább is nem távolíthatja el annak létezését  a mi cupcake_cupboard táblázatban. Ehhez fogjuk használni a "Törlés" nyilatkozatot. A "Delete" utasítás lehet használni, hogy távolítsa el az összes vagy néhány sort a táblázatból. Ha szeretné eltávolítani a bizonyos sort a táblázatban, akkor meg kell adni a "hol" záradék, ami meghatározza egy oszlop hogy egyedinek kell lennie a sor, hogy az eltávolítani kívánt. Ez a szintaxis: DELETE FROM hely hely a tábla, cupcake_cupboard, teret. Most, ezen a ponton, amikor az eddig a delete nyilatkozat azt szeretné, hogy nagyon óvatos. Például, ha azt akarom futtatni ezt a lekérdezés nélkül bemutattak néhány "Ha" záradék Szeretném elveszíti az összes adatot ezen cupcake_cupboard táblázatban, hanem azért, mert már tudom, hogy az én sütemény azonosítók egyediek, fogom használni A Red Velvet tortát ID for my "Ha" záradékot. Ahol a hely a mi oszlopban CakeID = 1. Mert ez egy egész érték nincs szükség, hogy körül azt aposztrófot. Szóval, most végre a nyilatkozatát. Nos, most, hogy már letörölte hogy létezik ez a cupcake a mi cupcake_cupboard asztal, már csak egy dolog maradt: Legyen eltűnnek. Én Christopher Bertalan. Ez CS50.