Ir para o conteúdo

3.3. Criando uma tabela

No PostgreSQL, as tabelas são usadas para armazenar dados de forma estruturada. Antes de inserir dados em um banco de dados, é necessário criar uma tabela que defina a estrutura dos dados. Neste tópico, você aprenderá como criar uma tabela usando a interface de linha de comando do PostgreSQL (psql).

Acessando o psql

Antes de criar uma tabela, certifique-se de que está conectado à interface de linha de comando do PostgreSQL (psql). Você pode seguir as etapas descritas na seção anterior "Acessando o psql" para acessar o psql localmente ou remotamente, conforme necessário.

Dica

Você pode utilizar o usuário e banco de dados criados na Atividade 1 - Preparado o ambiente, para isso, digite em um terminal o comando:

psql -h localhost -U apuser -d ap_db

Criando uma tabela

Para criar uma tabela no PostgreSQL, você pode usar o comando CREATE TABLE, seguido pelo nome da tabela e as colunas que ela terá. Aqui está a sintaxe básica do comando:

CREATE TABLE <nome_da_tabela> (
    <coluna_1> <tipo_de_dado_1>,
    <coluna_2> <tipo_de_dado_2>,
    ...
);

Substitua <nome_da_tabela> pelo nome que você deseja dar à tabela e defina as colunas e seus tipos de dados correspondentes.

Por exemplo, vamos criar uma tabela chamada "clientes" com as colunas "id", "nome" e "email":

CREATE TABLE clientes (
    id SERIAL PRIMARY KEY,
    nome VARCHAR(100),
    email VARCHAR(100)
);

Nesse exemplo, a tabela "clientes" tem uma coluna "id" do tipo SERIAL, que é um tipo de dados numérico autoincremental. A coluna "nome" é do tipo VARCHAR com tamanho máximo de 100 caracteres, e a coluna "email" também é do tipo VARCHAR com tamanho máximo de 100 caracteres.

Verificando a criação da tabela

Após criar uma tabela, você pode verificar se ela foi criada com sucesso. Para isso, você pode listar todas as tabelas existentes no banco de dados usando o comando \dt dentro do psql:

\dt

Isso exibirá uma lista de todas as tabelas existentes no banco de dados atual, incluindo a tabela que você acabou de criar.

Tipos de dados no PostgreSQL

No PostgreSQL, existem diversos tipos de dados disponíveis para a definição das colunas de uma tabela. Cada tipo de dado possui suas próprias características e restrições. Aqui estão alguns dos tipos de dados mais comuns no PostgreSQL:

  • VARCHAR: O tipo VARCHAR é utilizado para armazenar strings de caracteres com comprimento variável. É necessário especificar o tamanho máximo da string ao definir uma coluna VARCHAR. Por exemplo: nome VARCHAR(100).

  • INTEGER: O tipo INTEGER é utilizado para armazenar números inteiros. Ele ocupa 4 bytes de armazenamento e pode armazenar valores inteiros na faixa de -2.147.483.648 a 2.147.483.647.

  • BOOLEAN: O tipo BOOLEAN é utilizado para armazenar valores de verdadeiro (true) ou falso (false). É frequentemente usado para representar valores lógicos.

  • DATE: O tipo DATE é utilizado para armazenar datas. Ele armazena o ano, mês e dia, no formato 'YYYY-MM-DD'.

  • TIMESTAMP: O tipo TIMESTAMP é utilizado para armazenar datas e horários. Ele armazena o ano, mês, dia, hora, minuto e segundo, no formato 'YYYY-MM-DD HH:MI:SS'.

  • SERIAL: O tipo SERIAL é utilizado para criar colunas que automaticamente geram valores numéricos sequenciais. Essas colunas são frequentemente usadas para a criação de chaves primárias únicas. O tipo SERIAL é uma combinação dos tipos INTEGER e AUTO_INCREMENT.

