[Powered by Google Translate] [SQL] [Christopher Bartolomeu] [Harvard University] [Esta é CS50] [CS50 TV] Así, os desenvolvedores usan bases de datos como unha ferramenta para almacenar e organizar nosos datos persistentes dentro de táboas. Isto significa que os datos se almacenan en non volátiles medianas, como un disco duro, e mesmo cando o ordenador está apagado, os datos aínda está intacto. E, como desenvolvedores, os nosos programas utilizan bases de datos para escenarios como o almacenamento información de usuario de formularios web, buscar-se o inventario, ou actualización de información sobre os sitios que exhiben. Pero como nós realmente interactuar co noso banco de datos, ou o que usan para ler, gardar, eliminar e actualizar os nosos datos dentro destas táboas da base de datos? Ben, a resposta é que usamos un tipo especial de linguaxe de base de datos que interactúa directamente coas táboas do noso banco de datos. O seu nome é Structured Query Language, [Structured Query Language] ou o que eu chamo de SQL. Agora, [se Quel], ou SQL, non é unha linguaxe de programación, pero en vez diso, é unha linguaxe que ofrece un conxunto patrón de comandos para obter e manipular os datos a partir dunha variedade de sistemas de xestión de bases de datos. Para os efectos do CS50, nós imos pasar por riba de catro comandos básicos: seleccionar, inserir, actualizar e borrar. Ademais, imos empregar unha interface web base de datos chamado phpMyAdmin, que instalou o aparello para escribir as nosas instrucións SQL. Entón, para axudar a lembrar eses comandos, Eu trouxo algúns galletas nun armario para axudar cos nosos escenarios. Digamos que teña unha base de datos do queque, onde almacenar todas as informacións sobre o seu cupcakes. Agora, os bancos de datos pode conter varias táboas e as propias táboas pode conter moitas columnas. Dentro da base de datos noso queque, temos unha táboa chamada cupcake_cupboard. Esta táboa será usado para almacenar toda a información sobre queques que son, así, no seu armario. As columnas que están dentro da súa táboa represéntanse os atributos dun Cupcake. Por exemplo, as columnas son a cupcake_cupboard Bolo de identificación, CakeType, CakeColor e CakeIsNice. Esta columna booleana ingresaran é usado para determinar se o bolo é agradable ou non agradable. Nós imos comezar coa escritura dunha instrución SELECT. Instrucións de selección son usadas para recuperar datos dunha táboa de base de datos. Neste escenario, queremos saber todo sobre todos os boliñas que existen no noso armario. A sintaxe para facer iso é espazo estrela "Select", ou *, o espazo a partir do espazo nosa mesa, que é cupcake_cupboard. Imos adiante e executar isto. Como podemos ver, estes son todos os cupcakes no noso armario. É importante notar que, * ou asterisco, é un personaxe Coringa que denota a reunión de todas as columnas dunha táboa. Normalmente, podemos acceder a unha columna ou columnas específicas substituíndo * co nome da columna actual. Se queremos que varias columnas, pero non todos podemos alcanzar este escribindo os nomes das columnas que delimitan cada columna por unha coma. Por exemplo, imos só recuperar o CakeId e CakeType na táboa cupcake_cupboard. A sintaxe para facelo é: SELECT espazo coma CakeID CakeType espazo da nosa táboa de cupcake_cupboard. Imos adiante e executar isto. E aquí, agora só as dúas columnas que especificamos para cada Cupcake no noso armario. Tamén pode refinar os resultados da consulta, especificando a cláusula "Where" logo o nome da táboa. Por exemplo, parece haber un queque no noso armario é dicir, ben, non tan agradable mirando. Imos descubrir todos os queques no noso armario que son, así, non tan bo ollar usar a cláusula "Where". A sintaxe para facelo é: SELECT * espazo espazo de cupcake_cupboard espazo espazo cando o espazo a columna condicional, neste caso CakeIsNice =, eo valor booleano falso. É importante notar que, se está a usar cordas, ten que poñelas entre comiñas simples. Isto é certo para todas as cadeas en SQL ou, en termos de base de datos SQL, variante caracteres coñecido como Varchar tipo de datos. Neste caso, estamos usando verdadeiro ou falso, o que é un valor booleano e non unha cadea. Imos adiante e executar este comando. E velaí, que é o caso que nos 1 chocolate non tan bo queque no noso armario. A continuación, imos escribir unha declaración de inserción. Instrucións de inserción son usados ​​para inserir ou engadir liñas adicionais de datos na súa táboa de base de datos. Revisitando o noso escenario, imos supor que acaba de facer un Cupcake novo. Unha vez que estamos moi organizado comedores queque, nós imos ter que introducir este novo queque na nosa mesa cupcake_cupboard. A sintaxe para facelo é o seguinte: Inserir espazo en espazo a nosa mesa, espazo cupcake_cupboard, (, e aquí especificar os nomes das columnas, delimitado por comas, CakeType coma CakeColor espazo coma CakeIsNice). Tras iso, nós escribimos a palabra espazo VALUES (e aquí Entramos no valor de cada columna, respectivamente, tamén delimitado por comas. Comiñas simples, porque son todos os valores Varchar imos cerca-los entre comiñas simples, Coma 'coma' manteiga de cacahuete LUZ BROWN 'True. Agora, é importante dar a cada liña un número único para identificarse. Autoincremental unha columna proporciona esta tan  "Non hai dous iguais identificacións pode nunca existir na táboa." Imos adiante e executar. Alí imos nós, todo organizado. A instrución SQL seguinte que imos escribir é unha instrución de actualización. A instrución de actualización pode ser usado para modificar os datos dentro dunha columna para calquera liña existente na táboa de base de datos. No inicio do noso escenario, usando unha declaración de selección, identificamos un Cupcake dentro da nosa mesa cupcake_cupboard, cuxo valor CakeIsNice era falsa. Imos supor que, aínda que o noso queque manteiga de cacahuete estaba ó forno, fixemos o noso queque non tan agradable moi agradable. Sendo tan excepcionalmente organizado, queremos que o noso queque para reflectir este valor na nosa mesa cupcake_cupboard. Polo tanto, imos actualizar o seu bolinha de chocolate na base de datos para reflectir iso. A sintaxe é: Update espazo nosa mesa, cupcake_cupboard, espazo SET espazo a columna que quere cambiar, CakeIsNice =. Entón, aquí poñemos o noso espazo novo valor True. Agora, porque non queremos para actualizar todas as liñas con este valor, queremos proporcionar unha cláusula "Where" que ha identificar-nos para a liña exacta que queremos modificar. Neste caso, sabemos que existe só un queque que ten un valor de CakeIsNice False. Ademais, tamén imos garantir que estamos a actualizar a liña correcta usando o "E" cláusula. Usamos o "E" cláusula de refinar aínda máis a nosa consulta. Neste caso, porque sabemos que o Cupcake é de chocolate, imos usar esta columna CakeType. ONDE noso espazo condicional columna espazo espazo CakeIsNice = False, e espazo CakeType = 'chocolate. Entón, xuntando todo, esa instrución de actualización di atopar todos os cupcakes no noso armario Cupcake, e, se hai un queque cuxa columna contén o valor CakeIsNice False e CakeType contén o valor chocolate, queremos actualizar o valor CakeIsNice específico liñas para True. Entón, imos adiante e executar a instrución. E agora, estamos organizados. Toda esa conversa de cupcakes me fixo un pouco de fame. Eu creo que debe axudar-me a un. Pero se realmente comer ese Cupcake, que eu debería polo menos tamén eliminar a súa existencia  da nosa táboa de cupcake_cupboard. Para iso, imos utilizar o "Delete" afirmación. O "Delete" afirmación pode ser usado para eliminar todas ou algunhas liñas da táboa. Se desexa eliminar algunha liña específica da mesa, a continuación, ten que proporcionar unha cláusula "Where", así, especificando unha columna que debe ser exclusivo para a liña que desexa eliminar. Esta é a sintaxe: DELETE espazo do espazo nosa mesa, cupcake_cupboard espazo. Agora, neste momento, sempre que está tan lonxe na súa instrución de exclusión quere ser moi coidadoso. Por exemplo, se eu queira facer esa consulta como está, sen ofrecer algunha cláusula "Where" Eu perdería todos os datos nesta táboa cupcake_cupboard, senón porque eu xa sei que o meu bolo IDs son únicos, eu vou usar o ID de bolo Red Velvet o meu cláusula "Where". Onde o espazo nosa columna, CakeID = 1. Porque este é un valor enteiro, non hai necesidade de preto-lo entre comiñas simples. Entón, imos realizar a instrución. Ben, agora que xa limpou a existencia deste queque da nosa táboa de cupcake_cupboard, só temos unha cousa á esquerda: Facelo desaparecer. Eu son Christopher Bartolomeu. Este é CS50.