[Introdução básica ao postgresql] Operações de tabela, visualização de estrutura de tabela, modificação de tipos de campo, adição e exclusão de campos, renomeação de tabelas, operações de tabela estão sempre um passo à frente dos outros

Operações de tabela

Conteúdo da coluna :

Contribuições de código aberto :

Página inicial pessoal : Minha página inicial
Comunidade de gerenciamento : Banco de dados de código aberto
Lema: Quando o céu está forte, um cavalheiro se esforça para se aprimorar; quando o terreno é bom, um cavalheiro carrega grandes virtudes.

Série de artigos

Prefácio

O banco de dados postgresql é um dado relacional geral comparável aos dados comerciais em bancos de dados de código aberto e está se tornando cada vez mais popular na indústria.

Por ser um banco de dados de código aberto, ele não apenas divulga o código-fonte, mas também possui muitos casos de uso e plug-ins fáceis de usar, tornando-se gradativamente o pioneiro e o padrão dos bancos de dados. Através do postgresql, você pode completamente compreendê-lo desde o uso até os princípios;

Se você está aprendendo programação, também pode aprender uma riqueza de conhecimentos de programação, estruturas de dados e habilidades de programação.Existem também muitos projetos arquitetônicos requintados, ideias em camadas e ideias que podem ser personalizadas com flexibilidade.

Esta coluna apresenta principalmente o uso básico do postgresql, manutenção e gerenciamento de banco de dados. Por meio desses usos, você pode entender os princípios do banco de dados e entender lentamente que tipo de banco de dados postgresql é, o que ele pode fazer e como fornecer bons serviços. O mais importante é que esse conhecimento esteja todo na entrevista. Itens obrigatórios.

Visão geral

O artigo anterior compartilhou o conteúdo relevante da criação de uma tabela. A tabela também possui muitos atributos. Se esses atributos estiverem errados ao criá-la, preciso excluir a tabela e tentar novamente?

Este artigo o guiará pelas várias operações da tabela a partir dos seguintes aspectos: No desenvolvimento e manutenção normais do banco de dados, não há necessidade de pedir ajuda a outras pessoas.

  • Ver estrutura da tabela
  • Consultar dados
  • Inserir dados
  • excluir dados
  • Modificar campos da tabela
  • Adicionar e excluir campos da tabela
  • Renomear tabela
  • Excluir tabela
  • OID da tabela de pesquisa

Ver estrutura da tabela

Quando usamos uma tabela, também precisamos saber a estrutura de definição da tabela, quais campos existem e os tipos de campos, se existem chaves primárias, chaves estrangeiras, etc.;

Caso a tabela não seja criada por nós mesmos, podemos consultar a estrutura da tabela no banco de dados,
abaixo utilizamos o psql que vem com a instalação como cliente para operar;

Primeiro faça login no banco de dados, vemos que já existem duas tabelas no estágio inicial;

[senllang@hatch bin]$ ./psql -d db_factory2 -U hr
WARNING:  permission denied to set role "vp3"
psql (16beta1)
Type "help" for help.

db_factory2=> \d
                   List of relations
 Schema |           Name            |   Type   | Owner
--------+---------------------------+----------+-------
 public | company                   | table    | hr
 public | employees                 | table    | hr
 public | employees_employee_id_seq | sequence | hr
(3 rows)

db_factory2=>

A seguir, dê uma olhada na estrutura dessas duas tabelas e tente verificar a consulta e inserir os dados;

db_factory2=> \d company
                  Table "public.company"
 Column  |     Type      | Collation | Nullable | Default
---------+---------------+-----------+----------+---------
 id      | integer       |           | not null |
 name    | text          |           | not null |
 age     | integer       |           | not null |
 address | character(50) |           |          |
 salary  | real          |           |          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)

Você pode ver que companyas informações desta tabela são exibidas em forma de tabela, a primeira coluna é o histórico do campo, a segunda coluna é a classe, seguida das restrições e valores padrão;

Você pode ver que existem cinco campos. idO campo é a chave primária, que também é um índice. O tipo de índice btree é usado por padrão e há restrições não nulas; addresso comprimento do campo é 50;

Consultar dados

Vamos ver se há dados na tabela. Você pode verificar por campo aqui ou pode *usá substituir todos os campos;

db_factory2=> select * from company;
 id | name | age | address | salary
----+------+-----+---------+--------
(0 rows)
db_factory2=> select id from company ;
 id
----
(0 rows)

Ainda não há dados na tabela;

Inserir dados

Para inserir dados, usamos instruções SQL padrão. Se cada campo tiver um valor, o nome do campo pode ser omitido e cada campo será mapeado para cada campo de acordo com a ordem dos valores durante a análise;

db_factory2=> insert into company (id,name,age,address,salary) values(1,'hongxing',8,'shangdong',4.8),(2,'dongfeng',20,'shenyang',10.22);
INSERT 0 2
db_factory2=> select * from company;
 id |   name   | age |                      address                       | salary
----+----------+-----+----------------------------------------------------+--------
  1 | hongxing |   8 | shangdong                                          |    4.8
  2 | dongfeng |  20 | shenyang                                           |  10.22
(2 rows)

Dois dados são inseridos ao mesmo tempo, valuesseguidos por vários campos de valor, para que vários itens possam ser inseridos.No entanto, o número de valores de campo no campo de valor deve ser o mesmo, caso contrário, o analisador não será capaz de alinhe-o aos campos da tabela;

