Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados B7WEB O PhpMyadmin é um tipo de banco de dados que usa SQL que vem junto ao wamp quando é bixado no computador, para acessar basta digitar: http : //localhost/phpmyadmin/ Em SQL os nomes dos comandos é sempre interessante colocar em letras maiusculas, o programa não deixara de funcionar caso seja colocado em minusculo, porém é uma "regra" colocar em maiusculo. E os nomes das "variaveis" é colocado em minusculo, terminando sempre com ";". Para criar um banco de dados em PhpMyAdmin basta colocar: CREATE DATABASE nomedavariavel ; Há tambem outra maneira de criar um banco de dados que é indo até o comando base de dados e então escolhendo um nome do banco de dados e em seguida escolhendo o tipo UTF-8-GENERAL-CI. O comando SELECT O select no SQL é o comando para pegar uma informação armazenada na tabela, assim usa-se como no exemplo: SELECT nome , email FROM usuarios ; Onde nome e email são duas variaveis que armazenam o nome e o email do usuario que logar, e usuarios é o nome da tabela onde estão essas informações. Para selecionar tudo que esta dentro do banco de dados usa-se o comando: SELECT * FROM usuarios ; O asterisco signica que estou selecionando tudo dentro da tabela. O comando INSERT Para inserir dados dentro de uma tabela usando a linha de código usa-se o comando: INSERT INTO nome , e_mail FROM usuarios ; Sendo que insert signica inserir e into é dentro ou seja inserir dentro de nome, e_mail que são as variaveis que foram cadastradas nas tabelas, from é igual ao select, ou seja o comando inteiro seria: inserir dentro de nome, e_mail dentro da tabela usuarios. É possivel inserir dados dentro de uma tabela de uma outa forma como: INSERT INTO usuarios ( nome , e_mail ) VALUES ( 'pedro' , 'pedroe8@gmail.com' ) ; Esta nova forma é parecida coma antiga mudando apenas no modo em que é escrito pois a mesma tem a função igual. Porem o código acima é um código universal, sendo usado em varios tipos de banco de dados. O comando UPDATE Para usar este comando que atualiza uma parte da tabela escolhida pelo programador, é usado o comando: UPDATE usuarios SET senha = '1234' WHERE nome = 'Pedro' ; Assim estou falando para o programa que quero atualizar a tabela usuarios mudando a senha para 1234 onde o nome na linha for Pedro, sendo SET o valor que será modicado e WHERE onde será modicado. O comando DELETE O comando delete é usado para deletar uma determinada linha, tem sua sintaxe como: DELETE FROM usuarios WHERE id = '1' ; O comando acima esta executando a seguinte função, deletar na tabela usuarios onde o id for 1, ou seja todas as informações contidas dentro do id 1 será descartado. Filtrando com WHERE Para ltrar com WHERE no select usa-se o comando: SELECT * FROM usuarios WHERE id = 1 ; Assim estou pedindo para o banco de dados me mostrar todas as informações da tebala usuarios onde o id for igual a 1, logo aparecerá apenas as informações do usuarios 1. Para fazer uma busca de um email usando o WHERE, basta trocar o id = 1 por email = 'pedro.penha.martins@gmail.com'; por exemplo, é possivel usar tambem o comando para mostrar dois usuarios como por exemplo mostrar apenas o usuarios com id 1 e id 2 ou email tal e senha tal, usando o comando: SELECT * FROM usuarios WHERE ( email = 'pedro.penha.martins@gmail.com' && senha = '122345' ) || ( email = luiz_nonis @gmail.com ' && senha = ' 9876 ' ) ; Portanto com o comando acima, apenas irá aparecer as informações dos usuarios com o email pedro.penha.martins e luiz_nonis@gmail.com caso a senha dos dois estejam corretas, caso a senha de um usuario não esteja correta apenas ira aparecer a informação do usuario que esteja com as informações de email e senha corretas. LIKE, BETWEEN e IN O comando like é um comando que completa o nome que for digitado por exemplo, sua sintaxe é: SELECT * FROM usuarios WHERE nome LIKE 'Pe%' ; O simbolo de porcentagem é como se estivesse dizendo ao SQL que tudo após Pe poderá ser ignorado, assim pegando as informações de todos os nomes que comecessem com Pe. É possivel fazer o mesmo comando para o começo do nome por exemplo, basta mudar o mod de lugar como no exemplo: SELECT * FROM usuarios WHERE nome LIKE '%dro' ; Assim pegando todos os nomes que terminem com dro dentro do banco de dados, é possivel por exemplo em um email, ltrar por apenas emails sendo gmail: SELECT * FROM usuarios WHERE email LIKE '%@gmail%' ; Sendo neste comando preciso colocar o mod para complementar o inicio da frase e o m dela. O comando BETWEEN é usado para procurar datas indo de um determinado ano até outro, usando o seguinte comando: SELECT * FROM usuarios WHERE data_nascimento BETWEEN 2016 - 12 - 01 AND 2017 - 12 - 01 ; Assim o comando acima irá pegar informações dos usuarios nascidos no m de 2016 até o m de 2017, o comando é muito usado para procurar datas. O comando IN é usado para simplicar o comando: SELECT * FROM usuarios WHERE id = 1 || id = 2 ; Ficando então: SELECT * FROM usuarios WHERE id IN ( 1 , 2 ) ; Os dois comanodos fazem a mesma coisa, mudando apenas a sintaxe e a simplicidade no modo de escrever, tornando mais facil. Filtrando com HAVING É possivel criar uma coluna temporaria no banco de dados SQL, colocando o seguinte comando: SELECT * , ( id + 10 ) as soma FROM usuarios ; Fazendo então o SQL criar uma nova tabela denominada soma que irá receber os valores de id + 10, lembrando que este comando não altera os valores em id e sim apenas acrescenta uma nova tabela temporaria no meu banco de dados. Sendo que soma pode ser qualquer nome que o programador quiser. O comando WHERE e o comando HAVING são parecidos com uma diferença que é, quando se cria uma nova coluna temporaria a mesma não é possivel ltrar usando WHERE, portanto usa-se o comando HAVING: SELECT * , ( id * 10 ) as soma FROM usuarios HAVING soma < 11 ; O HAVING primeiro processa todo o banco de dados e depois ele ltra, o WHERE ltra antes de computar tudo, ou seja se o WHERE for id = 1 o WHERE ja vai direto no id 1, ja o HAVING vai procurar o id 1 depois de processar todo o banco de dados. ORDER BY e LIMIT Para ordenar uma coluna em ordem crescente ou decrescente, usa-se o comando: SELECT * FROM usuarios ORDER BY data_nascimento ASC ; Caso queira deixar de forma crescente basta colocar, ORDER BY data_nascimento ASC e para colocar de modo decrescente usa-se o comando DESC. O LIMIT busca o limite de exibição que o programador quer, ou seja se eu quero mostras apenas os dois primeiros faz-se: SELECT * FROM usuarios LIMIT 0 , 1 ; Assim mostrando apenas os usuarios com id 1 e 2, é colocado como 0, 1 pois o mesmo trabalha como um vetor, comaçando de 0. É possivel unir o LIMIT com o ORDER BY, fazendo o mesmo car ordenado em crescente ou decrescente e ao mesmo tempo tendo um limite de exibição de tantos IDs. GROUP BY Para adicionar uma contgem é uado o comando: SELECT COUNT ( * ) as contagem FROM usuarios ; Assim adicionando uma nova tabela contendo as informações de contagem, é melhor visto para o comando: SELECT COUNT ( * ) as contagem , faixa FROM usuarios GROUP BY faixa ; Onde GROUP BY agrupa a coluna faixa, criando então uma coluna de contagem que conta quantas pessoas existem com a faixa x e quantas existem com a faixa y no meu banco de dados. Relacionamento de tabelas É tido como tipos de relacionamento o tipo 1:N que signica um pra muitos, depois deste, existe o relacionamento 1:1 ou seja um item esta relcionado apenas com um outro item, e então tem-setambem N:N que seria muitos para muitos é muito incomum de aparecer mas pode ser que aconteça. Como por exemplo em uma loja com tenis da cor preta, ou seja temos muitos tenis de cor preta, sendo assim N:N. No nosso banco de dados é preciso criar uma nova tabela para colocar-se as faixas que foram denidas nos usuarios anteriormente, logo, se na nova tabela tivermos o ID 1 então a faixa 1 será diretamente relacional, e o ID 2 será diretamente relacional com a faixa 2 da tabela usuarios, assim criando um tipo de relacionamento do tipo 1:N sendo que o 1 seriam as tabelas de salario e N seriam os usuarios com a faixa 1 ou 2 que se relacionam com os IDs da tabelas de valores. Consulta avançada com JOIN Quando tem-se mais de uma tabela dentro de um banco de dados usa-se para chamar ela no SELECT o comando: SELECT usuarios . nome , valores . titulo FROM usuarios ; Para especicar que estou pegando o valor de usuarios na variavel nome. INNER JOIN O inner join faz a junção de uma tabela com a outra, por exemplo na tabela acima tinham-se a coluna faixa que dava um numero de apenas 1 digito em que será ltrado em uma nova tabela a faixa salarial de tal pessoa, então usa-se no select da seguinte forma: SELECT usuarios . nome , valores . titulo FROM usuarios INNER JOIN valores ON valores . id = usuarios . faixa ; Em que usuarios.nome é o programador dizendo ao SQL para ele ir na tabela usuarios e na coluna nome para pegar essas informações, e então valores.titulo é o programador dizendo a tabela valores para pegar as informações da coluna titulo e então entra-se o INNER JOIN pegando a tabela valores e ON é a junção da tabela valores no seu id com a faixa do usuario, ou seja, no ID 1 será a faixa salarial que entrará de acordo com a faixa descrita na tabela usuarios e assim por diante. SELECT usuarios . id , usuarios . nome , usuarios . email , usuarios . data_nascimento , valores . titulo as faixa FROM usuarios INNER JOIN valores ON valores . id = usuarios . faixa O comando acima esta mostrando completamente todas as informações dentro das tabelas. LEFT JOIN Aqui o LEFT JOIN prioriza as informações da tabela da esquerda, ou seja da segunda tabela criada denominada de valores, assim colocando todos os item para ser mostrado, inclusive itens que foram atribuidos na tabela usuarios que na qual não foi atribuido uma faixa existente na tabela valores. Unica coisa que muda no código é: SELECT usuarios . nome , valores . titulo FROM usuarios LEFT JOIN valores ON valores . id = usuarios . f aixa ; RIGHT JOIN Funciona da mesma forma que o LEFT JOIN, porem retornando todos os valores que foram colocados dentro da tabela valores, sem se importar com a relação de ids e faixas da tabela usuarios. SELECT usuarios . nome , valores . titulo FROM usuarios RIGHT JOIN valores ON valores . id = usuarios . faixa ; Subconsultas com SubQuery SELECT usuarios . nome , ( select valores . titulo from valores where valores . id = usuarios . faixa ) as faixa FROM usuarios ; Para fazer uma subconsulta usa-se o (select valores.titulo from valores where valores.id = usuarios.faixa) assim o mesmo faz varias subconsultas o que não é muito recomendado por demandar muitos passos para ser concluida. Criação de funções Para criar funções no SQL usa-se o comando CREATE FUNCTION NOMEDAFUNCAO(parametros) como no exemplo de uma função de soma a baixo: CREATE FUNCTION SOMAR ( x INT ( 10 ) , y INT ( 10 ) ) BEGIN DECLARE R INT ( 10 ) ; SET r = x + y ; RETURN R ; END $$ Sendo R um inteiro, para denir o tipo do numero no SQL usa-se o nome da variavel seguida do seu tipo, como por exemplo DECLARE P INT(10) assim dizendo que a variavel P tem tamanho de 10 caracteres ou 10 digitos. As funções cam armazenadas dentro do banco de dados que na qual foram criadas, portanto podendo ser acessado por qualquer tabela. VIEWS Uma viwe é uma tabela virtual, uma tabela falsa, para criar uma tabela virtual usa-se a seguinte sintaxe: CREATE VIEW nomedaview AS SELECT * FROM usuarios WHERE faixa = 1 ;
Compartilhar