Esses são apenas alguns exemplos dos tipos de dados mais comuns no PostgreSQL. O PostgreSQL também oferece outros tipos de dados, como DECIMAL, NUMERIC, TEXT, JSON, entre outros, que podem ser utilizados de acordo com a necessidade específica de cada coluna.

Dica

Amplie seu conhecimento, recomendamos que você consulte a documentação oficial do PostgreSQL para obter mais informações e detalhes sobre os tipos de dados disponíveis.

Alterando uma tabela

No PostgreSQL, além de criar tabelas, também é possível realizar alterações em tabelas já existentes. Isso permite modificar a estrutura da tabela, adicionar ou remover colunas, alterar tipos de dados, entre outras operações.

Alterando uma tabela existente

Para alterar uma tabela no PostgreSQL, você pode usar o comando ALTER TABLE, seguido pelo nome da tabela e as alterações que deseja realizar. Aqui está a sintaxe básica do comando:

ALTER TABLE <nome_da_tabela>
    <alteracao_1>,
    <alteracao_2>,
    ...
;

Substitua <nome_da_tabela> pelo nome da tabela que você deseja alterar e defina as alterações desejadas.

Por exemplo, vamos adicionar uma nova coluna chamada "endereco" à tabela "clientes":

ALTER TABLE clientes
    ADD COLUMN endereco VARCHAR(200);

Nesse exemplo, estamos adicionando uma nova coluna chamada "endereco" à tabela "clientes" com o tipo de dados VARCHAR e tamanho máximo de 200 caracteres.

Verificando as alterações na tabela

Após realizar as alterações em uma tabela, você pode verificar se elas foram aplicadas corretamente. Você pode listar as colunas da tabela usando o comando \d+ dentro do psql:

\d+ <nome_da_tabela>

Isso exibirá informações detalhadas sobre a tabela, incluindo as colunas e suas definições atualizadas.

Removendo uma coluna da tabela

Se você precisar remover uma coluna de uma tabela, pode usar o comando ALTER TABLE, seguido pelo nome da tabela e a cláusula DROP COLUMN. Aqui está a sintaxe básica do comando:

ALTER TABLE <nome_da_tabela>
    DROP COLUMN <nome_da_coluna>;

Substitua <nome_da_tabela> pelo nome da tabela que contém a coluna que você deseja remover e <nome_da_coluna> pelo nome da coluna que será removida.

Por exemplo, vamos remover a coluna "email" da tabela "clientes":

ALTER TABLE clientes
    DROP COLUMN email;

Cuidado!

Tenha cuidado ao usar o comando ALTER TABLE DROP COLUMN, pois ele irá excluir permanentemente a coluna e todos os dados nela contidos.

Excluindo uma tabela

Se por algum motivo você precisar excluir uma tabela, pode usar o comando DROP TABLE seguido pelo nome da tabela. Aqui está a sintaxe básica do comando:

DROP TABLE <nome_da_tabela>;

Cuidado!

Tenha cuidado ao usar o comando DROP TABLE, pois ele irá excluir permanentemente a tabela e todos os dados nela contidos.

Dicas úteis

Aqui estão algumas dicas úteis ao trabalhar com tabelas no PostgreSQL:

  • Escolha nomes de tabela descritivos e significativos para facilitar a identificação e o gerenciamento.
  • Defina corretamente os tipos de dados e as restrições das colunas para garantir a integridade dos dados.
  • Considere a normalização do banco de dados para evitar redundâncias e inconsistências.
  • Utilize índices adequados para melhorar o desempenho de consultas em tabelas grandes.
  • Faça backup regularmente das suas tabelas para evitar perda de dados.

Agora você sabe como criar, alterar e até mesmo excluir uma tabela no PostgreSQL usando a interface de linha de comando. Você pode continuar explorando os recursos avançados do PostgreSQL, como restrições de chave primária, restrições de chave estrangeira, índices e muito mais.

Espero que este guia seja útil para você.