Iniciando com MySQL parte 1

Aula 06 - Instalando MySQL Workbench
Após a instalação do Workbench podemos criar uma conexão com um servidor externo utilizando uma conexão TCP/IP over SSH. Com isso podemos fazer a conexão sem a necessidade de definir o IP ho host.
A primeira parte da configuração recebe os dados de conexão SSH e a segunda os dados de conexão ao MySQL local (da máquina remota).
Aula 07 a 08 - Criando databases / Criando tabela
Criamos um BD no MySQL com o comando CREATE DATABASE nome_bd:
CREATE DATABASE bookstore;
Não consegui fazer a criação do BD com esse comando no servidor VPS. Tive que fazer a criação pelo phpMyAdmin. Em seguida alterei as permissões do usuário 'jean' no hostgator e consegui fazer as ações.
Para consultar os Bancos de Dados criados utilizamos o comando:
SHOW DATABASES;
Em seguida selecionamos o BD para utilização com o comando USE:
USE bookstore
e criamos uma tabela:
CREATE TABLE BOOKS (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
price DECIMAL(10,2) NOT NULL,
PRIMARY KEY(id)
);
Executei esse comando através do terminal do mysql e funcionou corretamente.
Para ver as tabelas criadas utilizamos o comando:
SHOW TABLES;
Aula 09 a 10 - Adicionando registros / Recuperando registros
Para inserir dados em um BD utilizamos o seguinte comando:
INSERT INTO nome_da_tabela (coluna_1, coluna_2,...coluna_n) VALUES(valor_1, valor_2,...valor_n);
A declaração dos nomes das colunas só é necessário se não formos preencher todas as colunas da tabela.
Fizemos duas inserções no BD:
INSERT INTO books (title, author, price) VALUES("MySQL para iniciantes", "Jackson Lima", 12.99);
INSERT INTO books (title, author, price) VALUES("MySQL para iniciantes", "Jackson Lima", 12.99), ("MySQL para iniciantes edição 2", "Wesley Williams", 15.99);
Note que podemos inserir mais de uma linha (tupla) na tabela ao mesmo tempo, desde que respeitada a sequencia de valores.
Para visualizar os dados de um BD utilizamos o comando SELECT:
SELECT * FROM nome_tabela;
Podemos substituir o * por quaisquer colunas que desejamos no restorno.
Para filtrar os dados utilizamos o comando WHERE que permite definir quais condições devem ser obedecidas:
SELECT * FROM nome_tabela WHERE filtro=condição; O filtro pode pesquisar strings, booleanos e numeros inclusive com operadores de comparação e lógicos (<, >, =, AND, OR, etc);
Para fazer uma busca por valores incompletos utilizamos coringas (%) na expressão juntamente com o operador LIKE:
SELECT * FROM nome_tabela WHERE filtro LIKE "%condição%";
Aula 11 a 12 - Atualizando tabelas / Atualizando tabelas parte 2
Para editar as colunas de uma tabela podemos utilizar o comando ALTER TABLE.
Para adicionar colunas utilizamos ADD COLUMN ou apenas ADD, não esquecendo que ao declarar uma nova coluna devemos informar o tipo de dados. Podemos ainda definir a posição em que a coluna deve ser inserida na tabela com o comando AFTER ou BEFORE.
ALTER TABLE books ADD COLUMN year_publish DECIMAL(4,2) AFTER author;
Como declarei o tipo de DECIMAL errado fiz a alteração com o comando MODIFY:
ALTER TABLE books MODIFY year_publish DECIMAL(4,0);
Em seguida alteramos o tipo de dados da coluna title:
ALTER TABLE books MODIFY title VARCHAR(300);
Para verificar a estrutura do BD podemos utilizar o comando EXPLAIN. Seu retorno mostra as características de cada coluna da tabela.
EXPLAIN books;
Para remover uma coluna da tabela utilizamos o comando ALTER TABLE, DROP:
ALTER TABLE books DROP year_publish;
Podemos renomear uma tabela com o comando RENAME:
ALTER TABLE books RENAME livros;
Por fim fizemos mais uma modificação, agora no campo id:
ALTER TABLE livros MODIFY id SMALLINT(4) UNSIGNED NOT NULL AUTO_INCREMENT;
Note que se modificamos um campo devemos passar alguns parametros novamente para evitar que eles sejam excluidos (como é o caso do AUTO_INCREMENT e do UNSIGNED).
Aula 13 a 14 - Atualizando e excluindo registros / Excluindo tabelas e databases
Para alterar registros utilizamos o comando UPDATE na tabela desejada, passando os parametros a serem atualizados.
UPDATE livros SET title="Banco de dados para iniciante" author="Erik Figueiredo" WHERE id=2;
UPDATE livros SET price=20.99 WHERE author="Jackson Lima";
É importante utilizar o WHERE para definir quais campos devem ser alterados para evitar que se altere todo o BD. O MySQL Workbench tem uma proteção que impede que se utilize o UPDATE sem o WHERE.
Para remover um registro utilizamos o comando DELETE com os filtros necessários:
DELETE FROM livros title="Banco de dados para iniciante";
Podemos excluir tabelas e bancos de dados com o comando DROP:
DROP TABLE nome_da_tabela
ou:
DROP DATABASE nome_do_banco_de_dados