Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Dúvida] Estrutura do código

Gostaria de saber se está certo o pensamento abaixo e o que pode melhorar. Além disso, fico em dúvida ainda se a data deve vir entre aspas ou não assim como o ID (32D)

INSERT INTO tabela_funcionarios (
ID INT PRIMARY KEY,
Nome VARCHAR (250),
Cargo VARCHAR (250),
Departamento VARCHAR (250),
Data_Contratacao DATE,
Salario DECIMAL (10,2)
)
VALUES
(32D, 'João Silva', 'Desenvolvedor de Software', 'TI', 2023-10-24, 6000)

1 resposta

Olá Vinicius.
Tudo bem?
Seu pensamento está quase certo, mas há uma diferença importante: você misturou o comando de criação da tabela com o comando de inserção de dados.
O trecho:

ID INT PRIMARY KEY,
Nome VARCHAR(250),
...

faz parte do CREATE TABLE, e não do INSERT INTO.
Para inserir dados, o correto seria algo assim:

INSERT INTO tabela_funcionarios
(ID, Nome, Cargo, Departamento, Data_Contratacao, Salario)
VALUES
('32D', 'João Silva', 'Desenvolvedor de Software', 'TI', '2023-10-24', 6000);

Sobre suas dúvidas:

  1. ID precisa de aspas?
    Se o ID contém letras, como 32D, então sim, precisa de aspas, porque deixa de ser um número inteiro e passa a ser texto.
    Nesse caso, o tipo da coluna não deveria ser INT, mas sim VARCHAR.
    Exemplo:
    ID VARCHAR(10) PRIMARY KEY
  2. A data precisa de aspas?
    Sim. Datas normalmente são passadas entre aspas no formato:
    'YYYY-MM-DD'
    Exemplo:
    '2023-10-24'
  3. O salário precisa de aspas?
    Não. Valores numéricos podem ficar sem aspas.
    O que melhorar:
    Entenda que:
  • CREATE TABLE = cria a estrutura da tabela
  • INSERT INTO = insere registros na tabela
    Você já entendeu bem a lógica, só misturou os dois comandos.
    Avise qualquer duvida.
    Bons estudos.