[Powered by Google Translate] [SQL] [Christopher BARTOLOMEU] [Harvard University] [Esta é CS50] [CS50 TV] Assim, os programadores usam bancos de dados como uma ferramenta para armazenar e organizar nossos dados persistentes dentro de tabelas. Isto significa que os dados são armazenados em não-voláteis medianas, como um disco rígido, e mesmo quando o computador está desligado, os dados ainda está intacto. E, como programadores, nossos programas utilizam bases de dados para cenários como o armazenamento informações de usuário de formulários web, procurando-se o inventário, ou atualização de informações sobre os sites que exibem. Mas como nós realmente interagir com nosso banco de dados, ou o que usamos para ler, armazenar, excluir e atualizar nossos dados dentro destas tabelas do banco de dados? Bem, a resposta é que nós usamos um tipo especial de linguagem de banco de dados que interage diretamente com as tabelas de nosso banco de dados. Seu nome é Structured Query Language, [Structured Query Language] ou o que eu chamo de SQL. Agora, [Se-Quel], ou SQL, não é uma linguagem de programação, mas em vez disso, é uma linguagem que fornece um conjunto padrão de comandos para obter e manipular os dados a partir de uma variedade de sistemas de gestão de bases de dados. Para efeitos do CS50, nós vamos passar por cima de quatro comandos básicos: selecionar, inserir, atualizar e excluir. Além disso, vamos utilizar uma interface web banco de dados chamado phpMyAdmin, que instalou o aparelho para escrever nossas instruções SQL. Então, para ajudar a lembrar esses comandos, Eu trouxe alguns biscoitos em um armário para ajudar com nossos cenários. Digamos que você tenha um banco de dados do queque, onde você armazenar todas as informações sobre o seu cupcakes. Agora, os bancos de dados pode conter várias tabelas e as próprias tabelas pode conter muitas colunas. Dentro do banco de dados nosso queque, temos uma tabela chamada cupcake_cupboard. Esta tabela será usado para armazenar toda a informação sobre queques que são, assim, em seu armário. As colunas que estão dentro de sua tabela representam os atributos de um cupcake. Por exemplo, as colunas são a cupcake_cupboard Bolo de identificação, CakeType, CakeColor e CakeIsNice. Esta coluna booleana digitado é usado para determinar se o bolo é agradável ou não agradável. Nós vamos começar com a escrita de uma instrução select. Instruções de seleção são usadas para recuperar dados de uma tabela de banco de dados. Neste cenário, queremos saber tudo sobre todos os bolinhos que existem em nosso armário. A sintaxe para fazer isso é espaço estrela "Select", ou *, o espaço a partir do espaço nossa mesa, que é cupcake_cupboard. Vamos em frente e executar isso. Como podemos ver, estes são todos os cupcakes no nosso armário. É importante notar que, * ou asterisco, é um personagem coringa que denota a reunião de todas as colunas de uma tabela. Normalmente, podemos acessar uma coluna ou colunas específicas substituindo * com o nome da coluna atual. Se queremos que várias colunas, mas não todos, podemos alcançar este escrevendo os nomes das colunas que delimitam cada coluna por uma vírgula. Por exemplo, vamos apenas recuperar o CakeId e CakeType na tabela cupcake_cupboard. A sintaxe para fazer isso é: SELECT espaço vírgula CakeID CakeType espaço da nossa tabela de cupcake_cupboard. Vamos em frente e executar isso. E aqui, agora só tem as duas colunas que especificamos para cada cupcake no nosso armário. Nós também pode refinar os resultados da consulta, especificando a cláusula "Where" logo após o nome da tabela. Por exemplo, parece haver um queque no nosso armário isto é, bem, não tão agradável olhando. Vamos descobrir todos os queques no nosso armário que são, bem, não tão bom olhar usando a cláusula "Where". A sintaxe para fazer isso é: SELECT * espaço espaço DE cupcake_cupboard espaço espaço quando o espaço a coluna condicional, neste caso CakeIsNice =, eo valor booleano False. É importante notar que, se você estiver usando cordas, você deve colocá-lo entre aspas simples. Isto é verdade para todas as cadeias em SQL, ou, em termos de banco de dados SQL, variante caracteres conhecido como Varchar tipo de dados. Neste caso, estamos usando Verdadeiro ou falso, o que é um valor booleano e não uma string. Vamos em frente e executar este comando. E eis, que é o caso que temos 1 chocolate não tão bom queque no nosso armário. Em seguida, vamos escrever uma declaração de inserção. Instruções de inserção são usados ​​para inserir ou adicionar linhas adicionais de dados em sua tabela de banco de dados. Revisitando o nosso cenário, vamos supor que você acabou de fazer um cupcake novo. Uma vez que estamos muito organizado comedores queque, nós vamos ter que inserir este novo queque em nossa mesa cupcake_cupboard. A sintaxe para fazer isso é o seguinte: Inserir espaço em espaço nossa mesa, espaço cupcake_cupboard, (, e aqui especificar os nomes das colunas, delimitado por uma vírgula, CakeType vírgula CakeColor espaço vírgula CakeIsNice). Após isso, nós escrevemos a palavra espaço VALUES (e aqui entramos no valor para cada coluna, respectivamente, também delimitado por uma vírgula. Aspas simples, porque são todos os valores Varchar vamos cercá-los entre aspas simples, Vírgula 'vírgula' MANTEIGA DE AMENDOIM LUZ BROWN 'True. Agora, é importante dar a cada linha um número único para identificar-se. Autoincremental uma coluna fornece esta tão  "Não existem dois as mesmas identificações pode nunca existir na tabela." Vamos em frente e executar. Lá vamos nós, tudo organizado. A instrução SQL seguinte que vamos escrever é uma instrução de atualização. A instrução de actualização pode ser usado para modificar os dados dentro de uma coluna para qualquer linha existente na tabela de banco de dados. No início de nosso cenário, usando uma declaração de seleção, identificamos um cupcake dentro de nossa mesa cupcake_cupboard, cujo valor CakeIsNice era falsa. Vamos supor que, embora nosso queque manteiga de amendoim estava no forno, fizemos o nosso queque não tão agradável muito agradável. Sendo tão excepcionalmente organizado, queremos que o nosso queque para refletir este valor em nossa mesa cupcake_cupboard. Portanto, vamos atualizar o nosso bolinho de chocolate no banco de dados para refletir isso. A sintaxe é: UPDATE espaço nossa mesa, cupcake_cupboard, espaço SET espaço a coluna que deseja mudar, CakeIsNice =. Então, aqui colocamos nosso espaço novo valor True. Agora, porque não queremos para atualizar todas as linhas com este valor, queremos proporcionar uma cláusula "Where" que irá identificar-nos para a linha exata que queremos modificar. Neste caso, sabemos que existe apenas um queque que tem um valor de CakeIsNice False. Além disso, também vamos garantir que estamos atualizando a linha correta usando o "E" cláusula. Nós usamos o "E" cláusula de refinar ainda mais a nossa consulta. Neste caso, porque sabemos que o cupcake é de chocolate, vamos usar esta coluna CakeType. ONDE nosso espaço condicional coluna espaço espaço CakeIsNice = False, e espaço CakeType = 'CHOCOLATE. Então, juntando tudo, essa instrução de atualização diz encontrar todos os cupcakes no nosso armário cupcake, e, se houver um queque cuja coluna contém o valor CakeIsNice False e CakeType contém o valor CHOCOLATE, queremos atualizar o valor CakeIsNice específico linhas para True. Então, vamos em frente e executar a instrução. E agora, estamos organizados. Toda essa conversa de cupcakes me fez um pouco de fome. Eu acho que deve ajudar-me a um. Mas se eu realmente comer esse cupcake, que eu deveria pelo menos também remover a sua existência  da nossa tabela de cupcake_cupboard. Para fazer isso, vamos usar o "Delete" afirmação. O "Delete" afirmação pode ser usado para remover todas ou algumas linhas da tabela. Se você deseja remover alguma linha específica da mesa, em seguida, você deve fornecer uma cláusula "Where", assim, especificando uma coluna que deve ser exclusivo para a linha que você deseja remover. Esta é a sintaxe: DELETE espaço do espaço nossa mesa, cupcake_cupboard espaço. Agora, neste momento, sempre que você está tão longe em sua instrução de exclusão você quer ser muito cuidadoso. Por exemplo, se eu quiser executar essa consulta como está, sem fornecer alguma cláusula "Where" Eu perderia todos os dados nesta tabela cupcake_cupboard, mas porque eu já sei que o meu bolo IDs são únicos, eu vou usar o ID do bolo Red Velvet para o meu cláusula "Where". Onde o espaço nossa coluna, CakeID = 1. Porque este é um valor inteiro, não há necessidade de cercá-lo entre aspas simples. Então, vamos executar a instrução. Bem, agora que já limpou a existência deste queque da nossa tabela de cupcake_cupboard, só temos uma coisa a esquerda: Fazê-lo desaparecer. Eu sou Christopher Bartolomeu. Este é CS50.