7
 Primeiros Comandos MySQL Select Now(); Mostrará a data e hora atual; Show Databases; Mostra os bases criadas. SELECT VERSION( ); Mostra a versão instalada do MySql. Current_date; Mostra a data corrente. CREATE DATABASE; Cria uma Base (subdiretório sobre o diretório principal “MYSQL”) dentro do banco de dados MySQL. DROP DATABASE; Deleta a base selecionada e todos os seus registros e tabelas. Cuidado com esse comando. USE DATABASE_NAME :  Ex. Use pet; Comando que seleciona uma Base para ser usada. SHOW TABLES; Mostra todas as tabelas existentes na base selecionada. CREATE TABLE; Ex.: CREATE TABLE PET (nome VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); ex2. :  mysql> CREATE TABLE CLIENTE( -> id_cli INT NOT NULL AUTO_INCREMENT, -> nome_cli VARCHAR(100) NOT NULL, -> tel_cli VARCHAR(14) NOT NULL, -> dtnasc_cli DATE, -> PRIMARY KEY ( tutorial_id ) -> ); Comando de criação de uma tabela. A criação da tabela acompanha a discriminação dos qual tipo de dado trabalhar valor monetário mysqlcampos tipos características;  Informações úteis:  NOT NULL: Não permitirá a inserção de um registro com o campo associado em  branco  AUTO_INCREMENT : Recurso do banco de dados que gera uma auto-numeração no campo associado.

Primeiros Comandos MySQL

Embed Size (px)

Citation preview

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 1/7

 

Primeiros Comandos MySQL

Select Now();

Mostrará a data e hora atual;

Show Databases;

Mostra os bases criadas.

SELECT VERSION( );

Mostra a versão instalada do MySql.

Current_date;

Mostra a data corrente.

CREATE DATABASE;Cria uma Base (subdiretório sobre o diretório principal “MYSQL”) dentro do banco de

dados MySQL.

DROP DATABASE;

Deleta a base selecionada e todos os seus registros e tabelas. Cuidado com esse

comando.

USE DATABASE_NAME:

 Ex. Use pet;

Comando que seleciona uma Base para ser usada.

SHOW TABLES;

Mostra todas as tabelas existentes na base selecionada.

CREATE TABLE;Ex.:

CREATE TABLE PET (nome VARCHAR(20), owner VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

ex2. :

 mysql> CREATE TABLE CLIENTE(-> id_cli INT NOT NULL AUTO_INCREMENT,

-> nome_cli VARCHAR(100) NOT NULL,-> tel_cli VARCHAR(14) NOT NULL,-> dtnasc_cli DATE,-> PRIMARY KEY ( tutorial_id )-> );

Comando de criação de uma tabela. A criação da tabela acompanha a discriminação dos

qual tipo de dado trabalhar valor monetário mysqlcampos tipos características;

  Informações úteis:

 NOT NULL: Não permitirá a inserção de um registro com o campo associado em

 branco

 AUTO_INCREMENT : Recurso do banco de dados que gera uma auto-numeração nocampo associado.

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 2/7

 

 PRIMARY KEY : Define o campo associado como sendo o campo-chave da tabela.

DESCRIBE TABLE;

Mostra uma descrição completa da tabela escolhida;

DROP TABLE;Exclui a tabela selecionada e todos seus registros; Cuidado com esse comando.

ALTER TABLE;

mysql> ALTER TABLE Product

-> ADD UNIQUE (ID, ModelID);

mysql> ALTER TABLE Books

-> DROP PRIMARY KEY,

-> DROP COLUMN Format;

mysql> ALTER TABLE news MODIFY article TEXT NOT NULL;

mysql> ALTER TABLE TEAMS

  -> ADD TYPE CHAR(1);

mysql> ALTER TABLE TEAMS

  -> DROP TYPE;

INSERT INTO

Insere um registro. A ordem dos campos deve ser mantida nos valores.

INSERT INTO pet (nome, owner, species, sex, birth, death)->  VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

 Exercício

Inserir 3 registros nas seguintes tabelas: PET e SERVICOS

LOAD DATA LOCAL INFLIE ~ 

Insere n registros a partir de uma lista de dados.

EX:LOAD DATA INFILE 'data.txt' INTO TABLE nome_tabela;

Disposição do arquivo texto:1,"a string",100.20

2,"a string containing a , comma",102.20

3,"a string containing a " quote",102.20

4,"a string containing a ", quote and comma",102.20

 Exercício

Inserir os seguintes arquivos designados, nas tabelas: PET e SERVICOS

SELECT FROM WHERE

Faz a recuperação dos dados de uma ou n tabelas.

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 3/7

 

SELECT o_que_mostrarFROM de_qual_tabela  WHERE condições_para_satisfazer;

Ex.: select * from pet 

 BUSCAR UM REGISTRO ESPECÍFICO:Especificar no where um valor a ser procurado.

Ex.: select * from pet WHERE ID = 1

 BUSCA POR NOME:Quando o valor for alfanumérico – varchar, char, etc... -, este deve ser colocado entre

aspas

Ex2: SELECT * FROM pet WHERE species = "snake”;

 BUSCAR UM REGISTRO POR CAMPO DATA:

Inverter a data para o formato abaixoSELECT * FROM pet WHERE birth >= "1998-1-1";

OR e AND

Quando estamos especificando, através da cláusura WHERE, um ou alguns registros

seletos, podemos discriminar mais que um valor do mesmo campo ou de campos

diferentes:

SELECT * FROM pet WHERE species = "snake"OR species = "bird";

SELECT * FROM pet WHERE species = "dog" AND sex = "f";

OR: Designa a interjeição OU. Queremos gatos ou rãmsters. (dar mais exemplos).

AND: Acrescenta mais especificações (E). Queremos gatos e fêmeas.(dar mais

exemplos).

Exemplo mais complexo:

Queremos apenas os gatos (E) machos OU cachorros (E) Fêmeas:SELECT * FROM pet WHERE (species = "cat" AND sex = "m")

OR (species = "dog" AND sex = "f");

SELECT

Retorna o índice do dia das semana para data (0 = Segunda, 1 = Terça, ...6= Domingo): ex.:SELECT WEEKDAY('1997-11-05');

Retorna o dia do mês para data, na faixa de 1 até 31:

ex.:SELECT DAYOFMONTH('1998-02-03');

Retorna o dia do ano para data, na faixa de 1 até 366:

ex.: SELECT DAYOFYEAR('1998-02-03');

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 4/7

 

Retorna o mês para data, na faixa de 1 até 12:

ex.: SELECT MONTH('1998-02-03');

Extrai o ano da dataex.: SELECT EXTRACT(YEAR FROM "1999-07-02");

 Exemplosmysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');

-> 'Saturday October 1997'

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');

-> '22:23:00'

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00','%D %y %a %d %m %b %j');

-> '4th 97 Sat 04 10 Oct 277'

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00','%H %k %I %r %T %S %w');

-> '22 22 10 10:23:00 PM 22:23:00 00 6'

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 5/7

 

mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');

-> '1998 52'

INNER JOIN 

Quando precisamos selecionar os dados de duas tabelas distintas, usamos o recursoJOIN.

Existem três tipo: INNER JOIN, LEFT JOIN E RIGHT JOIN;

 No INNER JOIN é feito uma junção completa das tabelas, sendo necessário apenas

indicar os campo Chave Primária → Chave Extrangeira.

ex.:

Tabelas

 Notem que a tabela CLIENTE possui, no local do estado, a chave extrangeira

“ID_ESTADO”. Ou seja, se fizrmos um select da tabela cliente aparecerá no campo

id_estado um número e não o nome ou a sigla, que se encontram em outra

tabela(estado).

Quando fazemos um inner join entre as duas tabelas, usamos o campo ID_ESTADO da

tabela CLIENTE para “juntar” com o campo ID_ESTADO da tabela ESTADO.

Fica assim:

SELECT * FROM cliente c INNER JOIN estado e ON c.ID_ESTADO =

e.ID_ESTADO;

Estrutura do comando select:

SELECT - Seleciona as colunas da consulta

FROM - Seleciona a(s) tabela(s)

WHERE - Permite criar condições para filtrar os dados retornados na consulta

GROUP BY Agrupa dados na consulta.

HAVING Limita o resulta em uma condição estabelecida.

ORDER BY Especifica a coluna ou as colunas que serão ordenadas na consulta

ESTADO

id_estado

estado

uf 

CLIENTE

id_estado

Id_cli(PK)

Nome_cli

tel_clidtnasc_climunicipio

cep

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 6/7

 

Exemplo de concatenação em SQL Server ou Access

CONCATENADO:

SELECT concat(nome_cli, ' mora em ', municipio) FROM cliente;

SELECT nome_cli, CONCAT(municipio, ‘-’ ,uf) as “Endereço”

FROM cliente c INNER JOIN estado e on c.id_estado = e.id_estado;

Selecionando valores distintos

Para eliminar linhas duplicadas, usamos a palavra-chave DISTINCT na cláusula

SELECT.

SELECT distinct cidade

FROM empregados

Trazer uma lista de serviços já contratados na tabela OSXSERV;

select distinct(id_estado) from cliente;

 No exemplo acima, usamos a palavra-chave distinct na coluna cidade, mas é possível

relacionar mais de uma coluna, por exemplo, cidade e estado. Neste caso a combinação

das duas colunas deve ser distinta.

Limitando o nº de linhas em uma consulta

Limitar o número de linhas é usado quando não queremos listar todas as linhas de uma

tabela, seja pelo volume de linhas ou por não haver necessidade. O Mysql trata esta

questão de forma diferente do SQL Server e do Access.

Em SQL Server e Access use o Top para indicar o limite de linhas desejado na consulta.

SELECT top 7 *

FROM empregados

Em Mysql use o Limit para indicar o limite de linhas desejado na consulta.

SELECT *

FROM empregados LIMIT 0,7

O resultado será o mesmo, porém a leitura pode ser um pouco diferente, já que o top vai

 pegar as sete primeiras linhas e o limit vai pegar a partir de 0 até 7.

Order by: ordenação da tabela

select * from cliente order by nome_cli desc

Count: Contador de registros (de acordo com o campo)

select count(id_cli) from cliente;

5/11/2018 Primeiros Comandos MySQL - slidepdf.com

http://slidepdf.com/reader/full/primeiros-comandos-mysql 7/7

 

Group By

SELECT Tipo, COUNT (NumAp)FROM APARELHOS GROUP BY Tiposelect * from cadastro GROUP BY cidade;

Select count(id_cli), nome_cli from cliente group by id_estado;

Select count(id_cli), id_estado from cliente group by id_estado;

Select count(id_cli), uf 

from cliente

inner join estado e on c.id_estado=e.id_estado

group by id_estado;

Mostrar, através da sigla do estado, a quantidade de clientes registrados para cada

estado.

select 2 + 2;

select 2 * 2;

select 2 - 5;

select 10 / 2;

Mostrar quanto é 7% de 35;

Efetuar a operação para trazer o valor final dos serviços da tabela osxserv.