[Powered by Google Translate] [SQL]
[CHRISTOPHER BARTOLOMEO] [Harvard University]
[QUESTO E 'CS50] [CS50 TV]
Così, i programmatori utilizzare i database come strumento per memorizzare e organizzare
i nostri dati persistenti all'interno delle tabelle.
Ciò significa che i dati sono memorizzati su non volatili mediane, come un disco rigido,
e anche quando il computer è spento, i dati è ancora intatto.
E, come i programmatori, i nostri programmi utilizzano database per scenari come la memorizzazione
informazioni utente dai moduli web, guardando l'inventario,
o aggiornare le informazioni su quali siti visualizzare.
Ma come possiamo effettivamente interagire con il nostro database,
o quello che usiamo per leggere, memorizzare, cancellare,
e aggiornare i nostri dati all'interno di queste tabelle del database?
Beh, la risposta è che usiamo un particolare tipo di linguaggio di database
che interagisce direttamente con i nostri tabelle del database.
Il suo nome è Structured Query Language,
[Structured Query Language]
o che cosa mi riferisco a come SQL.
>> Ora, [Sequel], o SQL, non è un linguaggio di programmazione,
ma, invece, si tratta di un linguaggio che fornisce un insieme standard di comandi
per recuperare e manipolare dati da una varietà di sistemi di gestione di database.
Ai fini del CS50, andremo su quattro comandi di base:
selezionare, inserire, aggiornare ed eliminare.
Inoltre, faremo utilizzare una interfaccia web database chiamato phpMyAdmin,
che ha installato l'apparecchio per scrivere le nostre istruzioni SQL.
Così, per ricordare questi comandi,
Ho portato un po 'di cupcakes in un armadio per assistere con i nostri scenari.
Diciamo che avete un cupcake del database, il
dove si memorizzano tutte le informazioni sul vostro cupcakes.
Ora, i database possono contenere molte tabelle
e le stesse tabelle possono contenere molte colonne.
All'interno del database nostra Cupcake, abbiamo una tabella denominata cupcake_cupboard.
Questa tabella viene utilizzata per memorizzare tutte le informazioni sui bigné
che sono, beh, nel vostro armadio.
Le colonne che si trovano all'interno della tabella rappresentano gli attributi di un cupcake.
Ad esempio, le colonne della cupcake_cupboard sono
Torta ID, CakeType, CakeColor e CakeIsNice.
Questo valore booleano tipizzato colonna viene utilizzata per determinare se la torta è bello o non è bello.
Stiamo per iniziare con la scrittura di un'istruzione select.
Istruzioni Select vengono utilizzati per recuperare i dati di una tabella di database particolare.
In questo scenario, vogliamo sapere tutto
di tutto bigné che esistono nel nostro armadio.
La sintassi per farlo è stelle "Select" spazio, o *, lo spazio dallo spazio il nostro tavolo,
che è cupcake_cupboard.
Andiamo avanti ed eseguire questo.
>> Come si può vedere, questi sono tutti i cupcakes nel nostro armadio.
E 'importante notare che *, o un asterisco, è un carattere jolly
che denota la raccolta di tutte le colonne di alcuni tabella.
Normalmente, siamo in grado di accedere a una determinata colonna o le colonne
sostituendo * con il nome della colonna attuale.
Se vogliamo più colonne, ma non tutti, siamo in grado di raggiungere questo obiettivo
scrivendo i nomi delle colonne che delimitano ogni colonna da una virgola.
Ad esempio, supponiamo solo recuperare il CakeId e CakeType nella tabella cupcake_cupboard.
La sintassi per farlo è: SELECT virgola spazio CakeID
Spazio CakeType dal nostro tavolo, cupcake_cupboard.
Andiamo avanti ed eseguire questa.
E qui, ora solo le due colonne che specificate
per ogni cupcake nel nostro armadio.
Possiamo anche migliorare i nostri risultati della query specificando
la clausola di "Dove" subito dopo il nome della tabella.
Per esempio, sembra che vi sia un cupcake nel nostro armadio
che è, beh, non così bello guardare.
Cerchiamo di capire tutti i bigné nel nostro armadio che sono, beh, non così bello guardare
utilizzando la clausola "Dove".
La sintassi per farlo è: SELECT * spazio spazio da cupcake_cupboard spazio
spazio in cui lo spazio la nostra colonna condizionale, in questo caso CakeIsNice =,
e il valore booleano false.
E 'importante notare che se si utilizza stringhe, è necessario racchiuderlo tra virgolette singole.
Questo è vero per tutte le stringhe in SQL, o, in termini di database SQL, variante di caratteri
noto come Varchar tipo di dati.
In questo caso, stiamo usando Vero o falso, che è un valore booleano e non una stringa.
Andiamo avanti ed eseguire questo comando.
>> Ed ecco, è il caso che abbiamo 1 cioccolato
non così bello Cupcake nel nostro armadio.
Avanti, andiamo a scrivere una dichiarazione di inserimento.
Inserisci dichiarazioni vengono utilizzate per inserire o aggiungere
righe di dati nella vostra tabella di database.
Rivisitare il nostro scenario, supponiamo che abbiamo appena fatto un cupcake nuovo di zecca.
Dal momento che sono molto organizzati mangiatori Cupcake, stiamo andando ad avere per inserire questo nuovo Cupcake
nella nostra tabella cupcake_cupboard.
La sintassi per farlo è questo: Inserire uno spazio nello spazio il nostro tavolo,
cupcake_cupboard, spazio (,
e qui si specificare i nomi delle colonne, delimitato da una virgola,
CakeType virgola CakeColor virgola CakeIsNice) spazio.
A seguito di questo, scriviamo la parola spazio VALUES (e qui
entriamo il valore per ogni colonna, rispettivamente, anche delimitato da una virgola.
Sola offerta, perché sono tutti i valori Varchar noi li circondano in virgolette singole,
Virgola 'comma' BURRO DI ARACHIDI MARRONE CHIARO 'vero.
Ora, è importante per dare ad ogni riga un numero univoco per identificare se stesso.
Autoincrementing una colonna fornisce questo come
"Non ci sono due gli stessi ID potrà mai esistere in questa tabella."
Andiamo avanti ed eseguire.
Ci andiamo, tutto organizzato.
>> L'istruzione successiva SQL che scriveremo è una dichiarazione di aggiornamento.
L'istruzione di aggiornamento può essere utilizzato per modificare i dati all'interno di una colonna
per ogni riga esistente nella tabella di database.
All'inizio del nostro scenario, con una istruzione select, abbiamo identificato un cupcake
nel nostro tavolo cupcake_cupboard il cui valore CakeIsNice era falsa.
Supponiamo che, mentre il nostro Cupcake burro di arachidi era nel forno,
abbiamo fatto il nostro Cupcake non-così-bello molto bello.
Essendo così eccezionalmente organizzato, vogliamo che il nostro Cupcake per riflettere tale valore
nella nostra tabella cupcake_cupboard.
Pertanto, cerchiamo di aggiornare il nostro Cupcake cioccolato nella base di dati di conseguenza.
La sintassi è la seguente: lo spazio UPDATE nostro tavolo, cupcake_cupboard, SET spazio spazio
la colonna che si desidera modificare, CakeIsNice =.
Allora qui abbiamo posto il nostro nuovo spazio vero valore.
Ora, perché non si desidera aggiornare tutte le righe con questo valore,
vogliamo fornire una clausola di "Dove" che ci individuare
alla riga esatta che si desidera modificare.
In questo caso, sappiamo che vi è una sola Cupcake
che ha un valore CakeIsNice di False.
Inoltre, ci sarà anche garantire che si sta aggiornando la riga corretta
utilizzando la "E" clausola.
Usiamo la "E" clausola di perfezionare ulteriormente la nostra query.
In questo caso, perché sappiamo che il cupcake è il cioccolato,
useremo questa colonna CakeType.
Dove lo spazio spazio spazio condizionato la nostra colonna CakeIsNice = False,
e lo spazio CakeType 'CHOCOLATE.' =
Così, mettendo tutto insieme, questa dichiarazione di aggiornamento dice
trovare tutte le cupcakes nel nostro armadio Cupcake,
e se c'è un cupcake cui CakeIsNice colonna contiene il valore False
CakeType e contiene il valore CIOCCOLATO,
vogliamo aggiornare la specifica CakeIsNice righe il valore su true.
Quindi, andiamo avanti ed eseguire l'istruzione.
E ora, siamo organizzati.
>> Tutto questo parlare di dolci mi ha fatto un po 'di fame.
Penso che dovrei farne a meno a uno.
Ma se io in realtà mangiare questa Cupcake, vorrei almeno rimuovere anche la sua esistenza
dal nostro tavolo cupcake_cupboard.
Per fare questo, si utilizza l'istruzione "Cancella".
L'affermazione "Delete" può essere usato per rimuovere tutte o alcune righe della tabella.
Se si desidera rimuovere alcuni riga specifica della tabella,
allora è necessario fornire una clausola di "Dove", specificando quindi una colonna
che deve essere univoco per la riga che si desidera rimuovere.
Questa è la sintassi: DELETE spazio dallo spazio il nostro tavolo, cupcake_cupboard, spazio.
Ora, a questo punto, ogni volta che siete a questo punto nella vostra dichiarazione delete
si vuole essere molto attenti.
Per esempio, se voglio eseguire questa query è senza fornire qualche clausola di "Dove"
Avrei perso tutti i dati in questa tabella cupcake_cupboard,
ma perché so già che i miei ID torta sono unici, userò
Red Velvet cake ID per il mio clausola di "Dove".
In cui lo spazio la nostra colonna, CakeID = 1.
Poiché si tratta di un valore intero non c'è bisogno di circondarla tra apici.
Quindi, cerchiamo di eseguire l'istruzione.
Bene, ora che abbiamo cancellato l'esistenza di questo Cupcake
dal nostro tavolo cupcake_cupboard, abbiamo solo una cosa di sinistra:
Fai sparire.
Sono Christopher Bartolomeo. Questo è CS50.