MySQL - Comando CREATE TABLE 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: