Last active
May 17, 2023 01:39
-
-
Save erickpereira/77cc6993ee5218dc889cc2ac8faacf22 to your computer and use it in GitHub Desktop.
Comandos SQL da aula de Banco de dados 2 (revisão de Banco de Dados 1)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # criar o banco de dados de nome 'estudos' | |
| create database estudos; | |
| # criar as tabelas | |
| create table usuarios(cpf varchar(11), nome varchar(100), status bool); | |
| create table pessoas(cpf varchar(11), nome varchar(100), status bool); | |
| create table contato(email varchar(50), telefone varchar(15)); | |
| # inserir unitariamente um registro na tabela usuarios | |
| insert into usuarios (cpf, nome, status) values ("12345678901", "Jose da Silva", true), | |
| insert into usuarios (cpf, nome, status) values ("23456789012", "Joao de Oliveira", true), | |
| insert into usuarios (cpf, nome, status) values ("34567890123", "Marqui", false); | |
| # inserir unitariamente um registro na tabela pessoas | |
| insert into pessoas (cpf, nome, status) values ("12345678901", "Jose da Silva", true); | |
| insert into pessoas (cpf, nome, status) values ("23456789012", "Joao de Oliveira", true); | |
| insert into pessoas (cpf, nome, status) values ("34567890123", "Marquito Pereira", false); | |
| # inserir unitariamente um registro na tabela contato | |
| insert into contato (email, telefone) values ("[email protected]", "99999-4444"); | |
| insert into contato (email, telefone) values ("[email protected]", "99999-5555"); | |
| insert into contato (email, telefone) values ("[email protected]", "99999-6666"); | |
| # Inserir vários registros na tabela de pessoas | |
| insert into pessoas (cpf, nome, status) | |
| values ("11111111111", "Fulano", false), | |
| ("22222222222", "Beltrano", true), | |
| ("33333333333", "Ciclano", true); | |
| # apagar todos os registros da tabela de pessoas onde o nome começa com 'Jo' | |
| delete from pessoas where nome like "Jo%"; | |
| # apagar todos os registros da tabela de pessoas | |
| delete from pessoas; | |
| # buscar todas as pessoas e mostrar todos os atributos | |
| select * from pessoas; | |
| # atualizar todas as pessoas existentes com o status igual a 'true' | |
| update pessoas set status = true; | |
| # atualizar com status igual a 'false' para todas as pessoas com o nome igual a 'Fulano' | |
| update pessoas set status = false where nome = "Fulano"; | |
| # buscar todos os atributos das pessoas que tem o status igual a 'false' | |
| select * from pessoas where status = false; | |
| # atribuir o atributo 'cpf' como chave primária para a tabela 'pessoas' | |
| alter table pessoas add primary key(cpf); | |
| # atribuir o atributo 'cpf' como chave primária para a tabela 'pessoas' utilizando uma constraint de nome 'pk_usuarios' | |
| alter table usuarios add constraint pk_usuarios primary key(cpf); | |
| # remover a chave primária da tabela pessoas | |
| alter table pessoas drop primary key; | |
| # remover a chave primária da tabela usuarios | |
| alter table usuarios drop primary key; | |
| # Remover a tabela pessoas | |
| drop table pessoas; | |
| # Remover a tabela pessoas e todos os relacionamentos e chaves que tem lição com a tabela pessoas | |
| drop table pessoas cascade; | |
| # Criar a tabela pessoas já com o atributo 'cpf' definido como chave primária | |
| create table pessoas (cpf varchar(11), nome varchar(100), status bool, | |
| constraint pk_pessoas primary key (cpf)); | |
| # Tentativa de inserir dados com o mesmo CPF | |
| # O primeiro registro vai ser inserido, mas ao executar o segundo, vai acontecer erro | |
| # de duplicação para a chave primária (Duplicate entry '11111111111' for key 'pessoas.PRIMARY') | |
| # Vai inserir | |
| insert into pessoas (cpf, nome, status) values ("11111111111", "Faustão", true); | |
| # Vai dar erro! | |
| insert into pessoas (cpf, nome, status) values ("11111111111", "Silvio Santos", true); | |
| # Para adicionar uma chave estrangeira (FK - Foreign Key), primeiro é necessário adicionar uma coluna em contato | |
| # do mesmo tipo da coluna de chave primária na tabela correspondente. No caso, a tabela correspondente é 'pessoas' | |
| # e a chave primária é 'cpf' | |
| # Adicionando a coluna pessoa_cpf na tabela contato | |
| alter table contato add column pessoa_cpf varchar(11); | |
| # Adicionando a chave primária relacionando o atributo pessoa_cpf com o atributo cpf da tabela de pessoas | |
| alter table contato add constraint fk_pessoas foreign key (pessoa_cpf) references pessoas(cpf); | |
| # Adicionar o valor do CPF para preencher a chave estrangeira na tabela de contato | |
| update contato set pessoa_cpf = '11111111111' where email = '[email protected]'; | |
| # criando um índice para tabela pessoas para a coluna 'cpf' | |
| create index pessoa_cpf on estudos.pessoas(cpf); | |
| # Fazer um select e retornar os nomes das pessoas mas retornando o nome em maiúsculo | |
| select cpf, UPPER(nome), status from pessoas; | |
| # Fazer um select e retornar os nomes das pessoas mas retornando o nome em minúsculo | |
| select cpf, LOWER(nome), status from pessoas; | |
| # seleciona o maior cpf | |
| select max(cpf) from pessoas; | |
| # seleciona o menor cpf | |
| select min(cpf) from pessoas; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment