Xandy 46 Posted May 15, 2014 Boa tarde, Visto que muita gente usa bases de dados neste fórum, decidi criar um pequeno tutorial para os iniciantes em MySQL. Este tutorial consiste em explicar o funcionamento das seguintes Querys: - Insert Into - Delete - Update Antes de mais, gostaria de esclarecer uma dúvida que alguns possam ter. O funcionamento de uma base de dados em MySQL é diferente de uma base de dados em SQL Server, Oracle e MS Access. Apesar de ser possível trabalhar com todas elas, alguns conceitos mudam. Sendo que, pelo que eu tenha visto, a maior parte dos membros desta comunidade usa base de dados em MySQL, portanto não irei abordar os outros tipos. Caso houver pedidos, poderei realizar outros tutoriais para as outras bases de dados. 1º Criação de uma Tabela Antes de passar às querys referidas anteriormente, é necessário uma ou várias tabelas. Para este tutorial, irei usar uma tabela chamada "Utilizadores". Para criar a nossa tabela, iremos recorrer ao seguinte script: CREATE TABLE nome_da_tabela (atributo1 tipo_dados(tamanho),atributo2 tipo_dados(tamanho),atributo3 tipo_dados(tamanho), ); Legenda: nome_da_tabela = O nome que será atribuido à tabela. atributo1, atributo2, atributo3 = Os atributos são os nomes dos "Títulos" de cada coluna da tabela. tipo_dados = Define o tipo de dados de cada atributo. Os mais comuns são: Int (Inteiros) para números e Varchar para arrays de caracteres. Como exemplo, irei usar a seguinte tabela: CREATE TABLE Utilizadores (id int NOT NULL AUTO_INCREMENT,utilizador varchar(255) NOT NULL,email varchar(255) NOT NULL, PRIMARY KEY (ID) ); Nota: Acrescentei NOT NULL nos atributos que NÃO podem estar vazios. Neste caso, vou considerar que tanto o utilizador como o email são obrigatórios. O AUTO_INCREMENT irá incrementar automaticamente o valor do id (que começa em 0) em cada novo registo na tabela (através da query chamada INSERT). 2º INSERT INTO Esta query permite ao utilizador inserir novos dados na tabela. Isto é, suponhamos que um novo utilizador faça o seu registo com os seguintes dados: Utilizador: user001 Email: [email protected] Na tabela serão introduzidos esses valores na primeira linha com id = 0. Um segundo utilizador efectuou um novo registo com os seguintes dados exemplo: Utilizador: user002 Email: [email protected] Na tabela serão introduzidos esses valores na segunda linha com id = 2. Sempre que um utilizador efectuar um registo, o mesmo acontecerá com um incremento de 1 no atributo id (id += 1). Para efectuar esse registo manualmente, sem linguagem PHP (por exemplo) por trás), é necessário recorrer à seguinte Query: INSERT INTO utilizadores VALUES ('user001','[email protected]'); O que o INSERT INTO faz é inserir os valores dentro dos ( ) na tabela. Cada campo é separado por uma vírgula, ou seja, 'user001' corresponde ao valor introduzido no atributo "utilizador" e '[email protected]' no atributo email. Caso o valor introduzido seja uma string (varchar), é necessário escrever os dados dentro de ' '. Caso seja um inteiro, não são colocados os ' '. Exemplo com inteiros: INSERT INTO utilizadores (1, '[email protected]'); NOTA: Este exemplo não funcionará porque o atributo "utilizador" espera um array de caracteres e não um inteiro. O exemplo serve apenas para mostrar como actuar caso seja necessário introduzir inteiros. 3º DELETE A query DELETE serve para apagar uma linha da tabela, ou seja, todos os valores correspondentes ao valor apagado serão apagados. Encontramos essa query em exemplos reais como "Remover Utilizador", que todos os administradores de fóruns e/ou websites conhecem. DELETE FROM utilizadores WHERE utilizador='user001'; Neste caso, estou a pedir para apagar a linha da tabela "utilizadores" onde o utilizador é "user001". NOTA: O uso dos ' ' é igual à query INSERT INTO. 4º UPDATE A query UPDATE serve para actualizar uma linha da tabela, ou seja, todos os valores escolhidos para serem actualizados numa determinada linha serão alterados. Encontramos essa query no "Editar Perfil", por exemplo. UPDATE utilizadores SET utilizador='utilizador001' WHERE email='[email protected]'; Neste caso, estamos a pedir para alterar o utilizador "user001" para "utilizador001" onde o email é "[email protected]" NOTA: O uso dos ' ' é igual à query INSERT INTO. Chegamos ao fim deste tutorial para iniciantes em MySQL, espero ter conseguido explicar algo de novo aos membros interessados desta comunidade! Caso haja alguma dúvida, podem deixar um comentário como resposta a este post! :) Cumprimentos, IronMan 1 SINVAL o.O reacted to this Share this post Link to post Share on other sites
Valenza 855 Posted May 20, 2014 no caso preciso atualizar o valor da coluna toda da tabela player>item_proto , a coluna chamada REFINED_VNUM , ficaria assim? UPDATE INTO item_proto VALUES refine_vnum="0" me da erro com esse nome Share this post Link to post Share on other sites
Xandy 46 Posted May 20, 2014 Tal como te respondi na shoutbox, a query que usaste tem um erro de SQL Syntax, isto é, não é escrita de forma correcta. Para fazer um UPDATE tu tens de usar a seguinte syntax: UPDATE item_protoSET refined_vnum = 0; 1 Valenza reacted to this Share this post Link to post Share on other sites
Valenza 855 Posted May 20, 2014 OMG, funcionou !!! obrigado Share this post Link to post Share on other sites
Xandy 46 Posted May 20, 2014 Fico contente em saber que o tópico se tornou útil para ti :) 1 Valenza reacted to this Share this post Link to post Share on other sites
SINVAL o.O 728 Posted May 20, 2014 +1 OFF : Iro tens conhecimento em programação C++ MySQL queria está a aprender a programar usando C++ e o MySQL . Share this post Link to post Share on other sites
Xandy 46 Posted May 20, 2014 Sim, sei trabalhar com ADO.NET, C++ e MySQL/Oracle Share this post Link to post Share on other sites
SINVAL o.O 728 Posted May 20, 2014 Faz uns tut sobre isso ^^ Share this post Link to post Share on other sites
Xandy 46 Posted May 20, 2014 Manda-me PM com o que queres saber para ter uma uma vaga ideia por onde começar :) Share this post Link to post Share on other sites