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
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
- 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).
- MODIFY nome char(100) → Altera a estrutura da coluna
- 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.
- 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 emVARCHAR(70), essa modificação não causa problemas.
Conteúdo do catálogo FC Concursos · Atualizado em