Criar uma tabela no PostgreSQL - Create table
Olá amigos, aqui vai um rápido resumo de como criar uma tabela no PostgreSQL.
- Mas primeiro, iremos acessar o servidor:
psql -U [nome_do_usuario]
- Depois iremos escolher em qual base iremos criar a tabela
\c nova_base
Agora sim, podemos começar a criar nossa tabelas.
Mas antes, se você quiser ver como criamos uma base de dados, clique aqui
Sintaxe: Create table
Para criar uma nova tabela use o comando create table
CREATE TABLE [IF NOT EXISTS] nome_da_tabela (
coluna1 datatype(length) column_contraint,
coluna2 datatype(length) column_contraint,
coluna3 datatype(length) column_contraint,
table_constraints
);
- Especificamos o nome da tabela depois de
create table
- Caso a tabela que queremos criar já existe na base, um erro será retornado. Para evitar que isso aconteça, podemos adicionar a opção
if not exists
. - Cada coluna da tabela deve ser separada por vírgula e a última linha não pode terminar com vírgula.
- A definição de cada coluna deve seguir o padrão
nome_da_coluna tipo_do_dado(comprimento_do_dado) restrição ... nome varchar(100) not null
- Por fim, se especifíca as constraints da tabela (chave primaria, chave estrangeira, …)
Restrições (constraints)
- NOT NULL – coluna não pode ser nula
- UNIQUE – garante que os valores daquela coluna é único em todas as linhas da tabela
- PRIMARY KEY – Uma chave primária define unicamente uma linha da tabela. Cada tabela pode ter apenas 1 chave primária, porém essa chave primária pode ser composta (formada por mais de uma coluna).
- CHECK – garante que o valor de uma coluna deve satisfazer uma expressão booleana.
- FOREIGN KEY – garante que os valores de uma coluna de uma tabela existem em outra coluna de outra tabela. Uma tabela pode ter mais de uma chave estrangeira.
Exemplos
Digamos que devemos ter uma tabela para guardar os empregados de uma empresa:
CREATE TABLE empregados (
matricula serial primary key,
nome varchar(200) not null,
cpf varchar(11) unique not null,
email varchar(255) unique not null,
birthday date
);
Agora queremos guardar os dependentes dos empregados:
CREATE TABLE dependentes (
empregado_matricula int not null
nome varchar(200) not null,
foreign key (empregado_matricula)
references empregado(matricula)
);
Então, criamos uma tabela dependentes
e informamos que sua chave estrangeira apontava para a tabela de empregados
na coluna matricula
Opa, tudo bem? Antes de você ir, te deixo aqui meu email: [email protected]
Teve alguma dúvida?
Você achou que eu escrevi alguma coisa errada? Erro de português?
Você tem uma forma melhor de resolver o problema?
Você tem alguma sugestão de tópico para eu escrever?
Ou se quiser conversar sobre qualquer outro assunto?
Vamos trocar uma ideia. Sinta-se livre para me enviar um email. Eu lhe responderei com o maior prazer!