Trabalho Implementação de Banco de Dados
A cláusula ON DUPLICATE KEY UPDATE serve para verificar se um índice único (unique index) ou uma chave primária (primary key) estão sendo duplicadas com uma nova inserção, caso esteja então ela atualiza o registro invés de inserir; Já o REPLACE INTO somente substituirá os dados quando houver violação de chaves.
1. INSERT INTO peca VALUES (1, ‘pneu’, ‘grande’, 50, 21.80, 22, 29) ON DUPLICATE
KEY (descricao= ‘médio’);
No caso 1, inserimos uma peça chamada pneu grande (nome e descrição), e, caso exista essa peça no banco, em vez de inserir pneu grande inserimos pneu médio.
2. REPLACE INTO peca VALUES (1, ‘pneu’, ‘grande’, 50, 21.80, 22, 29);
No caso 2, inserimos uma peça chamada pneu grande (nome e descrição), e, caso exista essa chave (1), é como se apagássemos e inseríssemos novamente.
Questão 02
O comando DROP serve para apagar um índice, tabela ou o próprio banco; Já os comandos DELETE e TRUNCATE se referem a tuplas, pois o DELETE deleta uma tupla específica e o TRUNCATE deleta todas as tuplas de uma tabela.
Questão 03
LOAD DATA INFILE 'D:\\mayke\\tabela_excel.csv'
INTO TABLE cliente
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'
IGNORE 1 LINES (tipo_cliente, insc_rg, nome, endereco, telefone, cpf_cnpj);
Questão 04
ALTER TABLE veiculo ADD Obs varchar(300) AFTER placa;
Questão 05
CREATE TABLE Operacional( idOperacional INT NOT NULL AUTO_INCREMENT, data DATE NOT NULL, descricao VARCHAR(150) NOT NULL,
PRIMARY KEY ('idOperacional'))
Questão 06
DROP TABLE Operacional;
Questão 07
a. SELECT nome FROM cliente WHERE dt_cadastro BETWEEN '2014-01-01
00:00:00' AND '2015-01-01 00:00:00' ORDER BY nome ASC;
b. SELECT id_cliente FROM veiculo WHERE placa LIKE '%C%';
c. SELECT placa FROM veiculo WHERE data_entrada= (SELECT MIN(data_entrada)
FROM veiculo);
d. SELECT COUNT(*) FROM veiculo GROUP BY tipo_veiculo;
e. SELECT COUNT(*) FROM os WHERE data_inicio BETWEEN NOW() - INTERVAL
30 DAY AND NOW();
f.