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.