Mostrando postagens com marcador mysql. Mostrar todas as postagens
Mostrando postagens com marcador mysql. Mostrar todas as postagens

quinta-feira, 11 de maio de 2023

Ver um chave estrangeira (foreingkey) em uma tabela já criada por sql no MYSQL

 Para ver o create table com todas chaves estrangeiras de uma tabela basta usar a SQL abaixo:

SHOW CREATE TABLE NOME_TABELA


Onde:

NOME_TABELA - É o nome da tabela ser verificada

terça-feira, 16 de maio de 2017

Subtraindo e adicionando hora, minuto, DIAS, MES, ANO A UMA DATA NO MYSQL

Resumo


SELECT * FROM NOME_TABELA WHERE data DATE_SUB(DATA_INICIAL, INTERVAL NUM TIPO_ENTERVALO)

SELECT * FROM NOME_TABELA WHERE data DATE_ADD(DATA_INICIAL, INTERVAL NUM TIPO_ENTERVALO)


Introdução

O principal objetivo deste post é explica de maneira simples e rápida como se adicionar ou remover de uma data no mysql horas,minutos, segundos, dias, meses ou anos.



Adicionando dados a uma data


Para adicionar hora, minutos, segundos, dias, meses ou até mesmo anos basta seguir a seguinte sintaxe:

Sintaxe:

DATE_ADD(DATA_INICIAL INTERVAL NUM_INTERVALO TIPO_INTERVALO)


Onde:

  • DATA_INICIAL - Data da qual será a base para adicionar as informações.
  • NUM_INTERVALO - Número que simboliza o intervalo a ser adicionado a data.
  • TIPO_INTERVALO - Tipo do intervalo a ser adicionado: MINUTE (minutos), HOUR (horas), DAY(dias), MONTH (mêses), YEAR (anos).


Exemplos:

Adicionando um ano a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 1 YEAR) AS DATA_MODIFICADA









Adicionando uma hora a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 1 HOUR) AS DATA_MODIFICADA


Adicionando quinze minutos a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 15 MINUTE) AS DATA_MODIFICADA


Adicionando dois meses a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_ADD(CURRENT_TIMESTAMP, INTERVAL MONTH) AS DATA_MODIFICADA


Removendo dados de uma data


Para remover hora, minutos, segundos, dias, meses ou até mesmo anos basta seguir a seguinte sintaxe:

Sintaxe:

DATE_SUB(DATA_INICIAL INTERVAL NUM_INTERVALO TIPO_INTERVALO)


Onde:

  • DATA_INICIAL - Data da qual será a base para remover as informações.
  • NUM_INTERVALO - Número que simboliza o intervalo a ser removido a data.
  • TIPO_INTERVALO - Tipo do intervalo a ser removido: MINUTE (minutos), HOUR (horas), DAY(dias), MONTH (mêses), YEAR (anos).


Exemplos:

Removendo um ano a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 YEAR) AS DATA_MODIFICADA










Removendo uma hora a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 HOUR) AS DATA_MODIFICADA


Removendo quinze minutos a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 15 MINUTE) AS DATA_MODIFICADA


Removendo dois meses a data atual.

select CURRENT_TIMESTAMP as DATA_ATUAL, DATE_SUB(CURRENT_TIMESTAMP, INTERVAL MONTH) AS DATA_MODIFICADA



quinta-feira, 4 de maio de 2017

Como juntar o conteudo de duas ou mais colunas em uma só no Mysql

Resumo


SELECT CONCAT(COLUNA1,COLUNA2,...,COLUNAN) FROM NOME_TABELA

Introdução


O principal objetivo deste post é explicar de maneira simples e rápida com ose concatena o resultado de duas ou mais colunas em uma unica.

Concatenando colunas


Para fazer a concatenação de duas ou mais colunas em uma unica coluna utilizaremos o comando CONCAT.

Sintaxe:

SELECT CONCAT(COLUNA1,COLUNA2,...,COLUNAN) FROM NOME_TABELA


Onde:

- COLUNA1, COLUNA2,...,COLUNAN - Colunas a seren concatenadas.


Exemplo:

Image que exista uma tabela chamada USUARIO que tenha duas colunas, NOME e SOBRENOME. Caso você queira juntar as duas no resultado de uma consulta a query seria:

SELECT CONCAT(NOME,SOBRENOME) FROM USUARIO

quarta-feira, 20 de março de 2013

Como descobrir o total de linhas de uma tabela


Essa é uma dica rápida e simples que pode lhe ajudar algum dia.
Caso você deseje saber o total de linhas em uma tabela basta executar o seguinte comando.

Sintaxe:

SELECT COUNT(*) FROM NOME_TABELA


Onde:

COUNT(*) - Trecho que faz a contagem de elementos da tabela indicada em NOME_TABELA.

NOME_TABELA - Nome da tabela ser pesquisada.


Exemplo:

