Anda di halaman 1dari 7

Passo a Passo com MySQL

Esses so passos longos, pois, aqui uma viso mais pratica

Comeamos com o comando use, para definir a base de dados que ser afectada (Comeou com o p
errado, devia comear com o show databases para ver as bases de dados existentes, s depois vem
aquilo)
// Errado (a few), devemos comear com show databases;, para ver as BDs Existentes no Sistema
comece com use se j sabe o nome da BD em que vai trabalhar
Por defeito o MySQL traz algumas bases de dados, entre elas temos a test
Assim, entramos com o comando:
mysql> use test; // -nos informado que a Base de Dados foi alterada, o que significa que estamos
conectados a ela

Analogia entre caixa tabela para compreenso mnima de BD


Portanto, cada caixa uma tabela, contendo diversas fichas, que so os registos, e cada ficha possui
vrias informaes sobre o funcionrio, que so os campos.
Como foi dito, h vrias caixas, uma para cada departamento, a soma de todas as caixas forma a
base de dados.
Observando tudo isto de fora, podemos formar o seguinte esquema:
Base de dados < Tabela< Registro < Coluna (datatype)
Banco de dados < Tabela< Linha < Campo
Tabela
A tabela contm campos. Estes campos devem ser de um tipo predeterminado.
Char(M) M pode conter de 1 a 255 caracteres ex. cli_nome char (10);
Varchar(M) Idntico ao Char, mas este no aloca o espao definido como mximo imediatamente,
it means, ele tem um mximo, mas se colocarmos menos informao, ento s mesmo aquilo que ela
vai usar na memoria principal Este tipo metade mais lento que o seu irmo

INT(M) [Unsigned]
FLOAT[(M,D)]
DATE
TEXT/BLOB

SET
ENUM

Registos
Manipulando a base de dados
Uma base de dados pode ser manipulada com quatro operaes bsicas:

Incluirinsert
Apagar delete
Alterar update
Pesquisar select

COMANDO

ACO

mysql>show tables

Lista todas as tabelas existentes no banco de dados actual.

mysql>show columns from Nome_tabela;


OU
mysql>DESCRIBE Nome_tabela;
OU simplesmente
DESC Nome_tabela;

Mostrar colunas
Mostra as informaes referentes a estrutura, ou seja, as colunas
da tabela desejada

Consultar
mysql>SELECT * FROM teste;
mysql>SELECT * FROM teste
>WHERE (nome = "Ernesto");

Lista todos registos da tabela teste.


Lista todos os registos da tabela teste que contm "Ernesto" no
campo nome
Apagar

mysql>DELETE FROM teste


>WHERE (telefone = 2744747);

Apaga da tabela teste todos os registros que tm o contedo


"2744747" no campo telefone.

mysql>UPDATE teste SET


>nome = 'ErnestaoOBao'
>WHERE nome = 'Ernesto';

Alterar

Criar tabela (Exemplo):


mysql> CREATE TABLE teste(
>codigo INT,
>nome CHAR(15),
>email CHAR(25),
>telefone INT);
Inserindo registos

Procura na tabela um registro que contenha no campo nome o


contedo 'Ernesto',definido pelo comandoWHERE. Encontrado
o registro, ele substituido pelo nome definido no comando
SET, que 'ErnestaoOBao'.

Para se adicionar dados a uma tabela, usamos o comando INSERT, que diz por si s sua funo, como oexemplo
que segue:
mysql>INSERT INTO teste VALUES
>(NULL, 'Ernesto', 'ernesto@nbsnet.com.br',
>2742729);


Mais notas (from a diferente resource):
Para se conectar atravs de um Servidor:
shell>mysqlhhostuuserp
Enterpassword:********

