PostgreSQL CREATE TABLE: como criar novas tabelas
No PostgreSQL, o comando CREATE TABLE é utilizado para criar novas tabelas dentro de uma base de dados. Ao utilizar este comando, definem-se também diretamente várias especificações para a tabela e as suas colunas individuais.
O que é o PostgreSQL CREATE TABLE?
O comando CREATE TABLE é utilizado no PostgreSQL para criar uma nova tabela numa base de dados existente. Ao fazê-lo, define-se sempre um nome único e exclusivo na base de dados para a tabela e as suas respetivas colunas. Cada coluna recebe também um nome e o tipo de dados que deve conter no final. É igualmente possível definir restrições tanto para colunas específicas como para todas elas durante a criação.
Sintaxe e funcionalidade do CREATE TABLE
A sintaxe básica do PostgreSQL CREATE TABLE é a seguinte:
CREATE TABLE nombre_de_la_tabla(
columna1 tipo_de_dato PRIMARY KEY,
columna2 tipo_de_dato,
columna3 tipo_de_dato,
...
);postgresqlPrimeiro, utiliza-se o comando principal CREATE TABLE para instruir o PostgreSQL a criar uma nova tabela. Em seguida, atribui-se-lhe um nome único. Os nomes das colunas individuais e a definição dos tipos de dados permitidos aparecem a seguir, entre parênteses.
Se quiseres incluir restrições (constraints), a sintaxe muda e ficaria assim:
CREATE TABLE nombre_de_la_tabla(
columna1 tipo_de_dato PRIMARY KEY restricción,
columna2 tipo_de_dato restricción,
columna3 tipo_de_dato restricción,
...
);postgresqlAlém do PRIMARY KEY, o PostgreSQL suporta os seguintes tipos de restrições:
NOT NULL: desta forma, garante-se que a coluna em questão não contenha nenhum valor NULL.UNIQUE: pode definir esta restrição para garantir que todos os valores de uma coluna ou combinação de colunas sejam únicos.CHECK: utilizeCHECKpara definir as condições que devem ser cumpridas ao inserir ou atualizar dados.FOREIGN KEY: esta restrição é necessária para estabelecer relações com uma coluna de outra tabela.DEFAULT: define um valor por defeito para uma coluna caso não seja especificado um valor explícito ao inserir.
Exemplo prático do PostgreSQL CREATE TABLE
A funcionalidade do PostgreSQL CREATE TABLE torna-se mais clara se a compreendermos através de um exemplo prático. Para isso, vamos criar uma nova tabela chamada «Lista de clientes». Inicialmente, ela deve conter quatro colunas: «ID», «Nome», «País» e «Endereço». Definimos «ID» como PRIMARY KEY e as colunas «ID» e «Nome» não devem ficar vazias. O código correspondente é o seguinte:
CREATE TABLE lista_de_clientes(
ID INT PRIMARY KEY NOT NULL,
Nombre VARCHAR(50) NOT NULL,
País VARCHAR(50),
Dirección VARCHAR(255)
);postgresqlA base de dados irá agora criar uma tabela vazia com este nome e as colunas que definiu, que poderá preencher posteriormente com valores. O resultado da tabela preenchida seria algo semelhante a isto:
| ID | Nome | País | Endereço |
|---|---|---|---|
| 1 | Mario Martínez | Espanha | Calle Mayor 1, 12345 Madrid |
| 2 | … | … | … |
| 3 | … | … | … |
Ver tabelas criadas com \d
Para ter a certeza de que a ação PostgreSQL com CREATE TABLE foi executada com sucesso, pode utilizar o comando \d. Este comando mostra todas as tabelas existentes numa base de dados. Eis como se utiliza:
testdb-# \dpostgresqlTambém pode utilizar o comando para obter uma descrição mais detalhada de uma tabela específica. Para obter uma lista de todas as especificações do nosso exemplo anterior, utilize-o da seguinte forma:
testdb-# \dpostgresql