Comandos Básicos SQL

Descrição

Observaremos os comandos básicos de SQL: “SELECT”, “DELETE”, “UPDATE”, os comandos utilizados com mais frequência no processo de atendimento, no entanto, demonstrarei de uma forma simples como efetuar a consulta e manipulação de dados. Caso deseje aprender mais a fundo, recomendamos que sejam efetuados cursos na área com professores especialistas no assunto.


Índice


Pré-Requisitos

  • Acesso ao Viasoft Construshow.


Passo a passo

  1. Para podermos acessar o banco de dados, utilizamos aqui por padrão o SQL Developer, normalmente está no servidor do cliente, ou em algum outro usuário que tenha o mesmo instalado. Duplo clique sobre o executável, será exibido todos os usuários criados no momento da instalação do Banco.

  2. Para esse manual, iremos utilizar dois usuários do banco o “VIASOFTMCP” e “VIASOFTBASE“ quando selecionados os mesmos, irão solicitar a senha:

    1. User: VIASOFTMCP
      Senha: VIASOFTMCP

    2. User: VIASOFTBASE
      Senha: VIASOFTBASE

  3. Acessando o VIASOFTBASE, clicando no “+” ao lado do campo verificaremos as tabelas cadastradas no mesmo, iremos até à tabela “PESSOA” para analisarmos a estrutura e os dados.

  4. No final desse manual, deixaremos algumas tabelas mais utilizadas no dia a dia.

  5. Duplo clique sobre tabela, iremos até à aba “Dados”, onde poderemos verificar quais campos temos na tabela, e quais informações elas possuem.
    OBS: Não entraremos em assuntos como estruturas de dados, tipos de campos, é apenas para verificarmos informações cadastradas.

  6. Nessa tela vemos, que existem os campos:
    IDPESSOA: Onde registra o ID de cada pessoa no banco, isto é, esse registro é gerado automaticamente quando criamos um novo cadastro de pessoa, e é um registro único que não se repete.
    NOME: Nome da pessoa cadastrado no Construshow.
    CNPJF: Grava ou o CPF da pessoa, ou o CNPJ.

  7. Agora iremos verificar a manipulação desses dados através de uma consulta, para isso, acessaremos o “VIASOFTMCP”.

  8. O primeiro comando que iremos ver é o SELECT!

  9. Mas o que é o SELECT? A grosso modo, seria o: selecione esses dados pra nós, porém, somente o select não faz nenhuma ação, sozinho.

  10. Para rodarmos um comando, é necessário clicar no primeiro botão da tela, o “Executar” após escrever qualquer comando pode clicar nele, ou pelo atalho (CRTL+ENTER).

  11. Vimos que no passo anterior apenas repassarmos o comando “SELECT“ não trouxe nenhuma informação para nós, e sim um erro “Expressão não encontrada“!

  12. Então como faríamos para trazer as informações da tabela “PESSOA” sem precisar acessar diretamente a tabela toda vez?
    A estrutura simples que podemos utilizar hoje é: SELECT * FROM PESSOA;
    Vamos entender o que essa estrutura quer dizer para nós:
    SELECT: Selecione
    * : Todos os campos da tabela
    FROM: De ou de onde.
    PESSOA: Tabela.
    ; : O ponto virgula separa um comando do outro, veremos isso a frente.
    Então seria (SELECIONE | TODOS OS CAMPOS | DA TABELA= PESSOA).

  13. Após escrevermos esse comando, devemos sempre clicar no botão “Executar”, com isso teremos de resultado as informações que vimos antes acessando a tabela.

  14. Até aqui aprendemos como realizar uma consulta simples, trazendo todas as informações da tela, porém, podemos trazer apenas o Nome e o CNPJF, como podemos fazer?
    É simples, substituiremos o “*” da nossa consulta pelos campos que desejamos e separando os mesmos por vírgula.
    O comando ficaria: SELECT NOME, CNPJF FROM PESSOA;

  15. O “Ponto Virgula” é utilizada para separar cada instrução que passo ao developer, isto é, eu não apaguei a consulta que fizemos em todos os campos, e sim incluímos outra embaixo, quando colocamos a vírgula no final, estamos dizendo ao developer, que já encerramos essa instrução e iniciaremos outra, assim quando executarmos, ele irá apenas rodar aquela que está na linha selecionada.

  16. Vimos, que listando todos os campos ou não, ele continua trazendo todas as informações da tabela, sem um filtro, então como fazemos isso?
    Para aplicarmos um filtro é necessário utilizamos uma função chamada “WHERE“ que significa onde, então nosso código ficaria assim:
    SELECT * FROM PESSOA WHERE NOME = ‘PESSOA 41992';

  17. Vamos ver o que é tudo isso agora:
    (SELECIONE | TODOS OS CAMPOS | DA TABELA = PESSOA | ONDE | O NOME DA PESSOA = ‘PESSOA 41922’).
    A parte (ONDE | O NOME DA PESSOA = ‘PESSOA 41922’) quer dizer que estamos filtrando a pessoa, onde ela possua o nome como 'PESSOA 41922’ isto é, traga apenas esse cadastro, e ignore os demais, agora, porque essa informação está entre aspas simples? Essa informação precisa ser lida dessa forma, porque o campo da tabela “Nome” é um “VARCHAR”, um varchar, recebe tanto letras quanto números, e quando passamos essa informação entre ‘aspas’ estamos dizendo ao developer que ele precisa considerar esse nome por completo, se filtrássemos sem aspas ele daria erro, por não entender que seria uma informação da tabela com esses dados.
    Essa questão é um pouco mais “complicada”, porém reforçamos aqui um curso básico de linguagem SQL.
    Executando nosso comando, teremos apenas o retorno de um registro.

  18. Então para cada vez que eu queira trazer uma informação de determinado campo, eu apenas mudo o campo após o WHERE, ao invés de nome colocaria CNPJF, por exemplo, e após o '=' passaria o dado que quero filtrar.
    Por exemplo, gostaria de filtrar o cadastro de pessoa com o CNPJ = 64839940363. Então ficaria da seguinte forma:
    SELECT * FROM PESSOA WHERE CNPJF=64839940363;