SELECT COUNT(*) FROM CIDADES


Neste exemplo será exibido o total de linhas da tabela CIDADES.

terça-feira, 16 de outubro de 2012

Conectando em um banco de dados com java

 

 

Introdução


O banco de dados hoje em dia é a principal fonte de informação de qualquer impresa hoje em dia.
Hoje vamos ver de maneira simples como se faz um programa java para conectar à um banco de dados (postgresql) e utilizar os dados requiridos pelo mesmo.
Para manipular dados de um banco de dados é necessário seguir alguns passo:


1º Obter conexão

Para efetivar  uma conexão ao banco de dados é necessário utilizar a classe DriverManeger e utilizar seu método getConnection e informar a url para conectar ao banco de dados, abaixo é possível ver um exemplo de método que obtenção de conexão em um banco de dados postgresql:


public Connection getConnection() throws SQLException {
        Connection con = null;
        con = DriverManager
                .getConnection("jdbc:postgresql://localhost/agenda_telefone?user=postgres&password=postgres");

        return con;
}



Para criar uma conexão em banco de dados postgresql é necessário que se adicione ao seu projeto o arquivo .jar ao projeto:
Abaixo é possível ver o trecho responsável por conectar a um banco de dados postgresql:

con = DriverManager    .getConnection("jdbc:postgresql://localhost/agenda_telefone?user=postgres&password=postgres");

A sintaxe básica para utilizar a linha acima é:

jdbc://nome_banco://host/banco_dados?user=usuario&password=password


Onde:

•    nome_banco – Tipo de banco de dados que está sendo utilizado (postgresql/mysql/oracle).

•    banco_dados – Banco de dados que iremos utilizar.

•    user -  Usuário utilizado para conectar ao banco e dados.

•    password – Senha do usuário para conectar ao banco de dados.


Caso sua aplicação deseja-se conecatar ao mysql um exemplo seria:

jdbc:mysql://localhost/agenda_telefone?user=postgres&password=postgres


2º Executar a query

Para executar uma query em java é utilizar a clausula PrepareStatement e a mesma será explicada através do método removePessoa.


Abaixo é possível ver o método removePessoa

    public boolean removePessoa(Pessoa pessoa) throws SQLException {
        Connection con = null;
      String DELETE_PESSOA = "DELETE FROM telefones WHERE pes_id = ?;DELETE     FROM pessoas WHERE pes_id = ?;";
       try {
            con = getConnection();
            PreparedStatement prepared = con.prepareStatement(DELETE_PESSOA);
            prepared.setLong(1, pessoa.getId());
            prepared.setLong(2, pessoa.getId());

            retorno = prepared.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnnection(con);
        }
        return retorno;

    }


Neste metodo logo que é adquirida uma conexão é instanciado um objeto do tipo PreparedStatement , esse objeto tem como principal objetivo adquirir a query e os parametros caso algum for necessário bem como executar a query e dar um retorno, no caso desta classe é apenas retornado um  boolean informado se query foi executado com sucesso.

A query é passada ao objeto através da linha:

PreparedStatement prepared = con.prepareStatement(DELETE_PESSOA);

Os paramtros são passados através das linhas:

prepared.setLong(1, pessoa.getId());
prepared.setLong(2, pessoa.getId());


Vale salientar que para cada tipo de parametro passado é utilizado um tipo de set dentro do PreparedStatement , caso fosse String por exemplo seria utilizado um prepared.setString.

A sintaxe para passagem de parametro é a seguinte:

    objeto_prepared.set_Tipo_OBJETO(posical_query, objeto);

Onde:

•    objeto_prepared – Objeto do tipo PreparedStatement.

•    set_Tipo_OBJETO -  Tipo de objeto a ser inserido como parametro.

•  posicao_query – Posição do parametro na query, sendo que é dado inicio no parametro 1.

•    objeto – Objeto a ser adicionado como parametro


Exemplo de passagem de paramtro

String query =” SELECT * FROM PESSOAS WHERE PES_ID= ? AND PES_NOME = ?”
...
prepared.setLong(1, pessoa.getId()) ;  //Passando um long como parametro
prepared.setString(2, pessoa.getNome()); // Passando uma String como parametro.

Neste exemplo o primeiro interrogação (?) será substituido pelo valor de pessoa.getId() e o segundo pelo valor de pessoa.getNome().


Para obter parametros de uma consulta feita no banco de dados além do objeto do tipo PreparedStatement é necessário utiliar um  do tipo ResultSet que pode ser encontrado no método selectTelefones.

