No MySQL, você pode criar tabelas por meio da GUI ou executando o código SQL. Aqui está um resumo de ambos os métodos.
Agora que criamos nosso banco de dados, vamos criar algumas tabelas.
Criando tabelas por meio da GUI
Uma maneira de criar uma tabela é através da GUI do MySQL Workbench. Esta é uma opção fácil para aqueles que preferem interfaces gráficas de usuário.
Mesmo se você começar usando a GUI, recomendo que você se familiarize com a criação de tabelas programaticamente usando o
CREATE TABLE
demonstração. O CREATE TABLE
Declaração
O
CREATE TABLE
A instrução faz exatamente como o nome sugere — ela cria uma tabela. No entanto, você precisa fornecer informações sobre a tabela que deseja que o MySQL crie. Por exemplo, o nome da tabela, os nomes das colunas e seus tipos de dados, valores padrão, restrições etc.
Aqui está o exemplo que usamos na página anterior:
CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Isso cria uma tabela chamada
Fruit
que contém duas colunas:FruitName
e DateEntered
. O
FruitName
coluna usa um tipo de dados de VARCHAR(20)
, o que significa que aceita dados que são um VARCHAR
(string de comprimento variável) até 20 caracteres. O
DateEntered
coluna usa um tipo de dados de DATETIME
o que significa que a coluna aceita o formato DATETIME (uma data e hora) no seguinte formato YYYY-MM-DD HH:MM:SS
. Você pode especificar que uma coluna deve sempre conter um valor (que não deve ser "nulo"). Para fazer isso, inclua
NOT NULL
nas especificações dessa coluna (exemplo abaixo). Se você tentar inserir dados que não estejam no formato especificado para essa coluna, receberá um erro.
Criar várias tabelas
Para criar várias tabelas, basta adicionar um
CREATE TABLE
instrução para cada tabela que você precisa criar. CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Exemplo
Anteriormente, criamos um banco de dados vazio chamado "FruitShop". Mas não criamos nenhuma tabela na época. Vamos atualizar o script para que ele crie um banco de dados e duas tabelas. Vamos adicionar mais algumas coisas ao código.
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Units ( UnitId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, UnitName VARCHAR(10) NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (UnitId) )ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE Fruit ( FruitId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, FruitName VARCHAR(45) NOT NULL, Inventory SMALLINT UNSIGNED NOT NULL, UnitId TINYINT UNSIGNED NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (FruitId), CONSTRAINT fkFruitUnits FOREIGN KEY (UnitId) REFERENCES Units (UnitId) ON DELETE RESTRICT ON UPDATE CASCADE )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Execute o script acima e atualize a coluna esquerda do MySQL Workbench. Você deve ver sua FruitShop recém-criada banco de dados listado em ESQUEMAS aba.
Expanda as Tabelas node e você verá as tabelas que acabou de criar:
Você também pode expandir cada tabela para ver suas colunas e quaisquer outros objetos que você criou para essa tabela.
Exibir informações da tabela programaticamente
Você também pode exibir as informações da tabela programaticamente. Ou seja, inserindo um comando SQL para exibir as informações que você precisa.
No exemplo a seguir, definimos o banco de dados padrão como
FruitShop
usando USE FruitShop
. Em seguida, pedimos ao MySQL para exibir todas as tabelas do banco de dados padrão (usando SHOW TABLES
):USE FruitShop; SHOW TABLES;
Você também pode descobrir a estrutura de uma determinada tabela usando o seguinte comando (basta substituir o nome da tabela pela tabela da qual você precisa da estrutura):
DESCRIBE Fruit;
Aqui está o resultado desse comando em nosso banco de dados: