Link para

Propaganda
Comandos SQL
Exercícios com o MySQL ou MaridaDB
Prof. Emiliano S. Monteiro
Criando um banco de dados
• mysql> CREATE DATABASE unemat;
É importante colocar o
ponto de vírgula no final de
cada linha de comando !!
Query OK significa que o
comando foi executado com
sucesso!
Listando quantos bancos existe no servidor
• mysql> show databases;
Usando um banco de dados (marcando como ativo)
• mysql> USE unemat;
Mostrando tabelas no banco ativo
• mysql> SHOW TABLES;
Note que no não é mostrado
nada, pois até o momento não
criamos nenhuma tabela!!
Listar os processos que estão rodando no servidor
• mysql>SHOW PROCESSLIST;
Quem pode acessar o que no banco ativo
• mysql>SHOW GRANTS;
Mostra o conjunto de caracteres suportado
pelo banco
• mysql>SHOW COLLATION;
• mysql>SHOW COLLATION WHERE charset = ‘utf8’
Criando um tabela
mysql> CREATE TABLE pet (
apelido VARCHAR(20),
dono VARCHAR(20),
especie VARCHAR(20),
sexo CHAR(1),
nascimento DATE,
morte DATE
);
Listando tabelas do banco de dados
• mysql>SHOW TABLES;
Tipos de dados do MySQL
• Tipos de dados numéricos no MySQL
•
•
•
•
•
•
•
•
•
TINYINT — número inteiro muito pequeno (tiny);
SMALLINT — número inteiro pequeno;
MEDIUMINT — número inteiro de tamanho médio;
INT — número inteiro de tamanho comum;
BIGINT — número inteiro de tamanho grande;
DECIMAL — número decimal, de ponto fixo;
FLOAT — número de ponto flutuante de precisão simples (32 bits);
DOUBLE — número de ponto flutuante de precisão dupla (64 bits);
BIT — um campo de um bit.
Tipos de dados do MySQL
• Tipos de dados em strings
•
•
•
•
•
•
•
•
•
•
•
•
•
CHAR — uma cadeia de caracteres (string), de tamanho fixo e não-binária;
VARCHAR — uma string de tamanho variável e não-binária;
BINARY — uma string binária de tamanho fixo;
VARBINARY — uma string binária de tamanho variável;
BLOB — um BLOB (Binary Large OBject – OBjeto Grande Binário) pequeno;
TINYBLOB — um BLOB muito pequeno;
MEDIUMBLOB — um BLOB de tamanho médio;
LONGBLOB — um BLOB grande;
TINYTEXT — uma string não-binária e de tamanho bem reduzido;
TEXT — uma string não-binária e pequena;
MEDIUMTEXT — uma string de tamanho comum e não-binária;
LONGTEXT — uma string não-binária de tamanho grande;
ENUM — de acordo com o manual do MySQL, é uma string, com um valor que precisa ser selecionado de uma lista
predefinida na criação da tabela;
•
SET — é um objeto que pode ter zero ou mais valores – cada um dos quais precisa ser escolhido de uma lista de valores
predeterminados quando da criação da tabela.
Tipos de dados do MySQL
• Tipos de dados data e hora
•
DATE — o valor referente a uma data no formato 'CCYY-MM-DD'. Por exemplo 198511-25 (ano-mês-dia). O 'CC' se refere aos dois dígitos do século (Century, em inglês);
• TIME — um valor horário no formato 'hh:mm:ss' (hora:minutos:segundos);
• TIMESTAMP — timestamp é uma sequência de caracteres ou informação codificada
que identifica uma marca temporal ou um dado momento em que um evento ocorreu.
No MySQL, ele tem o formato 'CCYY-MM-DD hh:mm:ss' – neste caso, seguem a
padronização ISO 8601;
• YEAR — armazena um ano no formato 'CCYY' ou 'YY';
Tipos de dados do MySQL
• Tipos de dados especiais
•
•
•
•
•
•
•
•
GEOMETRY
POINT
LINESTRING
POLYGON
GEOMETRYCOLLECTION
MULTILINESTRING
MULTIPOINT
MULTIPOLYGON
Inserindo dados na tabela pet
• mysql>INSERT INTO pet (apelido, dono,
especie, sexo, nascimento) VALUES
('REX','ANA','CAO','M','2010-10-26');
Repare que uma coluna não foi utilizada!
Inserindo mais dados na tabela
• INSERT INTO pet (apelido, dono, especie, sexo, nascimento) VALUES
('SNOOPY','BOB','CAO','M','2014-11-22');
• INSERT INTO pet (apelido, dono, especie, sexo, nascimento) VALUES
('GARFIELD','CLARA','GATO','M','2013-12-27');
Mostrando os dados da tabela
• mysql>SELECT * FROM pet;
Selecionando dados da tabela
•
•
•
•
mysql>SELECT apelido, dono FROM pet;
mysql>SELECT apelido, sexo, nascimento FROM pet WHERE dono=‘ANA’;
mysql>SELECT apelido, nascimento FROM pet WHERE nascimento => “2013-09-25”;
mysql>SELECT * FROM pet WHERE dono=“BOB” and sexo=“F”;
Alterar um dado na tabela
• mysql>UPDATE pet SET especie='LAGARTO', morte='2016-01-27'
WHERE apelido='REX';
Verificando a modificação anterior
• mysql>SELECT * FROM pet;
Deletando um registro
• mysql>DELETE FROM pet WHERE apelido='REX';
Deletando registro, tabelas e banco
• mysql>DELETE FROM pet;
• mysql>DROP TABLE pet;
• Mysql>DROP DATABASE unemat;
Download