· 9 years ago · Nov 10, 2016, 06:10 PM
1create database if not exists gamerpg;
2use gamerpg;
3
4create table aventura(
5 id_aventura char(5),
6 nome varchar (20),
7 descr varchar (100),
8 primary key (id_aventura)
9);
10create table jogador(
11 id_jogador char(5),
12 nome varchar(50),
13 email varchar(50),
14 genero char(1),
15 idade date,
16 apelido varchar(50),
17 primary key (id_jogador)
18);
19create table personagem(
20 id_jogador char(5),
21 data_criacao datetime,
22 nome varchar(50),
23 mana int,
24 hp int,
25 primary key (data_criacao, id_jogador),
26 foreign key (id_jogador) references jogador (id_jogador)
27);
28create table mapa(
29 id_mapa char(5),
30 nome varchar (30),
31 descr_mapa varchar(100),
32 dificuldade char(1),
33 primary key (id_mapa)
34);
35create table itens(
36 id_itens char(5),
37 nome varchar(100),
38 descr_item varchar(100),
39 primary key (id_itens)
40);
41create table npc(
42 id_npc char(5),
43 nome varchar(30),
44 raca varchar(20),
45 aliado bool,
46 hp int,
47 primary key (id_npc)
48);
49create table inimigo(
50 id_inimigo char(5),
51 nome varchar(50),
52 hp int,
53 raca varchar(20),
54 dificuldade char(1),
55 id_chefe char(5),
56 primary key (id_inimigo),
57 foreign key (id_chefe) references inimigo (id_chefe)
58);
59create table personagem_itens(
60 id_jogador char(5),
61 data_personagem datetime,
62 id_item char(5),
63 qtd int,
64 primary key (id_jogador, data_personagem, id_item),
65 foreign key (id_jogador) references personagem (id_jogador),
66 foreign key (data_personagem) references personagem (data_criacao),
67 foreign key (id_item) references itens (id_itens)
68);
69create table aventura_jogador(
70 id_aventura char(5),
71 id_jogador char(5),
72 data_aventura datetime,
73 primary key (data_aventura, id_aventura, id_jogador),
74 foreign key (id_aventura) references aventura (id_aventura),
75 foreign key (id_jogador) references jogador (id_jogador)
76);
77create table humano(
78 data_personagem datetime,
79 id_jogador char(5),
80 idioma varchar(20),
81 carisma int,
82 furtividade int,
83 primary key (data_personagem, id_jogador),
84 foreign key(data_personagem) references personagem (data_criacao),
85 foreign key(id_jogador) references personagem (id_jogador)
86);
87create table elfo(
88 data_personagem datetime,
89 id_jogador char(5),
90 visao int,
91 salto int,
92 conhecimento int,
93 primary key (data_personagem, id_jogador),
94 foreign key(data_personagem) references personagem (data_criacao),
95 foreign key(id_jogador) references personagem (id_jogador)
96);
97create table anao(
98 data_personagem datetime,
99 id_jogador char(5),
100 montaria varchar(20),
101 honra int,
102 escavacao int,
103 primary key (data_personagem, id_jogador),
104 foreign key(data_personagem) references personagem (data_criacao),
105 foreign key(id_jogador) references personagem (id_jogador)
106);
107create table mapa_npc(
108 id_mapa char(5),
109 id_npc char(5),
110 primary key (id_mapa, id_npc),
111 foreign key (id_mapa) references mapa (id_mapa),
112 foreign key (id_npc) references npc (id_npc)
113);
114create table mapa_inimigo(
115 id_inimigo char(5),
116 id_mapa char(5),
117 primary key (id_mapa, id_inimigo),
118 foreign key (id_inimigo) references inimigo (id_inimigo),
119 foreign key (id_mapa) references mapa (id_mapa)
120);
121
122 insert into aventura values('1', 'castelo negro', 'uma aventura no castelo negro');
123 insert into aventura values('2', 'caverna magica', 'uma aventura na caverna magica');
124 insert into aventura values('3', 'poco profundo', 'uma aventura no poco profundo');
125 insert into aventura values('4', 'capital deserta', 'uma aventura na capital deserta');
126
127 insert into jogador values('1', 'leandro', 'leandroxb1@hotmail.com', 'm', '1997-01-18', 'pethabyte');
128 insert into jogador values('2', 'adonay', 'adonay@hotmail.com', 'm', '1995-11-28', 'legalzao');
129 insert into jogador values('3', 'joao pedro', 'jpedro@hotmail.com', 'm', '1997-01-31', 'jooj');
130 insert into jogador values('4', 'joao das couves', 'jcouves@hotmail.com', 'm', '1996-02-02', 'jonescasto');
131 insert into jogador values('5', 'natalia', 'natalia@hotmail.com', 'f', '1996-12-12', 'gatocornio');
132
133 insert into personagem values('1', '2016-12-01 17:32', 'dedo rubro', '30', '50');
134 insert into personagem values('2', '2016-11-03 15:11', 'george', '15', '100');
135 insert into personagem values('3', '2016-05-05 11:14', 'made in roca', '50', '50');
136 insert into personagem values('4', '2015-01-01 09:01', 'castle', '27', '70');
137 insert into personagem values('5', '2015-02-03 17:32', 'konan', '40', '110');
138
139 insert into mapa values('1', 'castle', 'um mapa de castelo', 'f');
140 insert into mapa values('2', 'dungeon', 'um mapa de dungeon', 'd');
141 insert into mapa values('3', 'deep', 'um mapa de profundezas', 'd');
142 insert into mapa values('4', 'capital', 'um mapa de cidade', 'm');
143
144 insert into itens values('1', 'HP potion', 'pocao de HP');
145 insert into itens values('2', 'MANA potion', 'pocao de mana');
146 insert into itens values('3', 'faca de arremesso', 'faca de arremesso afiada');
147
148 insert into npc values('1', 'Greihat', 'anao', '1', '20');
149 insert into npc values('2', 'Patches', 'humano', '0', '40');
150 insert into npc values('3', 'Ludleth', 'elfo', '1', '50');
151
152 insert into inimigo values('1', 'Wolnir', '120', 'necro', 'd', '0');
153 insert into inimigo values('2', 'Pimpo', '70', 'ogre', 'm', '1');
154 insert into inimigo values('3', 'Kivlar', '50', 'gargoile', 'f', '1');
155 insert into inimigo values('4', 'Oceiros', '200', 'dragon', 'd', '0');
156 insert into inimigo values('5', 'Ninf', '110', 'reptile', 'd', '4');
157 insert into inimigo values('6', 'Huger', '80', 'giant', 'm', '4');
158 insert into inimigo values('7', 'Protus', '150', 'demigod', 'd', '4');
159
160insert into personagem_itens values('1', '2016-12-01 17:32', '1', '5');
161insert into personagem_itens values('1', '2016-12-01 17:32', '2', '5');
162insert into personagem_itens values('3', '2016-05-05 11:14', '1', '2');
163insert into personagem_itens values('3', '2016-05-05 11:14', '2', '3');
164insert into personagem_itens values('3', '2016-05-05 11:14', '3', '10');
165
166insert into aventura_jogador values('3', '1', '2017-01-01');
167insert into aventura_jogador values('3', '3', '2017-01-01');
168insert into aventura_jogador values('4', '2', '2018-02-01');
169insert into aventura_jogador values('1', '4', '2018-01-02');
170
171insert into mapa_npc values('1', '3');
172insert into mapa_npc values('1', '1');
173insert into mapa_npc values('2', '1');
174insert into mapa_npc values('2', '2');
175insert into mapa_npc values('2', '3');
176insert into mapa_npc values('3', '3');
177insert into mapa_npc values('4', '2');
178
179insert into mapa_inimigo values('1', '1');
180insert into mapa_inimigo values('1', '2');
181insert into mapa_inimigo values('1', '3');
182insert into mapa_inimigo values('2', '1');
183insert into mapa_inimigo values('2', '2');
184insert into mapa_inimigo values('3', '1');
185insert into mapa_inimigo values('4', '4');
186insert into mapa_inimigo values('5', '4');
187insert into mapa_inimigo values('6', '4');
188insert into mapa_inimigo values('7', '4');
189insert into mapa_inimigo values('2', '4');
190insert into mapa_inimigo values('2', '3');
191
192insert into humano values('2016-12-01 17:32', '1', 'portugues', '50', '50');
193insert into humano values('2016-11-03 15:11', '2', 'ingles', '20', '80');
194
195insert into anao values('2016-05-05 11:14', '3', 'lobo', '30', '50');
196insert into anao values('2015-01-01 09:01', '4', 'rinoceronte', '40', '90');
197
198insert into elfo values('2015-02-03 17:32', '5', '30', '20', '85');
199
200select AVG(YEAR(from_days(to_days(NOW())-to_days(idade)))) as media_idade from jogador; /*media das idades dos jogadores*/
201
202select m.nome, i.nome from mapa_inimigo as mp inner join inimigo as i on i.id_inimigo = mp.id_inimigo
203inner join mapa as m on m.id_mapa = mp.id_mapa; /* seleciono quais inimigos estão em qual mapa*/
204
205select nome from inimigo where id_chefe = 0; /*seleciono quais inimigos são chefes*/
206
207select j.nome, a.nome from aventura_jogador as aj inner join jogador as j on j.id_jogador = aj.id_jogador
208inner join aventura as a on a.id_aventura = aj.id_aventura; /*seleciono quais jogadores estao em quais aventuras*/
209
210select j.nome, p.nome from humano as h inner join personagem as p on h.data_personagem = p.data_criacao and h.id_jogador = p.id_jogador
211inner join jogador as j on j.id_jogador = p.id_jogador; /*seleciono quais personagens sao humanos*/
212
213select j.nome, p.nome from elfo as e inner join personagem as p on e.data_personagem = p.data_criacao and e.id_jogador = p.id_jogador
214inner join jogador as j on j.id_jogador = p.id_jogador; /*seleciono quais personagens sao elfos*/
215
216select j.nome, p.nome from anao as a inner join personagem as p on a.data_personagem = p.data_criacao and a.id_jogador = p.id_jogador
217inner join jogador as j on j.id_jogador = p.id_jogador; /*seleciono quais personagens sao anões*/
218
219select n.nome, m.nome from mapa_npc as mn inner join npc as n on n.id_npc = mn.id_npc
220inner join mapa as m on m.id_mapa = mn.id_mapa; /*mostra quais npc estão em qual mapa*/
221
222create table teste(
223 id_tabela int,
224 nome varchar(100),
225 primary key (id_tabela)
226);
227
228alter table teste rename test;
229
230insert into test values ('1', 'testes');
231insert into test values ('2', 'joao das couves');
232
233update test set nome = 'test' where id_tabela = 1;
234
235select * from test;
236
237delete from test where id_tabela = 1;
238
239drop table test;
240
241SHOW ENGINE INNODB STATUS;