FC ConcursosFC Concursos

Questão FC90607

1. CREATE TABLE IF NOT EXISTS 'software' ( 2. 'id' int NOT NULL, 3. 'nome' varchar(70) NOT NULL, 4. PRIMARY KEY ('id') 5. ) DEFAULT CHARSET=utf8; 6. INSERT INTO 'software' ('id', '

Linguagem SQL

CEBRASPE (CESPE) · 2018

1. CREATE TABLE IF NOT EXISTS 'software' (
2.  'id' int NOT NULL,
3.  'nome' varchar(70) NOT NULL,
4.  PRIMARY KEY ('id')
5. ) DEFAULT CHARSET=utf8;

6. INSERT INTO 'software' ('id', 'nome') VALUES
7.  ('1', 'Programa ABC'),
8.  ('2', 'Programa WYZ'),
9.  ('3', 'Programa DFG');

10. CREATE TABLE IF NOT EXISTS 'vsoftware' (
11.  'idsoft' int UNSIGNED NOT NULL REFERENCES software(id),
12.  'versao' int(3) NOT NULL,
13.  'descricao' varchar(70) NOT NULL,
14.  PRIMARY KEY ('idsoft','versao'));

15. INSERT INTO 'vsoftware' ('idsoft', 'versao', 'descricao') VALUES
16.  ('1', '1', 'criacao do programa.'),
17.  ('2', '1', '1a versao.'),
18.  ('1', '2', 'atualizacao na tela A.'),
19.  ('1', '3', 'adicao da tela C.'),
20.  ('2', '2', 'adicao da tela D.');


Com base nos comandos MySQL 5.6 precedentes, julgue o item a seguir.

O comando a seguir no MySQL 5.6 modifica o tipo do campo nome para CHAR na tabela software.

ALTER TABLE software MODIFY nome char(100);
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

O gabarito está correto porque o comando SQL apresentado modifica o tipo da coluna nome na tabela software de VARCHAR(70) para CHAR(100), o que é uma operação válida no MySQL 5.6.

🔍 Explicação técnica

  1. O comando ALTER TABLE software MODIFY nome char(100); realiza duas ações principais:
    • MODIFY nome char(100) → Altera a estrutura da coluna nome, mudando seu tipo de VARCHAR(70) para CHAR(100).
  2. Diferença entre VARCHAR e CHAR
    • VARCHAR(n): Armazena somente o número de caracteres inseridos, economizando espaço.
    • CHAR(n): Sempre ocupa o tamanho máximo especificado (100 bytes, no caso), preenchendo espaços em branco caso o texto seja menor.
  3. Por que o comando funciona?
    • No MySQL, é permitido alterar o tipo de uma coluna desde que o novo tipo seja compatível com os dados existentes.
    • Como CHAR(100) pode armazenar qualquer dado que estava em VARCHAR(70), essa modificação não causa problemas.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo