[Powered by Google Translate] [SQL]
[CHRISTOPHER BARTHOLOMEOS] [HARVARD UNIVERSITY]
[DIT IS CS50] [CS50 TV]
Dus, programmeurs maken gebruik van databases als een instrument om op te slaan en te organiseren
onze persistente data in een tabel plaatsen.
Dit betekent dat uw gegevens worden opgeslagen op een niet-vluchtig medianen, zoals een harde schijf,
en zelfs wanneer de computer uit is, zijn de gegevens nog steeds intact.
En, zoals programmeurs, onze programma's maken gebruik van databases voor scenario's zoals het opslaan van
informatie voor de gebruiker van webformulieren, het opzoeken van inventaris,
of het actualiseren van informatie over welke websites weer te geven.
Maar hoe kunnen we eigenlijk omgaan met onze database,
of wat gebruiken we lezen, opslaan, verwijderen,
en werken onze gegevens binnen deze database tabellen?
Nou, het antwoord is dat we een speciaal type database taal te gebruiken
die samenwerkt rechtstreeks met onze database tabellen.
De naam is Structured Query Language,
[Structured Query Language]
of wat ik verwijzen naar als SQL.
>> Nu, [Se-quel], of SQL, is geen programmeertaal,
maar in plaats daarvan, het is een taal die een standaard set van opdrachten bevat
ophalen en gegevens manipuleren van verschillende databasebeheersystemen.
Voor de toepassing van CS50, gaan we over vier basiscommando's:
selecteren, invoegen, bijwerken en verwijderen.
Verder zullen we gebruik maken van een database web-interface genaamd phpMyAdmin,
die geïnstalleerd zijn op het toestel om onze SQL-statements te schrijven.
Dus, om u te helpen herinneren deze commando's,
Ik heb bracht wat cupcakes in een kast om te helpen met onze scenario's.
Stel dat je een cupcake-database,
waar slaat u alle informatie over uw cupcakes.
Nu kunnen deze databases bevatten veel tafels
en de tafels zelf kan veel kolommen.
Binnen de database onze cupcake's, hebben we een tabel met de naam cupcake_cupboard.
Deze tabel zal worden gebruikt om alle informatie over cupcakes op te slaan
die, nou ja, in je kast.
De kolommen die in uw tabel zijn de kenmerken van een cupcake.
Bijvoorbeeld, de cupcake_cupboard de kolommen
Cake ID, CakeType, CakeColor, en CakeIsNice.
Deze boolean-getypte kolom wordt gebruikt om te bepalen of de taart is leuk of niet leuk.
We gaan beginnen met het schrijven van een select statement.
SELECT-instructies worden gebruikt om gegevens van een bepaalde database tabel te halen.
In dit scenario, we willen alles weten
over alle cupcakes die bestaan ​​in onze kast.
De syntax om dit te doen is "Select" space star, of *, ruimte vanuit de ruimte onze tafel,
die cupcake_cupboard.
Laten we verder gaan en uit te voeren dat.
>> Zoals we kunnen zien, dit zijn alle cupcakes in onze kast.
Het is belangrijk op te merken dat *, of sterretje, is een jokerteken
dat geeft het verzamelen van alle kolommen van sommige tafel.
Normaal gesproken kunnen we toegang krijgen tot een specifieke kolom of kolommen
door het vervangen van * met de werkelijke kolomnaam.
Als we willen meerdere kolommen, maar niet alle, kunnen we dit bereiken
door het schrijven van het kolomnamen afbakening elke kolom door een komma.
Bijvoorbeeld, laten we alleen de CakeId en CakeType in de cupcake_cupboard tabel op te halen.
De syntax om dit te doen is: SELECT ruimte CakeID komma
CakeType ruimte van onze tafel, cupcake_cupboard.
Laten we verder gaan en uit te voeren dit.
En hier hebben we nu alleen nog de twee kolommen we gespecificeerd
voor elke cupcake in onze kast.
We kunnen ook verfijnen onze resultaten van de query door het specificeren van
de "Waar"-clausule net na de tabelnaam.
Zo lijkt er een cupcake in onze kast
dat wil zeggen, nou ja, niet zo leuk uit.
Laten we erachter te komen al de cupcakes in onze kast die, nou ja, niet zo leuk uit
met behulp van de "Waar"-clausule.
De syntax om dit te doen is: SELECT ruimte * Ruimte van Ruimte cupcake_cupboard
ruimte waar de ruimte onze voorwaardelijke kolom, in dit geval CakeIsNice =,
en de booleaanse waarde false.
Het is belangrijk op te merken dat als u gebruik maakt strings, moet u deze tussen enkele aanhalingstekens.
Dit geldt voor alle strings in SQL, of, in SQL-database termen, variant tekens
bekend als Varchar datatype.
In dit geval gebruiken we Waar of niet waar, dat is een logische waarde en niet een string.
Laten we verder gaan en voer je dit commando.
>> Lo en zie, het is zo dat we een chocolade hebben
niet zo leuk cupcake in onze kast.
Vervolgens gaan we een insert statement te schrijven.
Insert statements worden gebruikt om in te voegen of toe te voegen
extra rijen met gegevens in uw database tabel.
Revisiting ons scenario, laten we aannemen dat we net een nieuwe cupcake gemaakt.
Aangezien we zeer georganiseerd cupcake eters, we gaan te hebben om deze nieuwe cupcake te voegen
in onze cupcake_cupboard tafel.
De syntax om dit te doen is het volgende: Spatie invoegen in de ruimte onze tafel,
cupcake_cupboard, ruimte (,
en hier specificeren we de kolommen namen, gescheiden door een komma,
CakeType komma CakeColor komma CakeIsNice) ruimte.
Naar aanleiding van dit schrijven we het woord VALUES ruimte (en hier
we de waarde voor elke kolom respectievelijk ook gescheiden door een komma.
Single citaat, want ze zijn allemaal Varchar waarden die we zullen hen omringen in enkele aanhalingstekens,
PINDAKAAS 'komma' LICHT BRUIN 'komma True.
Nu, is het belangrijk om elke rij geven een uniek nummer om zich te identificeren.
Autoincrementing een kolom geeft dit als
"Geen twee dezelfde ID ooit kan bestaan ​​in deze tabel."
Laten we verder gaan en uit te voeren.
Daar gaan we dan, allemaal georganiseerd.
>> De volgende SQL-instructie die we schrijven is een update statement.
De update statement kan worden gebruikt om gegevens te wijzigen in een kolom
voor elke bestaande rij in de databasetabel.
Eerder in ons scenario, met behulp van een select-statement, identificeerden we een cupcake
binnen tafel onze cupcake_cupboard wiens CakeIsNice waarde was False.
Laten we aannemen dat terwijl onze pindakaas cupcake was in de oven,
hebben we onze niet-zo-leuke cupcake erg leuk.
Omdat het zo uitzonderlijk georganiseerd, we willen dat onze cupcake deze waarde weer te geven
in onze cupcake_cupboard tafel.
Laten we daarom werken onze chocolade cupcake in de database terug te vinden.
De syntaxis is: UPDATE ruimte onze tafel, cupcake_cupboard, ruimte SET ruimte
de kolom die we willen veranderen, CakeIsNice =.
Dan hier plaatsen we onze nieuwe waarde True ruimte.
Nu, omdat we niet willen alle rijen met deze waarde bij te werken,
willen we een "Waar" clausule die zal aanwijzen ons
om de exacte rij die we willen wijzigen.
In dit geval weten we dat er slechts een cupcake
dat heeft een CakeIsNice waarde van False.
Verder zullen we er ook voor zorgen dat we de juiste rij bijwerken
met behulp van de "En"-clausule.
We gebruiken de "En"-clausule op onze vraag verder te verfijnen.
In dit geval, omdat we weten dat de cupcake is chocolade,
we zullen deze CakeType kolom.
Waar de ruimte onze voorwaardelijke kolomruimte CakeIsNice ruimte = False,
en ruimte CakeType = 'CHOCOLADE.'
Dus, dat dit alles met elkaar, deze update verklaring zegt
vind alle cupcakes in onze cupcake kast,
en als er een cupcake waarvan kolom CakeIsNice bevat de waarde False
en CakeType bevat de waarde CHOCOLADE,
willen we de specifieke rijen CakeIsNice waarde bij te werken op True.
Dus, laten we verder gaan en uitvoeren van de verklaring.
En nu zijn we georganiseerd.
>> Al dat gepraat van cupcakes heeft me een beetje honger.
Ik denk dat ik mezelf te helpen tot een.
Maar als ik echt eet deze cupcake, zou ik in ieder geval ook te verwijderen zijn bestaan
van onze cupcake_cupboard tafel.
Om dit te doen, zullen we gebruik maken van de "Delete" verklaring.
De "Delete"-instructie kan worden gebruikt om alle of sommige rijen uit de tabel te verwijderen.
Als u een aantal specifieke rij uit de tabel,
dan moet je zorgen voor een "Waar"-clausule, waardoor het opgeven van een kolom
dat moet uniek zijn voor de rij die u wilt verwijderen.
Dit is de syntax: DELETE Ruimte van Ruimte onze tafel, cupcake_cupboard, ruimte.
Nu, op dit moment, wanneer je bent zo ver in je delete verklaring
je wilt zijn heel voorzichtig.
Bijvoorbeeld, als ik wil dit query uit te voeren zoals, zonder dat enige "Waar"-clausule
Ik zou verliezen alle gegevens in dit cupcake_cupboard tabel,
maar omdat ik nu al weet dat mijn taart-id's uniek zijn, zal ik gebruik maken van
de Red Velvet taart ID voor mijn "Waar"-clausule.
Waar de ruimte onze kolom CakeID = 1.
Omdat dit een geheel getal hoeft te omringen enkele aanhalingstekens.
Dus, laten we voeren de verklaring.
Nou, nu we hebben afgeveegd het bestaan ​​van deze cupcake
van onze cupcake_cupboard tafel, we hebben maar een ding over:
Laten verdwijnen.
Ik ben Christopher Bartholomeus. Dit is CS50.