Criando, Lendo, Alterando e Deletando tabelas com MySQL

Aprenda neste artigo como fazer operações essenciais para utilização de tabelas utilizando o MySQL.

PDO com PHP: Aprenda a fazer um CRUD com MySQL

São as tabelas de Banco de Dados que armazenam todos os tipos de informações, como cadastro de usuários, produtos e outras infinitas informações. Saber utilizar tabelas é o requisito básico para qualquer DBA, mas se você está começando, aqui é o lugar certo para você, este artigo está focado em iniciantes, que não tem nenhum conhecimento sobre uso de tabelas.

Uma tabela é um conjunto de linhas e colunas que servem para guardar informações, que podem ser texto, números, data, hora e até arquivos, porém não é recomendável inserir arquivos em banco de dados.

Veja na ilustração a seguir uma tabela, que contém três colunas, que são: cod, nome e email. Cada linha da tabela, representa um cadastro, as informações não são inseridas em posições aleatórias, então cada linha corresponde a um usuário.

Neste exemplo de tabela você deve ter notado a coluna cod, alguns DBA chamam de id, mas não tem diferença, este cod é uma chave primaria que nunca deve se repetir, está chave primaria deve para cada registro inserir um valor maior que o ultimo, sempre em ordem crescente, no MySQL isto é muito fácil, basta na hora da criação da tabela informar que aquela coluna será uma chave primaria do tipo auto_increment. Em banco como Oracle, não temos este privilégio e temos que recorrer a sequence, que é uma operação que gera valores em sequência sem a necessidade de fazer um SELECT na tabela, verificar qual foi o último valor inserido.

Chave Primária: Chaves Primárias são valores únicos que identificam o registro de uma tabela, onde pode ter mais de uma chave primária. Para uma tabela de pessoa física, o CPF pode ser um Primary Key (chave primaria), já que não deve existir outros usuários com o mesmo CPF.

Não será explicado neste artigo, mas sistemas grandes devem conter relacionamentos de tabelas, como mostra a figura a seguir, que foi criada utilizando o Software MySQL Workbench.

Para se criar uma tabela podemos fazer de duas formas, pedir para criar ou verificar se a tabela não existe, se não existir é criado.

Importante: Instruções SQL podem ser escritas na minúscula e maiúscula, porém se algum nome de e coluna ou tabela estiver na maiúscula, na programação você terá que fazer as consultar chamando o nome na maiúscula, recomenda-se que utilize instruções na maiúscula e nomes de tabela e colunas na minúscula.

Código 01:

--Apenas criando a tabela.
CREATE TABLE usuario(

);

--Criando a tabela se ela não existir.
CREATE TABLE IF NOT EXISTS usuario(

);

As colunas de uma tabela devem ser Tipadas, ou seja, devemos informar qual tipo de informação será inserida naquela coluna, alguns dos principais campos estão listados abaixo.

Tipo Utilização
INT Armazena Inteiro
VARCHAR Armazena Textos
DATE Armazena valores no formato de data (yyy-mm-dd)
TIME Armazena valores no formato de hora (hh:mm:ss)
DATETIME Armazena valores no de data e hora
TEXT Armazena textos muito grandes.

Acesse a URL http://help.scibit.com/Mascon/masconMySQL_Field_Types.html, e confira os outros tipos de campos e maiores informações sobre eles.

Vamos criar uma tabela que armazene as seguintes informações: nome, email, cidade, data e hora. Para esta tabela temos mais uma coluna que é o cod e todos os dados não poderão ser nulos, para isto devemos usar a sintaxe NOT NULL.

Veja a baixo o algoritmo de nossa tabela.

Código 02:

CREATE TABLE IF NOT EXISTS usuario(
	cod INT (6) NOT NULL AUTO_INCREMENT,
	nome VARCHAR (50) NOT NULL,
	data DATE NOT NULL,
	hora TIME NOT NULL,
	PRIMARY KEY(cod)
);

Note que a frente de cada Tipagem, existe um valor numérico dentro de colchetes, estes valores informam a quantidade máxima de caracteres permito, isto serve para que o usuário não exceda o tamanho, em outras palavras é validação de caracteres aceitos.

CREATE TABLE IF NOT EXISTS usuário: Esta instrução cria a tabela usuário caso ela não exista.
AUTO_INCREMENT: Esta instrução define o campo como auto incrementado, cada vez que um valor for inserido na tabela, o valor de cod é incrementado automaticamente, mas deve ser do tipo INT que é representado por um Inteiro.
VHARCHAR(50): Informa que o campo terá valor do tipo texto e com uma limitação de 50 caracteres.
NOT NULL: Obriga que o campo receba um valor.
PRIMARY KEY(cod): Informa qual campo será chave primária.
 

Agora que já vimos como criar tabelas, vamos fazer uma consulta, para este exemplo, visamos que já tenha valores inseridos na tabela, basta utilizar a instrução SELECT, conforme mostra o código a seguir.

Código 03:

SELECT * FROM usuario

A instrução SELECT é muito grande, ela é utilizada para fazer consultas, podemos fazer verificações, ordenar valores, agrupamento, unir valores de outras tabelas e muitas outras instruções, mas isto fica em um outro artigo, o foco aqui é a manipulação de tabelas.

Como todo sistema, em determinadas ocasiões é necessário inserir uma nova coluna na tabela, isto geralmente ocorre antes do sistema ser efetivado, mas se acontecer com valores inseridos, é recomendável fazer um backup do banco, pois eventuais erros no servidor pode corromper a tabela e até mesmo perder todas as informações.

Para adicionar uma coluna na tabela, usamos, ALTER TABLE nome_da_tabela ADD nome_da_coluna TIPO.

Código 04:

ALTER TABLE usuario ADD email VARCHAR(50) NOT NULL

Para deletar uma coluna da tabela, usamos, ALTER TABLE nome_da_tabela DROP COLUMN nome_da_coluna.

Código 05:

ALTER TABLE usuario DROP COLUMN email;

Para finalizar, vamos deletar uma tabela, para isto basta utilizar a instrução DROP TABLE nome_da_tabela.

Código 06:

DROP TABLE usuario

Como você pode ter notado, não é nada difícil nem mesmo complicado trabalhar com tabelas, se você aprendeu o conteúdo apresentado e conseguir fazer suas tabelas facilmente, já está pronto para utilizar alguns Softwares para auxiliar, como o próprio PHPMyAdmin e MySQLWorkbench.

Dúvidas deixem nos comentários.