+----------------------------------------+ | Tutorial básico de mySQL (comandos) | | Autor: laffer | | Dedicado a: VoRtEx | | Notas: Este tutorial foi construido | | utilizando mySQL p/ windows | | não deve diferir grande coisa | | ou mesmo nada das versões disp. | | para os outros SO. | | não tem grandes especificações | | nem explicações, foi construido | | por mim e para mim. | | decidi publicá-lo pq é capaz de | | dar jeito a alguém. | +----------------------------------------+ + laffer@aeiou.pt - laffer.bubix.net + +----------------------------------------+ Se for o caso: ren mysqld-shareware.exe mysqld.exe #----------------------------------------------------- Iniciar o mySQL em background shell> mysqld #------------------------------------ Fazer o login no mySQL como root (poder maximo) shell> mysql -u root -proot_password #------------------------------------------------------- Adicionar um novo utilizador mysql> GRANT ALL PRIVILEGES ON *.* TO novo_utilizador@localhost -> IDENTIFIED BY 'password_do_utilizador' WITH GRANT OPTION; +------------------------------------ Exemplo -------------------------------------------+ | mysql> GRANT ALL PRIVILEGES ON *.* TO igrant@localhost | | -> IDENTIFIED BY 'igrant' WITH GRANT OPTION; | | Query OK, 0 rows affected (0.33 sec) | +----------------------------------------------------------------------------------------+ mysql> exit; #------------------------------ Fazer o login com o nome e password do utilizador criado shell> mysql -u NOVO_UTILIZADOR -pPASSWORD_DO_UTILIZADOR #----------------------------------------------- Criar base de dados chamada "teste" mysql> CREATE DATABASE teste; Query OK, 1 row affected (0.11 sec) #------------------------- Dizer ao mySQL que vamos utilizar essa base de dados ("teste") mysql> use teste; Database changed #------------------------------ Criar tabela "teste" na base de dados ("teste") com os seguintes "datatypes" mysql> CREATE TABLE teste ( -> nome VARCHAR(15), -> email VARCHAR(25), -> tel INT, -> ID INT NOT NULL AUTO_INCREMENT, -> PRIMARY KEY (ID)); Query OK, 0 rows affected (0.22 sec) #------------------------------------------- Mostrar tabelas na base de dados teste) mysql> show tables; +-----------------+ | Tables in teste | +-----------------+ | teste | +-----------------+ 1 row in set (0.05 sec) #--------------------------------------- Mostrar def. das colunas da tabela "TESTE" mysql> show columns from teste; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | nome | varchar(15) | YES | | NULL | | | email | varchar(25) | YES | | NULL | | | tel | int(11) | YES | | NULL | | | ID | int(11) | | PRI | 0 | auto_increment | +-------+-------------+------+-----+---------+----------------+ 4 rows in set (0.11 sec) #-------------------------------------------------- Inserir valores na tabela "TESTE" mysql> INSERT INTO teste VALUES -> ('laffer','have@fun.com',214600000,NULL); Query OK, 1 row affected (0.16 sec) mysql> INSERT INTO teste VALUES -> ('VoRtEx','twisted@vortex.org', -> 214600001,NULL); Query OK, 1 row affected (0.06 sec) #-------------------------------- Listar o todos registos\records da tabela ("teste") mysql> SELECT * FROM teste; +--------+--------------------+-----------+----+ | nome | email | tel | ID | +--------+--------------------+-----------+----+ | laffer | have@fun.com | 214600000 | 1 | | VoRtEx | twisted@vortex.org | 214600001 | 2 | +--------+--------------------+-----------+----+ 2 rows in set (0.00 sec) #----------------------------------- Listar todos os registos onde o ID tem o número 2 mysql> select * from teste where ID=2; +--------+--------------------+-----------+----+ | nome | email | tel | ID | +--------+--------------------+-----------+----+ | VoRtEx | twisted@vortex.org | 214600001 | 2 | +--------+--------------------+-----------+----+ 1 row in set (0.00 sec) #----------------------------- Listar todos os registos onde o ID tem o número 1 mysql> SELECT * FROM teste WHERE ID=2; +--------+--------------+-----------+----+ | nome | email | tel | ID | +--------+--------------+-----------+----+ | laffer | have@fun.com | 214600000 | 1 | +--------+--------------+-----------+----+ 1 row in set (0.06 sec) #-------------------------------------------------- Apagar um registo\record #------------------------------------ vamos inserir um registo\record "cobaia" mysql> INSERT INTO teste VALUES -> ('cobaia','cobaia@isdead.org', -> 214600002,NULL); Query OK, 1 row affected (0.00 sec) #---------------------- Verificar se ficou lá "espetada" a informação mysql> SELECT * FROM teste; +--------+--------------------+-----------+----+ | nome | email | tel | ID | +--------+--------------------+-----------+----+ | laffer | have@fun.com | 214600000 | 1 | | VoRtEx | twisted@vortex.org | 214600001 | 2 | | cobaia | cobaia@isdead.org | 214600002 | 3 | +--------+--------------------+-----------+----+ 3 rows in set (0.05 sec) #----------------------------- Agora vamos apagá-lo (o registo\record\row de nome "cobaia") mysql> DELETE FROM teste WHERE nome='cobaia'; Query OK, 1 row affected (0.16 sec) mysql> SELECT * FROM teste; +--------+--------------------+-----------+----+ | nome | email | tel | ID | +--------+--------------------+-----------+----+ | laffer | have@fun.com | 214600000 | 1 | | VoRtEx | twisted@vortex.org | 214600001 | 2 | +--------+--------------------+-----------+----+ 2 rows in set (0.00 sec) mysql> +---------------------------------------------------------------------------------------------+ | ( CRIAR O REGISTO "COBAIA" DE NOVO PARA PASSAR AO PASSO SEGUINTE ) | +---------------------------------------------------------------------------------------------+ #------------------------------------------- Actualizar o campo de um registo ( neste caso vamos mudar o id de numero 3 para id de numero 4 ) mysql> UPDATE teste SET id=4 WHERE id=3; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from teste; +--------+--------------------+-----------+----+ | nome | email | tel | ID | +--------+--------------------+-----------+----+ | laffer | have@fun.com | 214600000 | 1 | | VoRtEx | twisted@vortex.org | 214600001 | 2 | | cobaia | cobaia@isdead.org | 214600002 | 4 | +--------+--------------------+-----------+----+ 3 rows in set (0.00 sec) +----------------------------------------------------------------------------+ | Um Aparte | +----------------------------------------------------+ Apagar user fantasma -+ | alterar root password | +-----------------------+ | shell> mysql mysql | shell> DELETE FROM user WHERE Host='localhost' AND User=''; | shell> QUIT | +----------------------------------------------------------------------------+ shell> mysqladmin reload | shell> mysqladmin -u root password root_password | | +----------------------------------------------------------------------------+ - FIM - Nota2: Para saber como instalar mysql em windows consultar o doc do VoRtEx http://www.cidadela.org/php/biblioteca/docs/mysql-windows.txt