Ir para conteúdo

Posts Recomendados

LuaSQL

 

Bom, antes de mais nada queria me desculpar com Won Helder pela demora no tutorial, mas antes tarde que nunca... Vamos ao tutorial.

 

Aviso: As querys que forem usadas como exemplos, bem como o tutorial são voltados à engine MySql, podendo não funcionar em sqlite.

 

Para começarmos a criar nossas próprias querys, devemos conhecer as instruções (nome dado às ações que serão executadas), para depois aplicarmos nas querys:

 

 

► ALTER: Este comando é utilizado quando queremos criar uma row (coluna) nova. Sua sintaxe é como mostrada abaixo:

 

ALTER [tipo] [nome da coluna] [instrução] [configurações]

 

Complicado demais? Então vamos à um exemplo prático:

 

ALTER TABLE `players` ADD `tutoriais` integer not null default 0

 

No caso acima, eu alterei a tabela “players”, adicionando a coluna “tutoriais” com as configurações “Somente números inteiros, não nulos, valor inicial 0”.

 

 

► SET: Comando usado para ajustar os valores de uma célula. Observe:

 

UPDATE `players` SET `level` = 8

 

No exemplo acima, eu alterei o level de todos os jogadores na database para 8. Caso quisesse somente 1 jogador, faria assim:

 

UPDATE `players` SET `level` = 8 WHERE `id` = 1

 

O comando acima altera o level do jogador número 1 da database para 8.

 

 

► SELECT: Comando utilizado para “escolher” algum valor da database. A instrução SELECT não muda os dados no banco de dados. Observe:

 

SELECT `name` FROM `players`WHERE `id` = 1

 

Neste exemplo, será mostrado o nome do jogador número 1 da database, sem fazer alterações.

 

 

► INSERT: Usado para inserir dados em uma célula. Observe:

 

INSERT INTO `accounts` (id, name, password) VALUES (2, “god”, “god”)

 

Como podemos perceber, o INSERT pode ser usado para inserir dados múltiplos à tabela. No exemplo acima, criei uma conta com id = 2, name = “god” e senha = “god”.

 

 

► UPDATE: Usado para atualizar a tabela e a coluna que queremos acessar:

 

UPDATE `players` SET `level` = 8

 

Percebam que quando uso o UPDATE, obrigatoriamente devo usar uma instrução secundária.

 

 

► DROP COLUMN: Usado para excluir colunas. Veja:

 

Primeiro vamos criar uma coluna para excluirmos:

 

ALTER TABLE `players` ADD `delete` varchar(255) not null default 0

 

Agora vamos deletar:

 

ALTER TABLE `players` DROP COLUMN `delete`

 

Sempre que for deletar uma coluna, um aviso será emitido, para que não haja engano na hora de deletar.

 

 

Observações importantes:

 

► As configurações da coluna podem ser várias, as mais usadas são:

 

integer not null default 0

 

varchar(255) not null default 0

 

A primeira é para colunas numéricas, com valor inicial zero. A segunda é para colunas que contenham textos ou palavras.

 

 

Aplicando nos scripts

 

Muitas vezes, precisamos fazer uso da database em alguns scripts. E várias são as funções de manipulação de database em LUA. Porém, usaremos somente uma delas:

 

db.executeQuery(query)

 

Bem simples. Observe um exemplo de uso em script de reset:

 

function onSay(cid, words)
local pid = getCreatureGUID(cid)
doRemoveCreature(cid, true)
db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = ".. getExperienceForLevel(8) .." WHERE `id` = ".. pid ..";")
return TRUE
end

 

Este script, apesar de ser bem simples, é muito utilizado e muito buscado. Sua função é mudar o level e a experiência do jogador.

 

 

 

Bom, é isso!

Tutorial feito por mim (apocarai)

 

 

flw

Link para o comentário
https://xtibia.com/forum/topic/138100-luasql/
Compartilhar em outros sites

Ótimo tutorial, apocarai! ;)

Eu nunca me aprofundei em LuaSQL, creio que com este tutorial, já terei uma noção grande de como usar essa ramificação da programação Lua nos meus scripts.

 

Parabéns! (+1 de Reputação!)

Link para o comentário
https://xtibia.com/forum/topic/138100-luasql/#findComment-912201
Compartilhar em outros sites

Aeee apocarai, pensei que tinha esquecido de mim :)

 

Muito obrigado por fazer esse belíssimo tutorial, vou ler ele todinho para ter noção dessa área que parece ser muito complicada, mas acho que não é.

 

REP+

 

Agora é só esperar um moderador responsável por essa área para aprovar.

 

Abraços!

Link para o comentário
https://xtibia.com/forum/topic/138100-luasql/#findComment-912203
Compartilhar em outros sites

Aha surgiu eu!

kkkkkkkkkk

 

Belíssimo tutorial heim cara!

As pessoas pensam que é um bixo de 7 cabeças, mas na verdade é simples pra caramba!

 

Tutorial aprovado e movido para a área correta!

Link para o comentário
https://xtibia.com/forum/topic/138100-luasql/#findComment-914983
Compartilhar em outros sites

×
×
  • Criar Novo...