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-serverapt-cache show mysql-client: mostra detalhes da versão do mysql-clientwhereis mysql: mostra o diretório onde está o mysqlwhereis mysqld: mostra o diretório onde está o mysqldsudo apt-get install mysql-server: instala o mysql-servermysql -u root -p: entra no programa mysql como rootmysql -u seu-usuario -p: entra no programa mysql com "seu usuário"mysql --help: obtém o help do mysqlmysql -h localhost -u root -p: entra como root e em um host específicoservice mysql statusouservice mysql startouservice 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.
mysql -u fantini -p
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;
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.
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.
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.
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.
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.
Exercício 0
Faça as três etapas básicas, pedidas a seguir:Entre no seu ambiente do mysql e verifique quais bancos de dados você possui acesso
Defina um banco de dados como sendo o "banco de dados de trabalho" e verifique quais as tabelas dele.
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 mysqlSe o root já tiver senha:
$> mysql --user=root mysql -pou
$> mysql -u root mysql
Caso o root já tenha senha, acrescente o -p e informe a senha:
$> mysql -u root -p mysqlNos 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');