Modificar campos

Para modificar os campos de uma tabela existente, você pode alterar o nome e o tipo do campo;

Tipo de modificação

db_factory2=> alter table company alter column name type varchar(255);
ALTER TABLE
db_factory2=> \d company
                      Table "public.company"
 Column  |          Type          | Collation | Nullable | Default
---------+------------------------+-----------+----------+---------
 id      | integer                |           | not null |
 name    | character varying(255) |           | not null |
 age     | integer                |           | not null |
 address | character(50)          |           |          |
 salary  | real                   |           |          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)

Altere nameo comprimento do tipo de campo de ilimitado para 255 caracteres;

Ao modificar tipos, observe que nem todos os tipos podem ser modificados arbitrariamente. O tipo modificado deve ser compatível com o tipo anterior e é melhor evitar perda de dados;

Modificar nome do campo

Depois de definida a mesa, o patrão fala que o nome não está bom, então ele tem que modificá-lo, você pode fazer assim;

db_factory2=> alter table company rename age TO founded;
ALTER TABLE
db_factory2=> \d company
                      Table "public.company"
 Column  |          Type          | Collation | Nullable | Default
---------+------------------------+-----------+----------+---------
 id      | integer                |           | not null |
 name    | character varying(255) |           | not null |
 founded | integer                |           | not null |
 address | character(50)          |           |          |
 salary  | real                   |           |          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)

Adicionar e remover campos

ageEmbora tenha sido alterado para a data de estabelecimento acima founded, o tipo não pode ser alterado com sucesso; Então isto. . .

db_factory2=> alter table company alter column founded type timestamp without time zone;
ERROR:  column "founded" cannot be cast automatically to type timestamp without time zone
HINT:  You might need to specify "USING founded::timestamp without time zone".

Nota : Você precisa fazer backup dos dados antes de fazer as seguintes operações, caso contrário os dados serão perdidos;
neste caso, quando ainda está na fase inicial e ainda na fase de testes, você pode excluir o campo e depois adicioná-lo ; claro, depois de fazer isso, os dados nesta coluna serão perdidos;

Excluir campo

db_factory2=> alter table company drop column founded ;
ALTER TABLE
db_factory2=> \d company
                      Table "public.company"
 Column  |          Type          | Collation | Nullable | Default
---------+------------------------+-----------+----------+---------
 id      | integer                |           | not null |
 name    | character varying(255) |           | not null |
 address | character(50)          |           |          |
 salary  | real                   |           |          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)

Adicionar campo

Você pode então adicionar o nome e o tipo de campo corretos.

db_factory2=> alter table company add column founded date;
ALTER TABLE
db_factory2=> \d company
                      Table "public.company"
 Column  |          Type          | Collation | Nullable | Default
---------+------------------------+-----------+----------+---------
 id      | integer                |           | not null |
 name    | character varying(255) |           | not null |
 address | character(50)          |           |          |
 salary  | real                   |           |          |
 founded | date                   |           |          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)

Agora está tudo bem, então os dados nesta coluna precisam ser inseridos novamente. Você pode usar a instrução de atualização para inseri-los em lotes;

Renomear tabela

Se você achar que o significado do nome da tabela não está claro, você pode modificá-lo renomeando-o;

db_factory2=> alter table company rename to tbl_company; 
ALTER TABLE

Esta operação não terá impacto no interior do banco de dados, pois é referenciado internamente através de OID, porém, para sistemas de negócios que já estão em execução, o método de referência em SQL precisa ser modificado;

Excluir tabela

Excluir uma tabela que não é mais usada

db_factory2=> drop table employees ;
DROP TABLE

O pré-requisito para uma exclusão bem-sucedida é que esta tabela não seja referenciada por outros objetos de banco de dados (visualizações, chaves estrangeiras, etc.).Por exemplo, se uma visualização for criada nesta tabela, a visualização deverá ser excluída primeiro ou a tabela deverá ser excluídos juntos usando exclusão em cascata. ;

OID da tabela de pesquisa

O banco de dados utiliza referências OID internamente. OID é um identificador único. Também é nomeado usando OID quando é armazenado em disco. Como saber o OID da tabela?
As informações relacionadas à tabela são registradas na tabela do sistema pg_class;

db_factory2=> select oid,relname from pg_class where relname='tbl_company';
  oid  |   relname
-------+-------------
 16510 | tbl_company
(1 row)

Resumir

Através do compartilhamento deste artigo, tive um melhor entendimento da consulta e alteração dos atributos da tabela.As informações sobre a tabela no dicionário de dados, como OID, local de armazenamento, se é uma tabela normal ou temporária, etc. ., estão todos registrados em pg_class. Claro, também está gravado. Há muitas informações úteis. Os alunos interessados ​​​​podem conferir por conta própria.

fim

Muito obrigado pelo seu apoio. Não se esqueça de deixar seus comentários valiosos enquanto navega. Se você acha que vale a pena encorajar, curta e salve. Vou trabalhar mais!

E-mail do autor: [email protected]
Se houver algum erro ou omissão, indique-os e aprendam uns com os outros.

Nota: Nenhuma reprodução é permitida sem permissão!

Supongo que te gusta

Origin blog.csdn.net/senllang/article/details/133063315
Recomendado
Clasificación