Jump to content
Sign in to follow this  
Senos

Queries SQL (Aula 6)

Recommended Posts

Script Intermediário! - 6

Lista de Aulas:

Aula 1: http://herc.ws/board/topic/199-script-intermedi%C3%A1rio-aula-1/

 
Bom galera, depois de aprendermos loops, arrays, menus dinâmicos e suas teorias, setd e getd, attachrid e detachrid, partiremos então para o Banco de Dados e aprenderemos então a maniuplar as Queries SQL, que é de suma importância para quem gosta de seus scripts mais seguros e com suas respectivas tabelas.
 
Assunto da aula:
- Queries SQL
 
Como de costume, começarei mostrando a sintaxe do comando, e em cima dela, trabalharemos:
query_sql "sua query de MySQL", <variável> {,<variável>, ...};

 

Sua Query_SQL: Você colocará a query que você quer executar, você aprenderá neste tutorial como escrever sua query da maneira que quer.
Variável: Nem sempre é preciso específicar a variável, depende do comando que você utilizará. Você quando for atualizar (update) ou deletar (delete) algo de seu Banco de Dados ou sua respectiva tabela, você não precisará utilizar, agora caso for pegar alguma informação (select), você precisará sim da variável, lembrando que ser for texto ou palavars, precisará da var. string ($) caso contrário for números, não precisará.

 

Bom, então começaremos a explicar os comandos, comando SELECT:

SELECT <informacão> FROM <tabela> 

 

informacão: Como podemos perceber no Banco de Dados, uma tabela é formada por vários campos, neste campo, você indica o nome do campo que você deseja ler. Você pode específicar vários campos para serem lidos, exemplo:
SELECT <informacão>,<informação>,<informação> FROM <tabela>
 

Mas lembrando que teremos que específicar uma variável para cada campo no final da escrita da Querie, você pode substituir o nome dos campos por um (*), assim retornará todos os campos da tabela, sem precisar específicar um por um.
 

tabela: Nome da tabela dentro do Banco de Dados que você gostaria de pegar a informação. 

Agora vejamos um exemplo utilizando o comando SQL em uma sintaxe Querie: 

query_sql ("SELECT `user_id` FROM `login`",@nome_do_usuario$);

 

No caso essa variável @nome_do_usuario$ se tornará uma array, pois não será apenas 1 valor, e sim vários valores pois serão retornados todos os nomes de usuários de jogadores do seu servidor. No caso ficará assim:

@nome_do_usuario$[0]: Usuario 1@nome_do_usuario$[1]: Usuario 2// Ficará sempre assim, só mudando a index da array, [2], [3], [4], etc...


Aproveitarei com o comando SELECT, para explicar o comando WHERE, iremos pegar o nome de usuário de um jogador com o ID 1 no Banco de Dados, faremos assim no caso:

query_sql ("SELECT `user_id` FROM `login` WHERE `account_id`=1",@nome_do_usuario$);

 

Assim buscaremos uma conta específica e não todas as contas do jogo, simples, não?! ;)


Temos um conjunto de dois comandos chamados AND e OR, é utilizado junto com o WHERE, vejamos:
query_sql ("SELECT `user_id` FROM `login` WHERE `level`=99 AND `sex`='M'",@nome_do_usuario$);


Nesse caso só pegariamos o nome dos usuários dos jogadores que forem level 99 e (AND) do Sexo Masculino. Exemplo com o comando OR:

query_sql ("SELECT `user_id` FROM `login` WHERE `level`=99 OR `sex`='F'",@nome_do_usuario$);

 

Agora só pegariamos o nome dos usuários dos jogadores que forem level 99 ou (OR) do Sexo Feminino. Os dois comandos são super simples! 

 

Temos também o comando ASC (Ascendente) e DESC (Descendente), vejamos:
query_sql ("SELECT `user_id` FROM `login` ASC"); // Retornaria a lista de nomes de usuários do servidor em ordem alfabética de A para o Z.query_sql ("SELECT `user_id` FROM `login` DESC"); // Retornaria a lista de nomes de usuários do servidor em ordem alfabética de Z para o A.

 

Comando INSERT INTO: Este comando é para que você possa criar uma nova linha de dados dentro de uma tabela, criando uma nova informação na sua tabela desejada, vejamos:

INSERT INTO <tabela> (<campos>) VALUES (<valores>);

 

Vejamos um exemplo:

query_sql ("INSERT INTO `login` (`account_id`, `user_id`, `user_pass`, `sex`, `email`) VALUES ('2000000', 'test', '12345', 'M','[email protected]')");

 

Nesta caso, estamos criando uma conta com o account_id 2000000, o nome de usuário test, a senha 12345, sexo masculino, e e-mail [email protected].


Partiremos então pro comando UPDATE, sintaxe:

UPDATE `<tabela>` SET `<campo1>`='<valor1>',`<campo2>`='<valor2>';

 

Não é um comando complicado, com o exemplo passará de complexo para super simples, vejamos:
query_sql ("UPDATE `login` SET `level`=99 WHERE `user_id`='Wolf'");

 

Esta queria irá mudar o Nível de GM da conta Wolf para 99, preste atenção, pois caso você não específicasse com o comando WHERE, todas as contas do servidor poderiam ser mudadas para 99, causando um transtorno enorme.

 

Comando DELETE: Simplesmente faz oque diz, deleta uma informação da tabela, sintaxe:
DELETE FROM `<tabela>`
 
Se fizermos simplesmente DELETE FROM `login`, todas as informações da tabela login seriam deletadas, por isso iremos específicar, por exemplo:
query_sql ("DELETE FROM `login` WHERE `userid`='Wolf'");

 

Neste caso a conta Wolf será deletada da tabela login do Banco de Dados. Porém não é recomendável deletar a conta desta maneira, pois as informações de chars, itens, e pets ainda ficariam ocupando espaços no Banco de Dados, no caso você teria que deletar tudo manualmente, porém serviu de exemplo.
 
Comando DROP: Deleta a tabela inteira, sintaxe:
DROP TABLE `<tabela>`
 
Exemplo:
query_sql ("DROP TABLE `login`");

 

Destrói a tabela login, ninguém mais consegue logar no servidor, e poderá arrecadar muitos problemas. Existe DROP DATABASE também, no caso você deletará uma Database, se você fizer DROP DATABASE `ragnarok`, acabará com o Banco de Dados ragnarok ò_ó.
 
_____________________________________________________________
 
Fim do tutorial, posteriormente irei editar esse tópico e adicionar uns exemplos utilizando Querie, mas talvez, pois adicionei diversos exemplos no tutorial. Abraços!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.