[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.