- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatabase.sql
More file actions
Latest commit
115 lines (98 loc) · 5.11 KB
/
Copy pathDatabase.sql
File metadata and controls
115 lines (98 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
dropdatabase if exists williartsClients;
createdatabasewilliartsClients
default character set utf8
default collate utf8_general_ci;
use williartsClients;
dropdatabase williartsClients;
createtablecliente(
idCliente intnot null auto_increment,
nome_cliente varchar(80) not null,
email_cliente varchar(100) not null,
primary key(idCliente)
);
createtabletelefone(
idTelefone intnot null auto_increment,
ddd intnot null,
numero intnot null,
fkCliente intnot null,
primary key(idTelefone),
foreign key(fkCliente) references cliente (idCliente)
);
createtableenderecos(
idEndereco intnot null auto_increment,
cep varchar(10) not null,
endereco varchar(80) not null,
numero int,
complemento varchar(50) default 'S/C',
bairro varchar(80) not null,
nome_cidade varchar(60) not null,
sigla_estado varchar(2) not null,
fkCliente intnot null,
primary key(idEndereco),
foreign key(fkCliente) references cliente (idCliente)
);
insert into cliente(nome_cliente, email_cliente) values
('Emerson Silva', 'emersonlima910@gmail.com');
insert into telefone(ddd, numero, fkCliente) values
(16, 988720562, (select idCliente from cliente) );
insert into enderecos values
(1, '14078-160', 'Rua Monte Azul', 988, 'Casa rosa', 'Jardim Aeroporto',
'Ribeirão Preto', 'SP', (select idCliente from cliente) );
insert into cliente values
(2, 'Carlos Nascimento', 'carlosnas@gmail.com');
insert into telefone values
(2, 21, 998127341, 2);
insert into enderecos values
(2, '16021-280', 'Rua Campo Azul', 90, 'Em frente ao bar', 'Vila Madalena',
'Rio de Janeiro', 'RJ', 2);
insert into cliente values
(3, 'Jaqueline', 'jaque123@gmail.com');
insert into telefone values
(3, 16, 988765421, (selectmax(idCliente) from cliente));
insert into enderecos values
(3, '14078-230', 'Rua Monte Alto', 190, 'Esquina', 'Jardim Aeroporto',
'Ribeirão Preto', 'SP', (selectmax(idCliente) from cliente));
SELECTcliente.nome_cliente, cliente.email_cliente, telefone.ddd, telefone.numero, enderecos.nome_cidade, enderecos.sigla_estado, enderecos.cep, enderecos.endereco, enderecos.numero, enderecos.complemento, enderecos.bairroFROM
cliente INNER JOIN telefone ONcliente.idCliente=telefone.fkCliente
INNER JOIN enderecos ONcliente.idCliente=enderecos.fkCliente;
SELECTcliente.nome_cliente, cliente.email_cliente, telefone.ddd, telefone.numero, enderecos.nome_cidade, enderecos.sigla_estado,
enderecos.cep, enderecos.endereco, enderecos.numero, enderecos.complemento, enderecos.bairro
FROM cliente left JOIN telefone ONcliente.idCliente=telefone.fkCliente
left JOIN enderecos ONcliente.idCliente=enderecos.fkCliente
where nome_cliente like'%Emers%';
drop procedure insertClient;
select*from cliente where nome_cliente like'%Emerson%';
select*from telefone;
select*from cliente;
select*from enderecos;
selectmax(idCliente) from cliente;
delimiter &&
create procedure insertClient(in nome varchar(80), in email varchar(100), in ddd int, in telefone int,
in cep varchar(10), in endereco varchar(80), in numCasa int, in compl varchar(50),
in bairro varchar(80), in cidade varchar(60), in estado varchar(2) )
begin
insert into cliente(nome_cliente, email_cliente) values(nome, email);
insert into telefone(ddd, numero, fkCliente) values(ddd, telefone, (selectmax(idCliente) from cliente) );
insert into enderecos(cep, endereco, numero, complemento, bairro, nome_cidade, sigla_estado, fkCliente)
values(cep, endereco, numCasa, compl, bairro, cidade, estado, (selectmax(idCliente) from cliente) );
end &&
delimiter ;
call insertClient('Lucas', 'lucas@outlook.com', 16, 988312453, '14078160', 'Rua Miranda', 710,
'', 'Vila Carvalho', 'Ribeirão Preto', 'SP');
delimiter &&
create procedure updateClient(in nomeAnt varchar(80), in nome varchar(80), in email varchar(100), in ddd int, in telefone int,
in cep varchar(10), in endereco varchar(80), in numCasa int, in compl varchar(50),
in bairro varchar(80), in cidade varchar(60), in estado varchar(2) )
begin
update cliente set nome_cliente=nome, email_cliente=email
where idCliente = (select idCliente from
(select idCliente from cliente where nome_cliente like concat('%',nomeAnt,'%')) as s);
update telefone settelefone.ddd=ddd, numero=telefone
where fkCliente=(select idCliente from cliente where nome_cliente like concat('%', nomeAnt, '%') );
update enderecos setenderecos.cep=cep, enderecos.endereco=endereco, numero=numCasa, complemento=compl,
enderecos.bairro=bairro, nome_cidade=cidade, sigla_estado=estado
where fkCliente=(select idCliente from cliente where nome_cliente like concat('%', nomeAnt, '%') );
end &&
delimiter ;
call updateClient('Lucas', 'Marcos', 'lucas@outlook.com', 16, 988312453, '14078160', 'Rua Miranda', 710,
'', 'Vila Carvalho', 'Ribeirão Preto', 'SP');