?>
1-mysql Básico
Exercícios
?>

2-Iniciando o trabalho no Mysql

Nos exemplos que se seguem (tanto nas páginas quanto nas videoaulas) vamos usar o mysql (server e cliente) a partir do Ubuntu, seja no terminal, seja via o programa phpyadmin. Mais adiante no curso vamos acessar os bancos via aplicativos via web (PHP e/ou Java).

Comandos Básicos do Mysql - Usando o Terminal (Shell)

Para acompanhar não só esse capítulo, mas todo o curso, você deverá ter o programa mysql.

Nesse capítulo inicial apresentaremos como iniciar o mysql. Serão tambẃm apresentados alguns comandos básicos da linguagem SQL, sendo executados com o mysql.

Em cada capítulo procure fazer todos os exemplos. Entenda o que cada comando/instrução faz, veja as explicações dos exemplos e comentários, faça os exercícios de fixação apresentados. Veja as videoaulas sobre cada conteúdo

  • Para os exemplos dessa seção, consideramos que você já possui o Mysql instalado (seja via Lampp, apt-get ou tar-gz).

  • Como dito, estamos usando o Ubuntu. O Ubuntu já possui, por default, o mysql instalado. Mas caso você precise instalar, veja a videoaula específica sobre instalação e configuração do mysql.
  • Uma outra opção é usar o mysql do servidor do coltec, conforme explicado no início do curso.

Alguns comandos do terminal Linux

Antes de entrarmos no ambiente do mysql é importante sabermos alguns comandos que trazem informação sobre nosso ambiente de trabalho.

  • mysql -V: verifica a versão do mysql-server

  • apt-cache show mysql-client: mostra detalhes da versão do mysql-client

  • whereis mysql: mostra o diretório onde está o mysql

  • whereis mysqld: mostra o diretório onde está o mysqld

  • sudo apt-get install mysql-server: instala o mysql-server

  • mysql -u root -p: entra no programa mysql como root

  • mysql -u seu-usuario -p: entra no programa mysql com "seu usuário"

  • mysql --help: obtém o help do mysql

  • mysql -h localhost -u root -p: entra como root e em um host específico

  • service mysql status ou service mysql start ou service mysql stop : verifica o status do processo, inicia e para o processo "mysql"


Iniciando o Mysql

Para entrar no mysql com um usuário usamos o comando mysql -u usuario e se tivermos o acesso com senha, usamos o comando mysql -u usuario -p, sendo "usuario" o username do usuário que vai fazer login.

Por exemplo, para entrar com meu login eu uso:
mysql -u fantini -p
tela3

Repare que agora o prompt mudou para mysql, indicando que "estamos dentro" do programa. Ao "entrarmos no programa" estamos executando um programa (denominado monitor mysql ou simplesmente mysql) que acessa o servidor mysql.

Estamos portanto rodando um progama cliente (a partir do monitor) para acessar nosso servidor Mysql.

Vamos explorar os comandos básicos, usando o mysql a partir de seu terminal.

Dentro do Ambiente do Mysql

Primeiramente vamos verificar quais banco de dados já existem em nosos sistema. Para isso usamos o comando SHOW.

Veja na figura abaixo os banco de dados que eu possuo no meu sistema. Para vê-los eu executei o comando:

show databases;
tela9

Dependendo da máquina que você usa e dos privilégios do seu usuário, vc. poderá ver mais ou menos banco de dados (em relação aos existentes no seu sistema).

Repare que se eu logar no sistema com outro usuário, o que vejo na lista de banco de dados é bem diferente. Veja na figura abaixo e entenda o que ocorreu em relação à figura anterior.

tela10
Nos dois casos acima, tivemos um login com dois usuários. O primeiro tinha acesso a todos os bancos. O segundo só acessava os bancos information_schema e test.

Dentro do ambiente mysql

Estando dentro do programa mysql, você sempre terá o propmpt da linha de comando. Para trabalhar nesse ambiente você precisa conhecer os comandos/instruções da linguagem SQL e os comandos específicos do mysql.

