[Powered by Google Translate] [SQL]
[CHRISTOPHER BARTOLOMÉ] [HARVARD UNIVERSITY]
[AIXÒ ÉS CS50] [CS50 TV]
Així, els programadors utilitzen bases de dades com a eina per emmagatzemar i organitzar
nostres dades persistents dins de les taules.
Això significa que les dades s'emmagatzemen en no volàtils mitjanes com ara un disc dur,
i fins i tot quan l'ordinador està apagat, les dades segueix intacta.
I, com programadors, els nostres programes utilitzen bases de dades per a escenaris com ara l'emmagatzematge
usuari de la informació dels formularis web, mirant inventari,
o actualització de la informació sobre els llocs mostrar.
Però com podem interactuar amb la nostra base de dades,
o què és el que utilitzem per llegir, emmagatzemar, eliminar,
i actualitzar les nostres dades en aquestes taules de base de dades?
Bé, la resposta és que s'utilitza un tipus especial de llenguatge de base de dades
que interactua directament amb les taules de base de dades.
El seu nom està estructurat Query Language,
[Structured Query Language]
o el que em refereixo com SQL.
>> Ara, [Sequel], o SQL, no és un llenguatge de programació,
però en canvi, és un llenguatge que proporciona un conjunt estàndard de comandaments
per recuperar i manipular les dades d'una varietat de sistemes de gestió de base de dades.
Als efectes del CS50, anirem més de quatre ordres bàsiques:
seleccionar, inserir, actualitzar i eliminar.
A més, utilitzarem una interfície web base de dades anomenada phpMyAdmin,
d'instal · lar en l'aparell per escriure les nostres sentències SQL.
Per tant, per ajudar a recordar aquestes ordres,
He portat alguns bescuits en un armari per ajudar als nostres escenaris.
Diguem que vostè té una base de dades de la magdalena,
on s'emmagatzema tota la informació sobre els seus pastissets.
Ara, les bases de dades pot contenir moltes taules
i les pròpies taules poden contenir diverses columnes.
Dins de la nostra base de dades magdalena, tenim una taula anomenada cupcake_cupboard.
Aquesta taula s'utilitza per emmagatzemar tota la informació sobre les magdalenes
que són, bé, en el teu armari.
Les columnes que es troben dins de la taula representen els atributs d'una magdalena.
Per exemple, les columnes de la cupcake_cupboard són
Coca de ID, CakeType, CakeColor, i CakeIsNice.
Aquesta columna amb tipus booleà s'utilitza per determinar si el pastís és agradable o no agradable.
Anem a començar amb l'escriptura d'una instrucció select.
Sentències SELECT s'utilitzen per recuperar dades d'una taula de base de dades en particular.
En aquest escenari, volem saber-ho tot
sobretot les magdalenes que existeixen en el nostre armari.
La sintaxi per fer-ho és "Select" estrella espai, o *, espai d'espai de la nostra taula,
que és cupcake_cupboard.
Seguirem endavant i executar això.
>> Com podem veure, aquests són tots els cupcakes en el nostre armari.
És important tenir en compte que * o asterisc, és un caràcter comodí
que denota la reunió de totes les columnes de cada taula.
Normalment, es pot accedir a una columna o columnes específiques
en reemplaçar * amb el nom real de la columna.
Si volem columnes múltiples, però no tots, es pot aconseguir aquest
escrivint els noms de les columnes que delimiten cada columna amb una coma.
Per exemple, anem a recuperar només el CakeId i CakeType a la taula cupcake_cupboard.
La sintaxi per fer això és: SELECT espai coma CakeID
CakeType espai de la nostra taula, cupcake_cupboard.
Seguirem endavant i executar això.
I aquí, ara només tenen les dues columnes que s'especifiquen
per a cada Cupcake al nostre armari.
També pot refinar els resultats de la consulta especificant
la clàusula "Where" just després del nom de la taula.
Per exemple, sembla que hi ha una magdalena al nostre armari
és a dir, bé, no tan bonica.
Anem a esbrinar totes les magdalenes al nostre armari que, bé, no tan bon aspecte
utilitzant la clàusula "Where".
La sintaxi per fer això és: SELECT * espai espai espai DES cupcake_cupboard
espai on l'espai la nostra columna condicional, en aquest cas CakeIsNice =,
i el valor booleà de false.
És important tenir en compte que si esteu utilitzant cadenes, s'ha de tancar entre cometes simples.
Això és cert per a totes les cadenes de SQL, o, en termes de bases de dades SQL, les variants de caràcters
conegut com VARCHAR tipus de dades.
En aquest cas, estem usant Veritable o Fals, que és un valor booleà i no una cadena.
Seguirem endavant i executar aquesta comanda.
>> I mira, és el cas disposem de 1 xocolata
no tan agradable magdalena al nostre armari.
A continuació, anem a escriure una instrucció d'inserció.
Instruccions d'inserció s'utilitza per inserir o afegir
files de dades a la taula de base de dades.
Revisant el nostre escenari, suposarem que ens acaba de fer una magdalena nou.
Ja que estem molt organitzat menjadors de la magdalena, haurem inserir aquest magdalena nou
en la nostra taula cupcake_cupboard.
La sintaxi per fer-ho és la següent: Inseriu l'espai a l'espai la nostra taula,
cupcake_cupboard, espai (,
i aquí s'especifiquen els noms de columnes, delimitat per comes,
Coma CakeType CakeColor coma CakeIsNice) d'espai.
Després d'això, escrivim la paraula espai VALUES (i aquí
entrem en el valor de cada columna, respectivament, també delimitat per una coma.
Cometes simples, perquè tots ells són valors VARCHAR anem a envoltar amb cometes simples,
Coma 'coma' mantega de cacauet LIGHT BROWN 'True.
Ara, és important donar a cada fila un número únic per identificar-se.
Autoincrementing una columna proporciona això com
"No hi ha dos identificadors dels mateixos mai poden existir en aquesta taula".
Seguirem endavant i executar.
Aquí anem, tot organitzat.
>> La següent sentència SQL que escriurem és una instrucció d'actualització.
La declaració d'actualització pot ser utilitzada per modificar les dades dins d'una columna
per qualsevol fila existent a la taula de base de dades.
Anteriorment en aquest escenari, utilitzant una instrucció de selecció, hem identificat una magdalena
dins de la nostra taula cupcake_cupboard, el valor CakeIsNice era falsa.
Anem a suposar que, si bé el nostre magdalena mantega de cacauet era al forn,
vam fer la nostra magdalena no tan agradable molt agradable.
En estar tan excepcionalment organitzat, volem que la nostra magdalena per reflectir aquest valor
en la nostra taula cupcake_cupboard.
Per tant, anem a actualitzar el nostre magdalena de xocolata a la base de dades per reflectir això.
La sintaxi és: espai ACTUALITZACIÓ nostra taula, cupcake_cupboard, espai espai SET
la columna que voleu canviar, CakeIsNice =.
Llavors aquí posem el nostre espai veritable valor nou.
Ara, pel fet que no desitja actualitzar totes les files amb aquest valor,
volem proporcionar una clàusula "Where" que ens precisar
a la fila exacta que volem modificar.
En aquest cas, se sap que només hi ha una magdalena
que té un valor de False CakeIsNice.
D'altra banda, també s'ha d'assegurar que estem actualitzant la fila correcta
mitjançant l'ús de la "I" clàusula.
Fem servir la "I" clàusula de refinar la nostra consulta addicional.
En aquest cas, perquè sabem que és la magdalena de xocolata,
utilitzarem aquesta columna CakeType.
On l'espai del nostre espai condicional columna CakeIsNice espai = False,
i l'espai CakeType = 'XOCOLATA'.
Per tant, posar tot junt, aquesta declaració diu actualització
trobar tots els cupcakes en el nostre armari magdalena,
i si hi ha una magdalena, la columna CakeIsNice conté el valor False
i CakeType conté la xocolata de valor,
volem actualitzar el valor de files específic CakeIsNice a True.
Per tant, seguirem endavant i executar la sentència.
I ara, estem organitzats.
>> Tota aquesta xerrada de magdalenes m'ha fet una mica de fam.
Crec que hauria de ajudar-me a mi mateix a un.
Però si realment menjar aquesta magdalena, jo hauria almenys també eliminar la seva existència
des de la nostra taula cupcake_cupboard.
Per això, utilitzarem el botó "Elimina" declaració.
El "Elimina" estat de compte es pot utilitzar per eliminar totes o algunes files de la taula.
Si voleu eliminar alguna fila específica de la taula,
llavors vostè ha de proporcionar una clàusula "Where", amb el que especifica una columna
que ha de ser únic per a la fila que voleu suprimir.
Aquesta és la sintaxi: DELETE espai des de l'espai la nostra taula, cupcake_cupboard, espai.
Ara, en aquest punt, sempre que estigui tan lluny en la seva sentència delete
vostè vol ser molt curós.
Per exemple, si voleu executar aquesta consulta com és, sense proporcionar alguna clàusula "Where"
M'agradaria perdre totes les dades en aquesta taula cupcake_cupboard,
sinó perquè jo ja sé que el meu ID de pastís són únics, vaig a utilitzar
la Xarxa Velvet ID pastís per a mi "On" clàusula.
On l'espai de la nostra columna, CakeID = 1.
Com que aquest és un valor enter que no és necessari que l'envolten en cometes simples.
Per tant, anem a executar la sentència.
Bé, ara que hem eliminat l'existència d'aquest magdalena
des de la nostra taula cupcake_cupboard, només tenim una cosa a l'esquerra:
Fer desaparèixer.
Sóc Christopher Bartholomew. Això és CS50.