//Comandos SQL:
//CARACTERE QUE FUNCIONA COMO AS ASPAS: ` --> É O ACENTO UTILIZADO NA CRASE
//Mostrar todos os bancos de dados do sistema:
SHOW DATABASES;
//Criação de banco de dados:
CREATE SCHEMA `nome_do_banco`;
//Criação do banco de dados definindo-se codificação e o collate:
CREATE SCHEMA `nome_do_banco` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE DATABASE `nome_do_banco` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
//Também pode se fazer da seguinte forma:
CREATE DATABASE nome_do_banco;
//Deletando o banco de dados
DROP DATABASE nome_do_banco;
//Criando a tabela do banco de dados e seus respectivos campos:
/*Código comentado*/
CREATE TABLE `bd_biblioteca`.`tb_livros`( //CRIA A TABELA NO BANCO DE DADOS RESPECTIVO COM O NOME
tb_livros
`id_livro` INT NOT NULL AUTO_INCREMENT, //CRIA UM CAMPO CHAMADO id_livro sendo do tipo INT, NOT
NULL E TENDO UM AUTO_INCREMENT(preenche automaticamente)
`titulo_livro` VARCHAR(45) NOT NULL, //CRIA UM CAMPO CHAMADO titulo_livro sendo do tipo VARCHAR e
NOT NULL(necessita ser preenchido)
`autor_livro` VARCHAR(60) NOT NULL, //O (60) APÓS O VARCHAR É O NÚMERO DE CARACTERES QUE ELE
SUPORTARÁ
`qtd_livro` INT NOT NULL,
`isbn_livro` VARCHAR(50) NOT NULL, //O VARCHAR SUPORTA NO MÁXIMO 255 CARACTERES
PRIMARY KEY (`id_livro`) //FINALIZA O CÓDIGO DEFININDO O CAMPO QUE SERÁ A CHAVE PRIMÁRIA,
NO CASO SERÁ O id_livro
);
/*OBS: os acentos graves são facultativos*/
//PODE SER FEITO TAMBÉM DA SEGUINTE FORMA
USE bd_biblioteca; //DEFINE QUE ESTÁ USANDO O DB, ENTÃO NÃO PRECISA REFERENCIA-LO NA HORA
DE CRIAR A TABELA
CREATE TABLE tb_livros(
id_livro INT PRIMARY KEY NOT NULL AUTO_INCREMENT, //DEFINE O id_livro DE CARA COMO CHAVE PRIMÁRIA
titulo_livro VARCHAR(45) NOT NULL,
autor_livro VARCHAR(60) NOT NULL,
qtd_livro INT NOT NULL,
isbn_livro VARCHAR(50) NOT NULL
);
//Alteração de nome do campo da tabela:
ALTER TABLE `bd_biblioteca`.`tb_aluno` //DIZ QUE VAI ALTERAR A RESPECTIVA TABELA NO BANCO DE DADOS
bd_biblioteca
CHANGE COLUMN `nome_aluno` `nome_do_aluno` VARCHAR(100) NOT NULL; //MUDA O CAMPO nome_aluno para
nome_do_aluno e define suas propriedades como VARCHAR E NOT NULL
//Incluir um campo em uma tabela:
ALTER TABLE `bd_biblioteca`.`tb_alunos` //DIZ QUE VAI ALTERAR A RESPECTIVA TABELA NO BANCO DE DADOS
bd_biblioteca
ADD COLUMN `teste_aluno` VARCHAR(45) NOT NULL AFTER `turma_aluno`; //ADICIONA UM CAMPO CHAMADO
teste_aluno do tipo VARCHAR E NOT NULL E DIZ QUE ELE VAI APARECER DEPOIS DO CAMPO JÁ EXISTENTE turma_aluno
//Deletar um campo em uma tabela:
ALTER TABLE `bd_biblioteca`.`tb_alunos` //DIZ QUE VAI ALTERAR A RESPECTIVA TABELA NO BANCO DE DADOS
bd_biblioteca
DROP COLUMN `teste_aluno`; //DELETA O CAMPO RESPECTIVO
//Alterar o nome da tabela:
ALTER TABLE `bd_biblioteca`.`tb_alunos` //DIZ QUE VAI ALTERAR A RESPECTIVA TABELA NO BANCO DE DADOS
bd_biblioteca
RENAME TO `bd_biblioteca`.`tb_aluno`; //RENOMEIA A TABELA ESPECÍFICA
//Inserindo dados na tabela:
USE bd_biblioteca; //DEFINE O BANCO DE DADOS A SER USADO
INSERT INTO tb_alunos( //DEFINE A INSERÇÃO DENTRO DA TABELA RESPECTIVA, NO CASO tb_alunos
nome_aluno, //DEFINE OS CAMPOS QUE TERÃO DADOS INSERIDOS
serie_aluno,
data_nascimento,
endereco_aluno,
turma_aluno
VALUES( //DEFINE OS VALORES(DADOS) QUE SERÃO APLICADOS AOS CAMPOS NA MESMA
ORDEM EM QUE ELES FORAM ESCRITOS NO "INSERT INTO"
'Sérgio Gabriel',
'2ª Ano',
'2005-09-23', /*OBS: ESSES COMANDOS PODEM SER ESCRITOS EM UMA SÓ LINHA*/
'Rua das Pedras',
'C'
);
//Selecionando campos da tabela
SELECT * FROM bd_biblioteca.tb_alunos; //SELECIONA TODOS OS CAMPOS DA TABELA COM O ASTERISCO(*)
//Ou utilizando o USE
USE bd_biblioteca;
SELECT * FROM tb_alunos;
//Pode-se também selecionar campos específicos assim:
SELECT nome_aluno,turma_aluno,serie_aluno FROM tb_alunos;
//Pode-se também selecionar campos que contenham valores específicos, como:
SELECT nome_aluno,serie_aluno FROM tb_alunos WHERE turma_aluno = "B";
//NESSE CASO ELE SELECIONOU OS CAMPOS DE nome_aluno E serie_aluno DA TABELA tb_alunos
//E IMPÔS UMA CONDIÇÃO EM QUE SÓ SELECIONARIA ESSES CAMPOS QUE FOREM DA TURMA "B"
//Pode-se também ordenar a seleção em ordem alfabética
SELECT nome_aluno,serie_aluno FROM tb_alunos ORDER BY nome_aluno; //O ORDER BY É O COMANDO QUE
POR PADRÃO JÁ ORGANIZA DA FORMA ASC(CRESCENTE)
//Ou seja, também pode fazer assim:
SELECT nome_aluno,serie_aluno FROM tb_alunos ORDER BY nome_aluno ASC;
//Já para organizar de forma decrescente:
SELECT nome_aluno,serie_aluno FROM tb_alunos ORDER BY nome_aluno DESC;
//Selecionar a partir de um sistema de busca completo como o Google ou o Facebook fazem:
SELECT * FROM tb_alunos WHERE nome_aluno LIKE '%maria%'; //SELECIONA REGISTROS COM O NOME
'maria'
//Selecionar a partir de um sistema de busca completo como o Google ou o Facebook fazem PESQUISANDO APENAS
CASO AS PALAVRAS APAREÇAM NO INÍCIO:
SELECT * FROM tb_alunos WHERE nome_aluno LIKE 'maria%';
//Selecionar a partir de um sistema de busca completo como o Google ou o Facebook fazem PESQUISANDO APENAS
CASO AS PALAVRAS APAREÇAM NO FINAL:
SELECT * FROM tb_alunos WHERE nome_aluno LIKE '%maria';
//Além disso, para garantir que não hajam erros e que ele indentifique a busca independentemente do nome estar em
CAIXA ALTA ou em caixa baixa, usa-se o comando UPPER:
SELECT * FROM tb_alunos WHERE UPPER(nome_aluno) LIKE '%maria%';
//Comando para alterar o nome do registro de todos os campos
USE bd_biblioteca;
UPDATE tb_alunos SET serie_aluno = '2° Ano'; //ALTERA NA TABELA tb_alunos E SETA O REGISTRO DO CAMPO
serie_aluno COMO "2° Ano"
//Comando para alterar o nome do registro de um campo específico utilizando o ID
USE bd_biblioteca;
UPDATE tb_alunos SET serie_aluno = '2° Ano' WHERE id_aluno = 3; //3 É O NÚMERO DO ID DO CAMPO QUE EU
QUERO MODIFICAR
//Deletando um registro de um determinado campo
USE bd_biblioteca;
DELETE FROM tb_alunos WHERE id_alunos = 7; //DELETA A PARTIR DA TABELA tb_alunos NO id_alunos 7, OU
SEJA, O REGISTRO QUE EU QUERO APAGAR
//Criando relacionamento do tipo VÁRIOS PARA VÁRIOS
USE bd_biblioteca;
ALTER TABLE tb_emprestimo ADD CONSTRAINT FOREIGN KEY(aluno_emprestimo) REFERENCES tb_alunos(id_alunos);
//ALTERA A TABELA tb_emprestimo ADICIONANDO A ELA UMA FOREIGN KEY NO CAMPO aluno_emprestimo A PARTIR
DA CHAVE PRIMÁRIA(id_aluno) DA TABELA tb_aluno
//Mostrando os dados das foreign keys
SELECT tb_emprestimo.data_emprestimo, tb_livros.titulo_livro, tb_alunos.nome_aluno,
tb_funcionarios.nome_funcionario //SELECIONA OS DADOS QUE QUEREM SER VISTOS
FROM tb_emprestimo, tb_livros, tb_alunos, tb_funcionarios
//A PARTIR DAS TABELAS ESPECÍFICAS
WHERE tb_emprestimo.livro_emprestado = tb_livros.id_livro AND tb_emprestimo.aluno_emprestimo =
tb_alunos.id_alunos //CRIA UMA CONDIÇÃO EM QUE AS FOREIGN KEYS DEVEM SER IGUAIS ÀS PRIMARY KEYS, NISSO
MOSTRA OS RESULTADOS
AND tb_emprestimo.funcionario_emprestou = tb_funcionarios.id_funcionarios;