UPDATE

  1. Já verificamos como realizar consultas no banco de dados, com seus determinados filtros. Agora, veremos como realizar alteração a alteração de informações através do comando “UPDATE”.

    1. A estrutura do comando é:
      UPDATE nome_tabela SET CAMPO = "novo_valor" WHERE CONDIÇÃO

    2. Onde:
      Nome_tabela: Nome da tabela que será modificada
      Campo: Campo que terá seu valor alterado.
      Novo_valor: Valor que substituirá o antigo dado cadastrado em campo
      Where: Se não for informado, a tabela inteira será atualizada.
      Condição: Regra que impõe condição para execução do comando.

  2. No exemplo acima, foi realizado um UPDATE para:
    Alterar o nome da pessoa para “GILSON“ quando, seu CNPJF seja igual à condição = '04688977000101'!
    Porém, eu gostaria agora de atualizar as informações de dois campos em simultâneo, sem a necessidade de fazer 2 UPDATES, como eu faria isso?
    A alteração é sempre realizado no comando SET, então eu apenas colocaria uma vírgula após a primeira operação e passaria o novo campo a ser atualizado junto, ficando dessa forma:
    UPDATE PESSOA
    SET NOME='GILSON', - - CAMPO 1
    CNPJF='04688977000102' - - CAMPO 2
    WHERE CNPJF='04688977000101';

  3. Nesse caso, estamos dizendo ao SQL, altere o nome da pessoa para GILSON e o CNPJF para 04688977000102, quando o CNPJF da pessoa for: 04688977000101, separando os campos por vírgula, lembrando que o último campo não precisa existir a mesma.

DELETE

  1. Nos passos anteriores, vimos como consultar dados nas tabelas e como realizar alterações. Agora veremos como deletar registros através do comando “DELETE”:

    1. A estrutura do comando é:
      DELETE FROM nome_tabela WHERE condição.

    2. Onde:
      Nome_tabela: Nome da tabela que será modificada
      Where: Cláusula que impõe uma condição sobre a execução do comando.

  2. No exemplo acima, foi realizado um delete para: Deletar da tabela SERIES onde a SERIE seja = 'U1';
    Sempre é importante lembrar de utilizar o WHERE, caso contrario, iriamos deletar todos os registros da tabela SERIES, quando usamos o WHERE, dizemos que iremos deletar apenas aquela informação, caso ela existir.

COMMIT E ROLLBACK!

  1. Vimos nos passos anteriores a manipulação de SELECT, UPDATE e DELETE, agora veremos como confirmar a operação e desfazer a mesma.
    COMMIT -- encerra a transação SALVANDO permanentemente todas as alterações (updates,deletes) realizadas durante a transação.
    ROLLBACK -- encerra a transação DESCARTANDO (desfazendo) todas as alterações (updates,deletes) realizadas durante a transação.

  2. Mas isso, na prática, como ficaria?

  3. Após o comando de delete, por exemplo, caso tivéssemos certeza que estou efetuando o processo correto, clicar no botão “COMMIT“!

  4. Caso não tivéssemos certeza, e eu não quero “Salvar” a minha alteração eu clicaria em “ROLLBACK”!

Algumas tabelas do Construshow!

  1. Sempre antes de realizar o “COMMIT“ na transação, sempre efetue esse processo em uma base de testes na sua maquina, e nunca diretamente no cliente.

  2. TABELAS:

    1. NOTA: Informações de nota fiscal.

    2. NOTAITEM: Informações dos itens das Notas.

    3. CARRINHO: Informações de carrinho de venda.

    4. DUPREC: Duplicatas a Receber.

    5. DUPPAG: Duplicatas a Pagar.

    6. PESSOA: Cabeçalho de cadastro de pessoas.

    7. PESSOADOCEND: Endereço do cadastro de pessoas.

    8. ITEM: Cadastro de Itens.

  3. Lembre-se, sempre efetue primeiro o comando SELECT, para ter certeza de qualquer alteração, se está buscando o campo correto, e quais campos usará de filtros.


Versão

Versão da Documentação

Autor/Revisor

Versão da Documentação

Autor/Revisor

1.0

Autor: Gilson Tomassão

1.1

Revisor(a): Debora Damasceno