Método selectTelefones


    public List selectTelefones(Telefone telefone)
            throws SQLException {
        Connection con = null;
        List listTelefone = new ArrayList();
        try {
            con = getConnection();
            PreparedStatement prepared = con.prepareStatement(SELECT_TELEFONE);
            prepared.setString(1, telefone.getNumero());
            ResultSet resultSet = prepared.executeQuery();

            while (resultSet.next()) {
                Telefone telefoneTmp = new Telefone();
                telefoneTmp.setId(resultSet.getLong("TEL_ID"));
                telefoneTmp.setNumero(resultSet.getString("TEL_NUMERO"));
                listTelefone.add(telefoneTmp);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnnection(con);
        }
        return listTelefone;

    }


O objeto do tipo ResultSet é obtido na linha:

ResultSet resultSet = prepared.executeQuery();
Para obter os valores contidos no ResultSet é necessário utilizar a seguinte sintaxe:

Sintaxe:

            while (resultSet.next()) {
                variavel = resultSet.get_Tipo_OBJETO("NOME_COLUNA"));
            }

Onde:

•    variavel – Variavel que guardará o valor obtetido através do resultSet.

•    get_Tipo_OBJETO – Tipo de objeto a ser obtido da coluna da tabela.

•    NOME_COLUNA – Nom da coluna que será adquirido o valor que será guardado na variavel.


Abaixo é possíve ver um exemplo contido no próprio programa.


...
            ResultSet resultSet = prepared.executeQuery();

            while (resultSet.next()) {
                Telefone telefoneTmp = new Telefone();
                telefoneTmp.setId(resultSet.getLong("TEL_ID"));
                telefoneTmp.setNumero(resultSet.getString("TEL_NUMERO"));
                listTelefone.add(telefoneTmp);
            }


Observação: O nome das colunas foram definidos no momento que fora criada as tabelas do banco de dados.

3º Fechar a conexão


Assim com um arquivo aberto deve ser fechado, uma conexão aberta também deve ser fachada, para isso é necessári o utilizar o método close.

Abaixo é possível ver um método utilzado para fechar uma conexão do tipo Connection.

public void closeConnnection(Connection con) {
        try {
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }




Conclusão

Como foi possível ver ao longo do post, a aquisição e utilização de dados de um banco de dados pode vir a ser bem simples.




sexta-feira, 26 de novembro de 2010

Oracle: Diferença entre Join interno e join externo



Uma dúvida que surge quando começamos a fazer o join (junção de duas tabelas) é diferenciar de primeiro caso a diferença entre join interno (inner join) e join externo(outer join).
Hoje vamos ver de maneira simples como pode ser explicado tal confusão:


JOIN EXTERNO (OUTER JOIN)

O Join externo acontece quando desejamos pegar todas informações de duas tabelas destintas. Caso durante a junção da tabelas haja campos que não tenham valores (null) esses campos serão preenchidos com null. Cabe salientar que é possível escolher qual tabela favorecer neste tipo de join, pode ser a tabela da direita ou da esquerda. Como pode ser visto abaixo:

Sintaxe: 

SELECT COLUNAS 
FROM TABELA1 
RIGHT/LEFT OUTER JOIN  TABELA2 ON TABELA1.ID=TABELA2.ID_TAB1

Cabe salientar que no RIGHT/LEFT é utilizado só uma das opções ou RIGHT ou LEFT

Exemplo:

Neste exemplo existe duas tabelas distintas CIDADE e FABRICANTE, irei fazer um join externo para direita(right) das mesmas:

SELECT * FROM fabricante RIGHT OUTER JOIN cidade ON fabricante.cidade_id = cidade.id

Caso você esteja utilizando o Oracle o outer join pode ser feito utilizando a notação (+) ao lado tabela que você deseja que seja favorecida:

Sintaxe:

SELECT CAMPOS 
FROM TABELA1,TABELA2 
WHERE TABELA1.ID(+)=TABELA2.ID_TAB2

Exemplo:

SELECT
FROM CIDADE,FABRICANTE
WHERE
CIDADE.ID(+)=FABRICANTE.CIDADE_ID

Click na imagem para aumenta-la


JOIN INTERNO (INNER JOIN)

O Join interno acontece quando desejamos pegar todas informações de duas tabelas distintas, ao contrario do join interno este tipo de join pega somente as combinações validas onde não existe valores nulos.

Sintaxe: 

SELECT COLUNAS 
FROM TABELA1 
INNER JOIN  TABELA2 ON TABELA1.ID=TABELA2.ID_TAB1

Exemplo:

Neste exemplo existe duas tabelas destintas CIDADE e FABRICANTE, irei fazer um join interno.

SELECT * FROM fabricante  INNER JOIN cidade ON fabricante.cidade_id = cidade.id

Existe uma maneira mais fácil  e menor de fazer este tipo de join como é exposto abaixo:

Sintaxe:

SELECT CAMPOS 
FROM TABELA1,TABELA2 
WHERE TABELA1.ID=TABELA2.ID_TAB2

Exemplo:

SELECT * 
FROM CIDADE,FABRICANTE
WHERE
CIDADE.ID=FABRICANTE.CIDADE_ID


Click na imagem para aumenta-la