Pular para o conteúdo principal

Colunas do CSV e do SQL

O CSV e o SQL saem da visão plana da pessoa: 33 colunas, sempre nesta ordem. O --campos da CLI (e o campos do servidor) escolhe e reordena as colunas pelo nome.

As 33 colunas​

O exemplo é a primeira pessoa de botai pessoas -n 1 --semente demo --hoje 2026-10-08 --formato csv.

#ColunaCampo da pessoaTipoExemplo
1nomenome.completotextoIsabela Freitas Santos
2prenomenome.prenometextoIsabela
3sobrenomesnome.sobrenomes, com espaçotextoFreitas Santos
4sexonome.sexotextoF
5nascimentonascimento.isotexto (data ISO)1976-10-02
6idadenascimento.idadenúmero50
7cpfcpftexto550.160.642-96
8rgrg.numerotexto19.031.287-7
9rg_orgao_emissorrg.orgaoEmissortextoSSP
10rg_ufrg.uftextoSP
11pispistexto186.76364.37-6
12titulo_eleitortituloEleitortexto3607 9513 2674
13emailemail.enderecotextoisabela-santos-7825@tuamaeaquelaursa.com
14email_usuarioemail.usuariotextoisabela-santos-7825
15email_caixa_urlemail.caixaUrltexto ou nulohttps://tuamaeaquelaursa.com/isabela-santos-7825
16senhasenhatextoa9eyHcQ!mM&Y
17celularcelular.formatadotexto(95) 99648-4003
18celular_e164celular.e164texto+5595996484003
19cependereco.ceptexto69301-000
20logradouroendereco.logradourotextoAvenida Ville Roy
21numeroendereco.numerotexto5826
22complementoendereco.complementotextoApto 173
23bairroendereco.bairrotextoCentro
24cidadeendereco.cidadetextoBoa Vista
25ufendereco.uftextoRR
26empresa_razao_socialempresa.razaoSocialtextoFreitas & Santos Serviços Digitais Ltda
27empresa_nome_fantasiaempresa.nomeFantasiatextoSantos Store
28empresa_cnpjempresa.cnpjtexto94.212.848/0001-28
29cartao_bandeiracartao.bandeiratextovisa
30cartao_numerocartao.numerotexto4242424242424242
31cartao_titularcartao.titulartextoISABELA F SANTOS
32cartao_validadecartao.validadetexto01/29
33cartao_cvvcartao.cvvtexto225

O mesmo exemplo, como sai da CLI:

botai pessoas -n 1 --semente demo --hoje 2026-10-08 --formato csv
nome,prenome,sobrenomes,sexo,nascimento,idade,cpf,rg,rg_orgao_emissor,rg_uf,pis,titulo_eleitor,email,email_usuario,email_caixa_url,senha,celular,celular_e164,cep,logradouro,numero,complemento,bairro,cidade,uf,empresa_razao_social,empresa_nome_fantasia,empresa_cnpj,cartao_bandeira,cartao_numero,cartao_titular,cartao_validade,cartao_cvv
Isabela Freitas Santos,Isabela,Freitas Santos,F,1976-10-02,50,550.160.642-96,19.031.287-7,SSP,SP,186.76364.37-6,3607 9513 2674,isabela-santos-7825@tuamaeaquelaursa.com,isabela-santos-7825,https://tuamaeaquelaursa.com/isabela-santos-7825,a9eyHcQ!mM&Y,(95) 99648-4003,+5595996484003,69301-000,Avenida Ville Roy,5826,Apto 173,Centro,Boa Vista,RR,Freitas & Santos Serviços Digitais Ltda,Santos Store,94.212.848/0001-28,visa,4242424242424242,ISABELA F SANTOS,01/29,225

Número e nulo​

  • idade é a única coluna numérica: no SQL, sai sem aspas (50).
  • email_caixa_url é nula quando o e-mail usa um domínio seu (--dominio-email): no CSV, vira campo vazio; no SQL, NULL.
botai pessoas -n 1 --semente demo --hoje 2026-10-08 --dominio-email example.com --formato sql --campos email,email_caixa_url,idade
-- botai: formato 1, motor 0.4.1, semente demo, hoje 2026-10-08
INSERT INTO "pessoas" ("email", "email_caixa_url", "idade") VALUES ('isabela-santos-7825@example.com', NULL, 50);

O que fica de fora​

A pessoa em JSON tem 43 valores; a visão plana junta os sobrenomes numa coluna e deixa de fora os que repetem outro valor: nome.noCartao (igual ao cartao_titular), nascimento.br, celular.ddd, celular.numero, celular.digitos, endereco.ddd, cartao.numeroFormatado, cartao.mes e cartao.ano. Se você precisa deles, use o json ou o ndjson. Os campos da pessoa estão em A pessoa.

Escolher as colunas​

--campos recebe os nomes separados por vírgula e respeita a ordem. Só vale com csv e sql:

botai pessoas -n 2 --semente demo --hoje 2026-10-08 --formato csv --campos cpf,nome
cpf,nome
550.160.642-96,Isabela Freitas Santos
843.495.439-70,Vitória Alves Carvalho

Coluna que não existe, lista vazia e coluna repetida são erros de uso (saída 2). A mensagem lista as colunas aceitas:

botai pessoas -n 2 --formato csv --campos nome,xyz
botai: campos: coluna desconhecida "xyz" (colunas: nome, prenome, sobrenomes, sexo, nascimento, idade, cpf, rg, rg_orgao_emissor, rg_uf, pis, titulo_eleitor, email, email_usuario, email_caixa_url, senha, celular, celular_e164, cep, logradouro, numero, complemento, bairro, cidade, uf, empresa_razao_social, empresa_nome_fantasia, empresa_cnpj, cartao_bandeira, cartao_numero, cartao_titular, cartao_validade, cartao_cvv)

Onde mais​

  • Na CLI: Um lote de pessoas.
  • Na biblioteca: COLUNAS, pessoaPlana e lerCampos, no subpath @pilutech/botai-core/plano (veja Plano, CSV e SQL).
  • No servidor: o parâmetro campos do /pessoas, com csv ou sql (veja API HTTP).