Professional Documents
Culture Documents
Durante todo o curso usaremos o terminal do MySQL. Apesar dele não ser a melhor interface
gráfica, ele é igual para todas as plataformas, e não muda de versão para versão. Se você já
conhecer alguma, não há problema de fazer uso dela.
Abra o terminal do seu sistema operacional. No Windows, digite cmd no Executar. No Mac e
Linux, abra o terminal. Nele, vamos entrar no MySQL:
mysql -uroot -p
Esse é o comando para nos conectarmos no MySQL que está instalado na máquina. O -
uindica o usuário root, e o -p é porque digitaremos a senha. Como não há senha, pressione
enter.
Vamos agora criar um banco de dados; afinal o MySQL pode tomar conta de vários bancos
diferentes. O create database cria, e o use diz ao MySQL que é o banco que queremos
usar.
create database controle_compras;
use controle_compras;
Agora, vamos criar nossa primeira tabela. Tabela é como se fosse uma planilha do Excel,
onde temos colunas, cada uma representando uma informação diferente, por exemplo, nome
do produto, preço, etc, e linhas, onde cada linha é um dado em particular, por exemplo,
geladeira, 50 reais.
create table COMPRAS (id int auto_increment primary key, valor double, data date,
observacoes varchar(255), recebido boolean);
Repare que na instrução acima, passamos o nome da tabela (COMPRAS), e depois a lista de
colunas (id, valor, data, descrição e recebido). Passamos também o tipo de cada uma, ou
seja valor é double, data é date, e assim por diante.
O id é um campo em particular, estamos usando ele como um identificador único para aquela
linha. Pense no mundo real, o seu RG é uma chave importante, pois ele consegue identificar
um brasileiro dentre todos os outros, ele é um número e é sequencial, alguém tinha o RG 1 e
agora alguém tem o RG 223334446, essa chave é tão importante que chamamos de chave
primária. A chave primária não precisa necessariamente ser sequencial, mas deve ser única:
não devem existir duas pessoas com o mesmo RG, assim como não devem existir dois cursos
com o mesmo código, dois produtos diferentes com o mesmo código de barra, etc. Por isso
que dizemos que o campo id é primary key, ou seja, chave primária. Além disso, dizemos
que ele é sequencial, serial, cresce de um em um, isto é, um número inteiro que
é incrementado automaticamente a cada novo produto: int auto_increment.
Consultando dados
Queremos inserir na tabela COMPRAS, então começamos a instrução:
INSERT INTO COMPRAS
Em seguida, passamos os valores que queremos inserir. Por exemplo, suponha uma compra de
100,00 no dia 12/05/2007, que foi recebida, e que tem a observação 'COMPRAS DE MAIO':
Pronto. Com essa compra já inserida nesse banco de dados, vamos começar a consultá-las. Se
quiséssemos, por exemplo, ver todas as compras já cadastradas na minha lista, faríamos:
Podemos inclusive criar novas colunas a partir das já existentes. Por exemplo, caso
quiséssemos exibir, além de valor e data, o triplo de cada valor, poderíamos fazer:
Mas recuperar todas as informações de uma tabela de uma só vez não é comum. Geralmente
aplicamos filtros sobre esses resultados. Vamos supor que precisássemos saber todas as
compras com valor superior a 1.000,00 reais. Poderíamos deixar esse filtro claro na instrução
SQL:
Podemos montar filtros ainda mais complexos. Por exemplo, caso precisássemos de todas as
compras com valor superior a 1.000,00 reais e inferior a 3.000,00, poderíamos fazer:
SELECT * FROM COMPRAS WHERE VALOR > 1000 AND VALOR < 3000
Ainda mais complexa: filtrar todas as compras cujo valor é superior a 1.000,00 reais e inferior
a 3.000,00 ou a data seja inferior a 12/02/2010:
SELECT * FROM COMPRAS WHERE (VALOR > 1000 AND VALOR < 3000) OR (DATA < '2010-02-12')
Repare no uso dos parênteses; eles indicam que a linha deve ser selecionado caso VALOR >
1000 AND VALOR < 3000 ou DATA < '2010-02-12'. Você pode montar a expressão que
quiser, usando ANDs, ORs. Além de maior e menor, a SQL suporta outros tipos de consultas,
como por exemplo:
Maior-ou-igual:
Menor-ou-igual:
Diferente:
Podemos filtrar também por textos. Se quiséssemos, por exemplo, buscar todas as compras
cuja observação seja igual a "COMPRAS DE JANEIRO", podemos fazer:
Repare o uso das aspas simples ('). Ela indica que o conteúdo que será passado é do tipo texto.
O "igual" irá buscar por linhas que possuem essa observação. Mas as vezes queremos buscar
por apenas uma parte do texto. Por exemplo, caso quiséssemos todas as compras cuja
observação começasse com o texto "COMPRAS", independentemente do que viesse a seguir,
deveríamos fazer:
Na próxima página você terá duas opções: o arquivo de menor tamanho irá realizar o
download do que for necessário apenas no momento da instalação; o de maior tamanho irá
conter tudo que é necessário para instalar. Aqui vamos baixar o arquivo maior.
Mais uma página será exibida, você deve clicar em "No thanks, just start my download.", e o
download do arquivo irá iniciar.
Execute o arquivo baixado. Na primeira tela, marque o checkbox para aceitar a licença e
clique em "Next".
Na próxima tela, você pode marcar a opção "Server only". Isso é suficiente para realizar as
atividades do curso.
Agora você deve clicar em "Execute" para iniciar a instalação. Após o processo ser concluído
clique em "Next".
Nas próximas duas tela também clique em "Next".
Agora será necessário definir uma senha para o usuário root. Após digitar a mesma senha
nos dois campos clique em "Next".
A próxima tela diz respeito ao serviço do mysql. Aqui você pode manter as opções padrões e
apenas clicar em "Next".
Agora clique em "Execute" para que as configurações sejam aplicadas.
Clique em "Finish" para finalizar a intalação.
Adicionando o MySQL a variável de ambiente Path
O MySQL foi instalado, mas se tentarmos executar o comando mysql no Prompt de Comando
do Windows, receberemos uma mensagem informando que o comando não é reconhecido.
Para que seja possível executar o comando mysql no Prompt de Comando a partir de qualquer
diretório, precisamos configurar as variáveis de ambiente do Windows.
No Windows 10, Acesse o seguinte menu. Em versões anteriores do Windows, você pode
clicar com o botão direito em "Computador", no menu iniciar, e escolher a opção
"propriedades". Você também pode utilizar o atalho "Tecla do Windows (tecla Super) + Pause
Break".
Na tela que será exibida, clique em "Configurações avançadas do sistema".
Na janela propriedades so sistema, na aba "Avançado", clique em variáveis de ambiente.
Em "Variáveis do sistema", selecione a variável "Path" e clique em editar. Não crie uma nova
variável.
Os diretórios que estão definidos na variável Path são diretório em que os comandos que
digitamos no terminal são procurados. Por esse motivo vamos inserir o caminho do diretório
do MySQL nessa variável.
Na janela que irá aparecer, clique no botão "Editar" e adicione o caminho para o
diretório bindo MySQL. Por padrão o MySQL fica no diretório C:\Arquivos de
Programas\MySQL\MySQL Server 5.7. Você deve checar onde o seu MySQL foi instalado
e alterar o caminho de acordo com sua instalação. Lembre-se que desejamos adicionar o
diretório bin, onde ficam os executáveis do MySQL.
Em versões anteriores do Windows, ao editar a variável Path, será mostrada apenas uma
janela onde vários caminhos estão definidos, separados por ponto e vírgula. Você deve
adicionar um ponto e vírgula no final e adionar o diretório do MySQL.
Finalize clicando no botão "OK" em todas as janelas.
Abra o prompt de comando e tente executar o seguinte comando para acessar o mysql. Digite
o comando e pressione "Enter":
mysql -u root -p
mysql -uroot -p
create database controle_compras;
use controle_compras;
Agora vamos criar a tabela. Ela precisa ter os seguintes campos: id inteiro numeração
incremental automática e chave primária, valor número com vírgula, data, descricao com
tamanho de 255 caracteres, observacoes com tamanho de 255 caracteres e um booleano para
marcar se a compra foi recebido. A tabela deve se chamar "COMPRAS".
Resposta
create table COMPRAS (id int auto_increment primary key, valor
double,data date, descricao varchar(255), observacoes varchar(255),
recebido boolean);
Populando o banco
Aluno: Se tiver conectado com MySQL, digite exit para sair do prompt do MySQL e
voltar para o prompt padrão.
Clique aqui e faça o download do arquivo .sql, e importe no MySQL:
mysql -u root -p
Em seguida, execute o select para garantir que todas as informaçoes foram adicionadas:
DICA: Salve o arquivo cap2.sql em uma pasta que você possa acessar facilmente
através linha de comando. O arquivo deve estar no mesmo lugar onde você executará o
comando:
Selecione VALOR e OBSERVAÇÕES de todas as compras cuja data seja maior-ou-igual que
15/12/2008. Cole a instrução SQL aqui quando acabar
Resposta
SELECT VALOR, OBSERVACOES FROM COMPRAS WHERE DATA >= '2008-12-15';
Resposta
SELECT * FROM COMPRAS WHERE DATA >= '2008-12-15' AND DATA < '2010-12-15';
Resposta
SELECT * FROM COMPRAS WHERE VALOR >= 15.0 AND VALOR <= 35.0 AND
OBSERVACOES LIKE 'LANCHONETE%';
Filtrando campos booleanos
Selecione todas as compras que já foram recebidas. Cole a instrução SQL aqui quando
acabar.
Resposta
SELECT * FROM COMPRAS WHERE RECEBIDO = 1;
Resposta
SELECT * FROM COMPRAS WHERE RECEBIDO = 0;
Operador OR
Selecione todas as compras com valor maior que 5.000,00 ou que já foram recebidas. Cole a
instrução SQL aqui quando acabar.
Resposta
SELECT * FROM COMPRAS WHERE RECEBIDO = 1 OR VALOR > 5000;. Lembre que caso
queira trabalhar com o valor nas casas decimais, o separador utilizado deverá ser o ponto,
como em:
SELECT * FROM COMPRAS WHERE RECEBIDO = 1 OR VALOR > 5000.47;