Entrando e perguntando
OMySQLnocasesensitive.Pormhcomandosespecficosquenoquerem
saberdisso\w\W==>verajudamysql>help
Nesteponto,maisimportantedescobrircomoemitirperguntasdoque
criartabelas,carregarerecuperardados
SELECTcomandoparafazerperguntas
Aquiumcomandosimplesqueperguntaaoservidoronmerodesuaversoe
adatacorrente.
mysql>SELECTVERSION(),CURRENT_DATE;
*Quandovocemiteumcomando,MySQLenviaaoservidorparaexecuoe
exibeosresultados,entoexibemysql>,paraindicarqueestprontopara
outrocomando.
*MySQLexibeasadadaperguntacomoumatabela(filasecolunas).A
primeirafilacontmrtulosscolunas.Asdemaisfilassoosresultados
dapergunta.

PodemosusaroMySQLcomoumacalculadorasimples
mysql>SELECTSIN(PI()/4),(4+1)*5;
mysql>SELECT(5*5+2);
permitidofazerdeclaraesouperguntasmultiplicas,separandoasapenas
com;,osinalquedeterminaofinaldeumcomandoouinstruorealar
tambm que toda uma instruo no precisa ser,
necessariamente/obrigatoriamente,escritanamesmalinhapois,ocomandos
terminacomsemicolon(;)
mysql>SELECTVERSION();SELECTNOW();
omesmoque:
mysql>SELECT
>VERSION()
>;SELECTNOW();
Paracancelarcomando(s)quequeest(o)noprocessodeentradabasta:
\c
Prompt
mysql>
>
'>

Significado
Prontoparaumnovocomando
Esperandoparaprximalinhadelinhamltipladecomando
Esperandoparaprximalinha,coleccionandoumfioquecomea
comumacitaonica(')

">

Esperandoparaprximalinha,colecionandoumfioquecomeacom
umacitaoduplicada(")

ExemplosdePerguntasComuns:

Criandoatabelashop(compra)
CREATETABLEshop(
articleINT(4)UNSIGNEDZEROFILLDEFAULT'0000' NOTNULL,
dealerCHAR(20)
DEFAULT''
NOTNULL,
priceDOUBLE(16,2)
DEFAULT'0.00' NOTNULL,
PRIMARYKEY(article,dealer));
Inserindodadosnatabelashop
INSERTINTOshopVALUES
(1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69),
(3,'D',1.25),(4,'D',19.95);
Visualizandoatabelashop
SELECT*FROMshop;

Eis as Perguntas(Com base na tabela Shop):


Qual o artigo que tem o preo mais alto?"
SELECT MAX(article) AS article FROM shop
A fila da coluna com o nmero mximo
"Encontre o nmero do negociantes, e avalie quem tem o artigo mais caro."
No ANSI SQL isto facilmente feito com um subquery:
SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop)
Funcionou mesmo:
mysql> select*from shop where price = (select max(price) from shop);
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0004 | D
| 19.95 |
+---------+--------+-------+
Para o mnimo s substituir o maxi pelo min...
Outra soluo est em classificar todas filas decrescentes por preo e
unicamente obter
uma fila usando o MySQL clusula de LIMIT:
SELECT article, dealer, price
FROM shop
ORDER BY price DESC
LIMIT 1
Note: Se h vrios artigos caros, a soluo de LIMIT mostra unicamente um
deles.

DESC descendente
ASC ascendente
As filas com grupos de campos de valor mximo
"Para cada artigo, encontre o(s) negociante(s) com o preo mais caro."
mysql> SELECT*FROM shop s1
-> WHERE price=(SELECT MAX(s2.price)
-> FROM shop s2
-> WHERE s1.article = s2.article);
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0001 | B | 3.99 |
| 0002 | A | 10.99 |
| 0003 | C | 1.69 |
| 0004 | D
| 19.95 |
+---------+--------+-------+

Criando uma base de dados completa


Sintaxe do select
SELECT what_to_select
FROM which_table
WHERE conditions_to_satisfy

Anda mungkin juga menyukai