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;