
Neste tutorial você aprenderá a criar novas tabelas em um banco de dados
MySQL utilizando o comando
CREATE TABLE.
Criando uma tabela
O comando CREATE é um dos mais complexos do MySQL, ele contém diversos parâmetros para especificar as configurações desejadas da tabela e suas colunas.
Um exemplo básico de comando CREATE é o seguinte:
CREATE TABLE [IF NOT EXISTS] nome_da_tabela (
colunas
) ENGINE=storage_engine
Esta sintaxe contém os seguintes parâmetros:
CREATE TABLE [IF NOT EXISTS]
- Indica para o MySQL que uma nova tabela será criada, caso o parametro IF NOT EXISTS seja passado, o MySQL verifica se já existe uma tabela com este nome, para assim realizar o resto do procedimento
nome_da_tabela
- O nome da tabela que será criada
colunas
- Após o nome da tabela, você deve passar a lista de colunas que a tabela deve ter, esta lista é passada entre parenteses. Mais detalhes da lista de colunas estão mais abaixo, neste artigo.
engine
- Neste parâmetro você indica qual o tipo de storage a tabela deverá usar. Por padrão, caso nenhuma engine seja explicitada o MySQL utilizara a engine InnoDB.
Colunas de uma tabela
Para definir uma coluna a ser criada em uma tabela você deve utilizar a sintaxe a seguir:
nome_da_coluna tipo[tamanho] [NOT NULL|NULL] [DEFAULT valor] [AUTO_INCREMENT]
Os parâmetros da sintaxe acima são os seguintes:
nome_da_coluna
- O nome da coluna a ser criada
tipo[tamanho]
- O tipo de coluna e seu tamanho, por exemplo varchar(150) é uma coluna de texto
NOT NULL / NULL
- Informa se o valor da coluna pode ser NULO ou não
DEFAULT valor
- Indica um valor default para a coluna, caso nenhum valor seja informado na hora de inserir uma nova linha
AUTO_INCREMENT
- Indica que o valor da coluna será incrementado automaticamente pelo MySQL ao se inserir uma nova linha. Cada tabela pode ter somente uma coluna AUTO_INCREMENT
Se você deseja inserir colunas como chaves primárias, você deve informa na lista de colunas na hora da criação, exemplo da sintaxe:
PRIMARY KEY (coluna1, coluna2, ...)
Para inserir colunas como chaves estrangeiras, você deve informar ao final:
FOREIGN KEY(coluna) REFERENCES tabela(coluna)
Exemplo de CREATE TABLE
Vamos então utilizar o que foi explicado neste tutorial para exemplificar a criação de uma tabela nova. Neste exemplo vamos criar uma tabela para armazenar contatos de clientes.
CREATE TABLE IF NOT EXISTS clientes (
id int(10) NOT NULL AUTO_INCREMENT,
id_cidade int(10) NOT NULL,
nome varchar(100) NOT NULL,
email varchar(100) NOT NULL,
nascimento date NOT NULL,
PRIMARY KEY (id)
FOREIGN KEY(id_cidade) REFERENCES cidade(id)
) ENGINE=InnoDB
Referências:
Comentários