Aula 250309

16
SGDB - MySQL

description

Slides da aula sobre banco de dados

Transcript of Aula 250309

Page 1: Aula 250309

SGDB - MySQL

Page 2: Aula 250309

Conectando e Desconectando do Servidor● Para conectar:shell> mysql -h servidor -u usuario -p shell> mysql -u usuario -pshell> mysql● Se tudo correr bem, o prompt do mysql será

exibido na tela assim:mysql>

Page 3: Aula 250309

Conectando e Desconectando do Servidor● Para desconectar:mysqll> QUITSe tudo correr bem, o MySQL irá sair e exibir a seguinte mensagem na tela:Bye

Page 4: Aula 250309

Obtendo informações sobre banco de dados e tabelas● Informações sobre o(s) banco(s) de dado(s):mysql> SHOW DATABASES;● Informações sobre a(s) tabela(s):mysql> SHOW TABLES;● Informações sobre a estrutura da(s) tabela(s):mysql> DESCRIBE nome_da_tabela;

Page 5: Aula 250309

Criação e utilização de um Banco de Dados● Criando um banco de dados:mysql> CREATE DATABASE nome_do_bd;

● Selecionando um banco de dados:mysql> mysql> USE nome_do_bd;

Page 6: Aula 250309

Criando uma Tabela● Durante a criação de um tabela é importante

definir também sua estrutura, seus campos, chave primária, etc.

mysql> CREATE TABLE nome_da_tabela (campo1 tipo, campo2 tipo, campo3 tipo, campo4 tipo, campo5 tipo, campo6 tipo, etc);● Observação: o comando CREATE TABLE cria

inicialmente cria uma tabela vazia.

Page 7: Aula 250309

Criando uma Tabela● Durante a criação de um tabela pode-se definir

também se o campo será nulo ou não.mysql> CREATE TABLE nome_da_tabela (campo1 tipo not null, campo2 tipo not null);● Neste caso os campos acima não poderão ser

nulos (vazios).

Page 8: Aula 250309

Criando uma Tabela● Durante a criação de um tabela pode-se definir

qual campo será a chave primária.mysql> CREATE TABLE nome_da_tabela (campo1 tipo , campo2 tipo, campo3 tipo, PRIMARY KEY (campo1)) ;● Neste caso o campo1 foi escolhido como chave

primária.

Page 9: Aula 250309

Alterando uma Tabela● Após criar a tabela é possível alterar sua

estrutura, pode-se adicionar ou deletar campos, alterar o tipo ou ainda renomear campos ou a tabela.

mysql> ALTER TABLE nome_da_tabela;● Adicionando campos (colunas).mysql> ALTER TABLE nome_da_tabela ADD campo2 tipo AFTER campo1;

Page 10: Aula 250309

Alterando uma Tabela● Eliminando campos em uma tabela.mysql> ALTER TABLE nome_da_tabela DROP campo1;● Alterando campos em uma tabela.mysql> ALTER TABLE nome_da_tabela CHANGE campo1 campo1 tipo not null;mysql> ALTER TABLE nome_da_tabela CHANGE campo1 campo2 tipo not null;

Page 11: Aula 250309

Carregando dados em uma tabela● Para inserir dados em uma tabela:mysql> INSERT INTO nome_da_tabela VALUES ('dado1', 'dado2', 'dado3', 'dador4',etc);● Observação: É muito importante que os dados

sejam inseridos na ordem igual ao dos campos na tabela, respeitando-se também os tipos de dados.

Page 12: Aula 250309

Recuperando informações em uma tabela● Recuperar informações em uma tabela:mysql> SELECT * FROM nome_da_tabela;● Observação: Neste caso serão mostrados

todos o campos de uma tabela.mysql> SELECT * FROM nome_da_tabela WHERE condições_para_satisfazer;● Observação: Neste caso serão mostrados

todos o campos de uma tabela que satisfaça uma determinada condição.

Page 13: Aula 250309

Selecionando registros específicos● Para recuperar informações especificas em

uma tabela utiliza-se a clausula WHERE, por exemplo, queremos selecionar todos os registros que tenham pessoas chamadas MARIA:

mysql> SELECT * FROM pessoas WHERE nome=”MARIA”;

Page 14: Aula 250309

Selecionando registros específicos● Pode-se ainda criar filtros ainda mais

específicos usando operadores booleanos, por exemplo vamos selecionar os registros das pessoas que moram no estado de GO que se chamam MARIA:

mysql> SELECT * FROM pessoas WHERE nome=”MARIA” AND UF=”GO”;

Page 15: Aula 250309

Selecionando campos (colunas) específicos da tabela● No MySQL é possível também selecionar

apenas campos (colunas) específicos da tabela, vamos usar o exemplo anterior para mostrar este recurso:

mysql> SELECT nome, uf FROM pessoas WHERE nome=”MARIA” AND uf=”GO”;● Neste caso serão exibidos na tela apenas os

campos nome e uf da tabela pessoas.

Page 16: Aula 250309

Ordenando registros ● Quando recuperamos registros através do

comando SELECT, geralmente eles não são exibidos de forma ordenada. Para realizar esta ordenação é necessário utilizar a clausula Order by:

mysql> SELECT nome, uf FROM pessoas WHERE nome=”MARIA” AND uf=”GO” ORDER BY nome;● Neste caso a seleção foi ordenada pelo campo

nome.