O que podemos fazer dentro do mysql

  • Ver os bancos de dados existentes que seu usuário tem acesso

  • Dependendo dos privilégios de seu usuário, poderá criar e excluir bancos de dados, tabelas, inserir/remover dados.

  • Verificar estrutura do banco de dados e suas tabelas

  • Consultas a banco de dados

Acessando um BD

Dada a lista de Banco de Dados, podemos definir que desejamos trabalhar com um deles, ou seja se desejarmos acessar um determinado banco de dados, devemos definir qual.

Para acessar um banco de dados usamos o comando USE.

Veja a figura abaixo.

tela11

Nessa figura acessamos os BD test.Repare que o comando use não precisa de ponto-e-vírgula.

Visualizando as Tabelas do BD

Para vermos quais as tabelas existem no Banco de Dados test, usamos o comando show tables;. Veja a figura abaixo.

tela12

Nessa figura são mostradas as tabelas existentes no BD test.

Saindo do Mysql

Se desejar sair do programa monitor, use o comando quit ou exit.

tela3

Comentário

Podemos definir qual banco de dados queremos trabalhar assim que chamamos o programa monitor. Pra isso basta chamar o mysql informando o BD que desejamos usar. Veja o comando que poderia ser usado para isso:

$>mysql -h localhost -u marcio -p CDs

veja a figura abaixo e entenda os comandos nela apresentados.

tela13

Exercício 0

Faça as três etapas básicas, pedidas a seguir:
  1. Entre no seu ambiente do mysql e verifique quais bancos de dados você possui acesso

  2. Defina um banco de dados como sendo o "banco de dados de trabalho" e verifique quais as tabelas dele.

  3. Veja a estrutura de uma das tabelas.

Dicas

  • para ver as tabelas use show tables.

  • para ver a estrutura de uma tabela use describe NOME-DA-TABELA.

Solução

Veja na videoaula a solução das tarefas básicas desse exercício, clicando aqui.

No próximo capítulo veremos algumas consultas básicas do mysql.


(Avançado- Opcional) Privilégios e Acesso de Usuários

Caso você entre na primeira vez no mysql sem especificar o usuário o programa considera que seu usuário é o que está logado no sistema. Assim, pode ser que na primeira vez que você tentar entrar pode ser que o acesso seja negado. Isso porque não há usuário registrado no mysql. Nesse caso, você terá que criar um usuário e definir seus privilégios. Para isso você terá que acessar c

Para entrar no mysql com um usuário usamos o comando

omo root. Obviamente, se foi você que instalou, você terá essa permissão.

Então, para criar um usuário, você deve entrar no mysql usando privilégios de root. Como o sistema foi instalado por você, o root ainda não teve sua senha alterada. Então entre no mysql usando o comando:

$> mysql --user=root mysql
Se o root já tiver senha:
$> mysql --user=root mysql -p
ou
$> mysql -u root mysql

Caso o root já tenha senha, acrescente o -p e informe a senha:

$> mysql -u root -p mysql
Nos casos acima, o login foi feito para acesso ao banco de dados mysql. Caso deseje fazer o acesso sem especificar o banco de dados, basta omitir seu nome na linha de comando.

Observação

Se precisar recuperar a senha do root, use:
mysqladmin -u root password 'nova_senha'
mysqladmin flush-privileges

Uma vez acessado o sistema como root, você poderá criar um usuário com o comando:

create user 'nome'@'host' identified by 'senha';

Agora você pode definir os direitos desse usuário:

GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'nome'@'host';
ou, definir TODOS os privilégios:
GRANT ALL ON *.* TO 'name'@'host';

É possível criar o usuário e já definir seus priviliégios. Veja o comando abaixo:

GRANT ALL ON *.* TO 'user2'@'localhost' IDENTIFIED BY 'senha1';

Observação

É possível também adicionar o usuário diretamente na tabela de usuários do mysql. Veja o comando abaixo:
INSERT INTO user (Host,User,Password)
	   VALUES('localhost','user3',PASSWORD('pass3'));
Ou ainda, definir privilégios:
INSERT INTO user (Host,User,Password,Select_priv,Insert_priv)
	VALUES('localhost','user4',PASSWORD('pass3'),'Y','Y');