MySQL – Criação de Tabelas – CREATE TABLE – 07

Declaração CREATE TABLE – criando tabelas no MySQL

Para criar tabelas em um banco de dados, usamos a declaração CREATE TABLE. Veja a sintaxe abaixo:

CREATE TABLE [IF NOT EXISTS] nome_tabela (
       coluna tipo_dados constraints
       coluna tipo_dados constraints
       coluna tipo_dados constraints
       ...
);

Note que precisamos especificar, além do nome da tabela, os nomes das colunas que a comporão e também seus respectivos tipos de dados, além das eventuais constraints.

Tipos de Dados no MySQL

A tabela abaixo resume os tipos de dados mais comuns no MySQL, que podem ser usados na criação de tabelas, para estabelecer o tipo de cada coluna:

Tipo Descrição
INT Inteiros entre -2,147,483,648 e 2,147,483,647
TINYINT Números inteiros de -128 a 127
SMALLINT Números inteiros de -32768 a 32767
MEDIUMINT Números inteiros de -8388608 a 8388607
BIGINT Números entre -9,223,372,036,854,775,808 e 9,223,372,036,854,775,807
DECIMAL(M,D) Ponto decimal com M dígitos no total (precisão) e D casas decimais (escala); o padrão é 10,0; M vai até 65 e D até 30.
FLOAT(M,D) Ponto flutuante com precisão M e escala D; o padrão é 10,2; D vai até 24.
CHAR(M) String que ocupa tamanho fixo entre 0 e 255 caracteres
BOOL / BOOLEAN Valores binários 0 / 1; Na verdade, é um alias para o tipo TINYINT(1)
VARCHAR(M) String de tamanho variável, com até 65535 M caracteres.
BLOB / MEDIUMBLOB/ TINYBLOB Campo com tamanho máximo de 65535 caracteres binários; ‘Binary Large Objects’, são usados para armazenar grandes quantidades de dados, como imagens.
MEDIUMTEXT Permite armazenar até 16.777.215 caracteres.
LONGTEXT Permite armazenar até 4.294.967.295 caracteres.
DATE Uma data de 01/01/1000 a 31/12/9999, no formato YYYY-MM-DD
DATETIME Uma combinação de data e hora de 01/01/1000 00:00:00 a 31/12/9999 23:59:59, no formato YYYY-MM-DD HH:MM:SS
TIME Hora apenas, no formato HH:MM:SS
YEAR(M) Ano nos formatos de 2 ou 4 dígitos; Se forem 2 (YEAR(2)), ano vai de 1970 a 2069; para 4 (YEAR(4)), vai de 1901 a 2155. O padrão é 4.

Vamos passar agora à criação de tabelas em nosso banco de dados db_biblioteca:

Criando tabelas no Banco de Dados

Primeiro vamos criar uma tabela para os livros, de nome tbl_livro. Usaremos o bloco de códigos a seguir:

USE db_Biblioteca;
CREATE TABLE IF NOT EXISTS tbl_livro (
ID_Livro SMALLINT  AUTO_INCREMENT PRIMARY KEY,
Nome_Livro VARCHAR(70) NOT NULL,
ISBN13 CHAR(13),
ISBN10 CHAR(10),
ID_Categoria SMALLINT,
ID_Autor SMALLINT NOT NULL,
Data_Pub DATE NOT NULL,
Preco_Livro DECIMAL(6,2) NOT NULL
);

Agora, vamos criar uma tabela para armazenar os dados dos autores:

CREATE TABLE tbl_autores (
ID_Autor SMALLINT PRIMARY KEY,
Nome_Autor VARCHAR(50) NOT NULL,
Sobrenome_Autor VARCHAR(60) NOT NULL
);

Uma para armazenar as categorias de livros:

CREATE TABLE tbl_categorias (
ID_Categoria SMALLINT PRIMARY KEY,
Categoria VARCHAR(30) NOT NULL
);

E, por fim, criamos uma tabela para armazenar os dados das editoras:

CREATE TABLE tbl_editoras (
ID_Editora SMALLINT PRIMARY KEY AUTO_INCREMENT,
Nome_Editora VARCHAR(50) NOT NULL
);

As tabelas criadas ainda não estão relacionadas entre si. Mostraremos como realizar essa operação nas próximas lições.

Assista agora ao vídeo sobre criação de tabelas usando SQL:

Próximo: Auto Incremento de valores em colunas

Anterior: Constraints (Restrições), Primary Key (Chave Primária), Chave Estrangeira, Default, etc.

Página inicial do Curso

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

9 Comentários em MySQL – Criação de Tabelas – CREATE TABLE – 07

  1. Uhelliton Andrade // 10/06/2015 em 15:00 // Responder

    Cada aula, um novo aprendizado. Parabéns!!!

  2. Jocimar Fernandes // 09/10/2015 em 11:55 // Responder

    Muito bom o seu material, está de parabéns!

  3. Alexandre Dias // 28/12/2015 em 19:14 // Responder

    Fábio, pf não pare com esse trabalho incrível! Ajuda muita gente! Parabéns!!

  4. Fábio eu usei o conteudo para adicionar os livros porem ele da erro dizendo que não tem o campo editora na tabela livro, pensei que pelo código iria direto para a tabela editora, me ajude

  5. Diego Silva // 21/05/2022 em 11:35 // Responder

    Bom dia, Fábio!

    Tenho sempre acompanhado seus vídeos para finalidades diversas e sempre galgando êxito e atualmente me dedico no estudo para concursos públicos.
    Na última prova que fiz me deparei com uma questão “devastadora” :-(.
    Poderia me ajudar a compreendê-la??

    Questão 02 da discursiva (pag. 15)
    https://conhecimento.fgv.br/sites/default/files/concursos/analista_em_informaticampgons003_tipo_1.pdf

Escreva um comentário

Seu e-mail não será divulgado


*