# Inserindo dados no SurrealDB com CREATE, INSERT e UPSERT

> **Resposta Direta:** A Aula 6 de 20 ("Inserindo dados no SurrealDB com CREATE, INSERT e UPSERT"), parte do módulo "CRUD sem schema" do curso gratuito "SurrealDB do zero: fundamentos com um CRM" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: prática, você aprende as diferenças fundamentais entre CREATE, INSERT e UPSERT no SurrealQL. Veja como gravar dados usando sintaxes CONTENT ou SET, modelar estruturas desnormalizadas e criar transações atômicas. Além disso, aprenda a gerar dados falsos para testes e preencher tabelas diretamente a partir de requisições HTTP.

## Ficha Técnica da Aula

- **Curso:** [SurrealDB do zero: fundamentos com um CRM](https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero)
- **Escola:** Escola de Aplicativos (https://www.escoladeaplicativos.com.br)
- **Instrutor:** Mauro Mequelussi
- **Módulo 2 de 6:** CRUD sem schema
- **Posição na trilha:** Aula 6 de 20
- **Duração da videoaula:** 7 min
- **Nível:** Iniciante
- **Idioma:** Português (PT-BR)
- **Custo:** 100% Gratuito (R$ 0)
- **Certificado:** Certificado gratuito verificável incluso ao concluir o curso
- **Acesso ao vídeo:** Resumo técnico aberto; videoaula em HD liberada mediante cadastro gratuito
- **URL canônica:** https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero/inserindo-dados-no-surrealdb-com-create-insert-e-upsert

## O que você vai aprender

- A diferença entre o CREATE do SQL tradicional e a inserção de registros no SurrealDB
- Como estruturar dados usando as cláusulas CONTENT (estilo JSON) e SET (estilo SQL)
- As vantagens de trabalhar com schemas desnormalizados para otimizar leituras frequentes
- Como gerar dezenas de registros falsos em lote para testes usando funções randômicas
- Como buscar dados externos com http::get e preencher registros diretamente pelo banco
- Estratégias para atualizar ou inserir registros usando UPSERT e ON DUPLICATE KEY UPDATE

## Pontos-chave da Aula

- No SurrealDB, o comando CREATE insere dados; a estrutura da tabela é definida com DEFINE TABLE.
- Executar múltiplos CREATEs na mesma linha agrupa as inserções em uma única transação atômica.
- A notação de barras verticais (ex: |100|) combinada com funções rand:: permite gerar dados de teste com facilidade.
- O comando INSERT aceita arrays e objetos JSON diretamente, sem necessidade da palavra CONTENT.
- Para atualizar ao inserir, utilize UPSERT ou a cláusula ON DUPLICATE KEY UPDATE do INSERT.

## Capítulos e Tópicos da Videoaula

- **[00:00] O papel do CREATE e transações atômicas** — Entenda por que o CREATE insere dados no SurrealDB e como rodar operações em múltiplas tabelas em uma única transação segura.
- **[01:31] CONTENT vs SET e schema desnormalizado** — Descubra como estruturar dados aninhados usando sintaxe de objeto ou atribuição pontual, e as vantagens de ler tudo em um registro.
- **[02:43] Geração de dados de teste em lote** — Aprenda a sintaxe de barras verticais combinada a funções randômicas para gerar dezenas de registros fictícios de uma só vez.
- **[03:29] INSERT clássico, cópia de tabelas e BrasilAPI** — Veja como o INSERT lida com listas de objetos, permite duplicar tabelas e busca dados de CEP externos via http::get.
- **[05:06] UPSERT e tratamento de chaves duplicadas** — Compare o UPSERT com ON DUPLICATE KEY UPDATE para inserir ou atualizar registros automaticamente sem gerar erros.
- **[05:48] Resumo dos comandos e próximos passos** — Uma revisão prática das diferenças entre CREATE, INSERT e UPSERT para você escolher a opção ideal em cada fluxo do app.

## Destaques Práticos

- **[00:00] CREATE insere dados e cria transações no SurrealDB**: Sabia que no SurrealDB o CREATE não cria a estrutura da tabela, mas insere registros em transações atômicas?
- **[02:43] Como gerar 100 registros de teste em uma linha**: Descubra como popular seu banco instantaneamente com dados falsos usando as funções randômicas do SurrealDB.
- **[04:23] Buscando dados de uma API externa direto no banco**: Veja como preencher um endereço a partir do CEP consultando a BrasilAPI diretamente pelo SurrealDB.

## Conceitos e Tecnologias Abordados

- **Tópicos:** Comandos CREATE, INSERT e UPSERT, Modelagem desnormalizada, Geração de mock data, Transações atômicas, Requisições HTTP no banco
- **Ferramentas e Entidades:** SurrealDB, SurrealQL, BrasilAPI, JSON, SQL

## Documentação e Referências Oficiais

- [Documentação do comando CREATE no SurrealQL](https://surrealdb.com/docs/surrealql/statements/create)
- [Documentação do comando INSERT no SurrealQL](https://surrealdb.com/docs/surrealql/statements/insert)
- [Documentação do comando UPSERT no SurrealQL](https://surrealdb.com/docs/surrealql/statements/upsert)
- [Documentação das funções HTTP no SurrealQL](https://surrealdb.com/docs/surrealql/functions/database/http)
- [Documentação das funções randômicas no SurrealQL](https://surrealdb.com/docs/surrealql/functions/database/rand)

## Perguntas Frequentes (FAQ)

### O que é ensinado na Aula 6 (Inserindo dados no SurrealDB com CREATE, INSERT e UPSERT) do curso SurrealDB do zero: fundamentos com um CRM?

Nesta aula do módulo "CRUD sem schema" na Escola de Aplicativos, você aprende de forma prática: A diferença entre o CREATE do SQL tradicional e a inserção de registros no SurrealDB; Como estruturar dados usando as cláusulas CONTENT (estilo JSON) e SET (estilo SQL); As vantagens de trabalhar com schemas desnormalizados para otimizar leituras frequentes; Como gerar dezenas de registros falsos em lote para testes usando funções randômicas.

### Como assistir ao vídeo completo da aula "Inserindo dados no SurrealDB com CREATE, INSERT e UPSERT" gratuitamente?

O resumo técnico estruturado desta aula é público e gratuito. Para assistir à videoaula completa em HD, basta entrar ou criar sua conta 100% gratuita na Escola de Aplicativos — o cadastro leva segundos e libera todas as 20 aulas do curso "SurrealDB do zero: fundamentos com um CRM", controle de progresso, Tutor IA e emissão de certificado gratuito.

### Quais tecnologias e conceitos são abordados em "Inserindo dados no SurrealDB com CREATE, INSERT e UPSERT"?

A aula cobre diretamente os seguintes tópicos técnicos aplicados em produção: Comandos CREATE, INSERT e UPSERT, Modelagem desnormalizada, Geração de mock data, Transações atômicas, Requisições HTTP no banco.

### O curso "SurrealDB do zero: fundamentos com um CRM" oferece certificado gratuito?

Sim. Ao assistir às 20 aulas do curso gratuito "SurrealDB do zero: fundamentos com um CRM" na Área de Membros da Escola de Aplicativos, você emite gratuitamente um certificado digital em português com código de verificação pública.

## Como assistir à videoaula completa gratuitamente

Crie sua conta gratuita em segundos em https://www.escoladeaplicativos.com.br/login?redirect=%2Fm%2Fcursos%2Fsurrealdb-do-zero%2Faula%2Finserindo-dados-no-surrealdb-com-create-insert-e-upsert para assistir ao vídeo completo desta aula em HD na Área de Membros da Escola de Aplicativos, com progresso salvo, Tutor IA e certificado gratuito verificável.

## Navegação do Curso

- **Aula anterior:** [Aula 5: Record IDs: a identidade de cada registro no SurrealDB](https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero/record-ids-a-identidade-de-cada-registro-no-surrealdb)
- **Próxima aula:** [Aula 7: Consultas com SELECT e tempo real com LIVE SELECT](https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero/consultas-com-select-e-tempo-real-com-live-select)
