Como criar banco de dados em MySQL (Criar MySQL Tabelas)

Etapas para criar banco de dados em MySQL

Crie banco de dados de duas maneiras

1) Executando uma consulta SQL simples

2) Usando engenharia avanรงada em MySQL Workbench

As SQL iniciante, vamos examinar primeiro o mรฉtodo de consulta.

Como criar banco de dados em MySQL

Veja como criar um banco de dados em MySQL:

CREATE DATABASE รฉ o comando SQL usado para criar um banco de dados em MySQL.

Imagine que vocรช precisa criar um banco de dados com o nome โ€œfilmesโ€. Vocรช pode criar um banco de dados em MySQL executando o seguinte comando SQL.

CREATE DATABASE movies;

Nota: vocรช tambรฉm pode usar o comando CREATE SCHEMA em vez de CREATE DATABASE

Agora vamos melhorar nossa consulta SQL adicionando mais parรขmetros e especificaรงรตes.

SE NรƒO EXISTE

Uma รบnica MySQL o servidor pode ter vรกrios bancos de dados. Se vocรช nรฃo รฉ o รบnico acessando o mesmo MySQL servidor ou se vocรช tiver que lidar com vรกrios bancos de dados, existe a probabilidade de tentar criar um novo banco de dados com o nome de um banco de dados existente. SE NรƒO EXISTE deixe vocรช instruir MySQL servidor para verificar a existรชncia de um banco de dados com nome semelhante antes de criar o banco de dados.

Ao SE NรƒO EXISTE O banco de dados usado serรก criado somente se o nome fornecido nรฃo entrar em conflito com o nome de um banco de dados existente. Sem o uso de SE NรƒO EXISTE MySQL lanรงa um erro.

CREATE DATABASE IF NOT EXISTS movies;

Agrupamento e conjunto de caracteres

Colaรงรฃo รฉ um conjunto de regras usadas na comparaรงรฃo.Muitas pessoas usam MySQL para armazenar dados diferentes do inglรชs. Os dados sรฃo armazenados em MySQL usando um conjunto de caracteres especรญfico. O conjunto de caracteres pode ser definido em diferentes nรญveis, a saber, servidor, banco de dados, tabela e colunas.

Vocรช precisa selecionar as regras de agrupamento que, por sua vez, dependem do conjunto de caracteres escolhido.

Por exemplo, o conjunto de caracteres Latin1 usa o latin1_swedish_ci agrupamento que รฉ a ordem sueca que nรฃo diferencia maiรบsculas de minรบsculas.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

A melhor prรกtica ao usar idiomas locais como รกrabe, chinรชs etc. รฉ selecionar o conjunto de caracteres Unicode (utf-8) que possui vรกrios agrupamentos ou apenas manter o agrupamento padrรฃo utf8-general-ci.

Vocรช pode encontrar a lista de todos os agrupamentos e conjuntos de caracteres aqui.

Vocรช pode ver a lista de bancos de dados existentes executando o seguinte comando SQL.

SHOW DATABASES

Como criar uma tabela em MySQL

O comando CREATE TABLE รฉ usado para criar tabelas em um banco de dados

Criar tabela em MySQL

As tabelas podem ser criadas usando CRIAR TABELA instruรงรฃo e na verdade tem a seguinte sintaxe.

CREATE  TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

AQUI

  • โ€œCREATE TABLEโ€ รฉ o responsรกvel pela criaรงรฃo da tabela no banco de dados.
  • โ€œ[IF NOT EXISTS]โ€ รฉ opcional e sรณ cria a tabela se nenhum nome de tabela correspondente for encontrado.
  • โ€œ`fieldName`โ€ รฉ o nome do campo e โ€œdata Typeโ€ define a natureza dos dados a serem armazenados no campo.
  • โ€œ[parรขmetros opcionais]โ€ informaรงรตes adicionais sobre um campo como โ€œAUTO_INCREMENTโ€ , NOT NULL etc.

MySQL Exemplo de criaรงรฃo de tabela

Abaixo estรก uma MySQL exemplo para criar uma tabela no banco de dados:

CREATE  TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT  AUTOINCREMENT ,
  `full_names` VARCHAR(150) NOT NULL ,
  `gender` VARCHAR(6) ,
  `date_of_birth` DATE ,
  `physical_address` VARCHAR(255) ,
  `postal_address` VARCHAR(255) ,
  `contact_number` VARCHAR(75) ,
  `email` VARCHAR(255) ,
  PRIMARY KEY (`membership_number`) )
ENGINE = InnoDB;

Agora vamos ver o que MySQLOs tipos de dados sรฃo. Vocรช pode usar qualquer um deles dependendo da sua necessidade. Vocรช deve sempre tentar nรฃo subestimar ou superestimar o alcance potencial de dados ao criar um banco de dados.

TIPOS DE DADOS

Os tipos de dados definem a natureza dos dados que podem ser armazenados em uma coluna especรญfica de uma tabela

MySQL tem 3 principais categorias de tipos de dados, nomeadamente

  1. Numรฉrico,
  2. Texto
  3. Data hora.

Tipos de dados numรฉricos

Os tipos de dados numรฉricos sรฃo usados โ€‹โ€‹para armazenar valores numรฉricos. ร‰ muito importante garantir que o intervalo dos seus dados esteja entre os limites inferior e superior dos tipos de dados numรฉricos.

TINYINT( ) -128 a 127 normais
0 a 255 NรƒO ASSINADO.
PEQUENO( ) -32768 a 32767 normais
0 a 65535 NรƒO ASSINADO.
Mร‰DIO( ) -8388608 a 8388607 normais
0 a 16777215 NรƒO ASSINADO.
INT( ) -2147483648 a 2147483647 normais
0 a 4294967295 NรƒO ASSINADO.
GRANDE( ) -9223372036854775808 a 9223372036854775807 normais
0 a 18446744073709551615 NรƒO ASSINADO.
FLOAT Um pequeno nรบmero aproximado com um ponto decimal flutuante.
DOBRO( , ) Um nรบmero grande com um ponto decimal flutuante.
DECIMAL( , ) Um DOUBLE armazenado como string , permitindo um ponto decimal fixo. Escolha para armazenar valores monetรกrios.

Tipos de dados de texto

Como o nome da categoria do tipo de dados indica, eles sรฃo usados โ€‹โ€‹para armazenar valores de texto. Sempre certifique-se de que o comprimento dos seus dados textuais nรฃo exceda o comprimento mรกximo.

CARACTERES( ) Uma seรงรฃo fixa de 0 a 255 caracteres.
VARCHAR( ) Uma seรงรฃo variรกvel de 0 a 255 caracteres.
TEXTO MINรšSCULO Uma string com comprimento mรกximo de 255 caracteres.
TEXTO Uma string com comprimento mรกximo de 65535 caracteres.
BLOB Uma string com comprimento mรกximo de 65535 caracteres.
TEXTO Mร‰DIO Uma string com comprimento mรกximo de 16777215 caracteres.
Mร‰DIO BLOBO Uma string com comprimento mรกximo de 16777215 caracteres.
TEXTO LONGO Uma string com comprimento mรกximo de 4294967295 caracteres.
LOBO LONGO Uma string com comprimento mรกximo de 4294967295 caracteres.

Data hora

INFORMAร‡รƒO AAAA-MM-DD
DATETIME AAAA-MM-DD HH: MM: SS
TIMESTAMP AAAAMMDDHHMMSS
DE ESPERA HH: MM: SS

Alรฉm do acima, existem alguns outros tipos de dados em MySQL.

ENUM Para armazenar o valor do texto escolhido em uma lista de valores de texto predefinidos
SET Isto tambรฉm รฉ usado para armazenar valores de texto escolhidos em uma lista de valores de texto predefinidos. Pode ter vรกrios valores.
BOOL Sinรดnimo de TINYINT(1), usado para armazenar valores booleanos
BINARY Semelhante ao CHAR, a diferenรงa รฉ que os textos sรฃo armazenados em formato binรกrio.
VARBINรRIO Semelhante ao VARCHAR, a diferenรงa รฉ que os textos sรฃo armazenados em formato binรกrio.

Agora vamos ver uma consulta para criar uma tabela que contรฉm dados de todos os tipos de dados. Estude-o e identifique como cada tipo de dados รฉ definido na tabela de criaรงรฃo abaixo MySQL exemplo.

CREATE TABLE`all_data_types` (
    `varchar` VARCHAR( 20 )  ,
    `tinyint` TINYINT  ,
    `text` TEXT  ,
    `date` DATE  ,
    `smallint` SMALLINT  ,
    `mediumint` MEDIUMINT  ,
    `int` INT  ,
    `bigint` BIGINT  ,
    `float` FLOAT( 10, 2 )  ,
    `double` DOUBLE  ,
    `decimal` DECIMAL( 10, 2 )  ,
    `datetime` DATETIME  ,
    `timestamp` TIMESTAMP  ,
    `time` TIME  ,
    `year` YEAR  ,
    `char` CHAR( 10 )  ,
    `tinyblob` TINYBLOB  ,
    `tinytext` TINYTEXT  ,
    `blob` BLOB  ,
    `mediumblob` MEDIUMBLOB  ,
    `mediumtext` MEDIUMTEXT  ,
    `longblob` LONGBLOB  ,
    `longtext` LONGTEXT  ,
    `enum` ENUM( '1', '2', '3' )  ,
    `set` SET( '1', '2', '3' )  ,
    `bool` BOOL  ,
    `binary` BINARY( 20 )  ,
    `varbinary` VARBINARY( 20 )
) ENGINE= MYISAM ;

Melhores prรกticas

  • Use letras maiรบsculas para palavras-chave SQL, ou seja, โ€œDROP SCHEMA IF EXISTS `MyFlixDB`;โ€
  • Termine todos os seus comandos SQL usando ponto e vรญrgula.
  • Evite usar espaรงos em nomes de esquemas, tabelas e campos. Use sublinhados para separar nomes de esquemas, tabelas ou campos.

Como criar MySQL diagrama ER de bancada engenharia avanรงada

MySQL bancada tem utilitรกrios que dรฃo suporte ร  engenharia avanรงada. Engenharia avanรงada รฉ um termo tรฉcnico que descreve o processo de traduzir automaticamente um modelo lรณgico em um implemento fรญsico.

Nรณs criamos um Diagrama ER no nosso Tutorial de modelagem ER. Agora usaremos esse modelo ER para gerar os scripts SQL que criarรฃo nosso banco de dados.

Criando o banco de dados MyFlix a partir do modelo MyFlix ER

Passo 1) Modelo ER aberto do banco de dados MyFlix

Abra o modelo ER do banco de dados MyFlix que vocรช criou no tutorial anterior.

Passo 2) Selecione engenheiro avanรงado

Clique no menu do banco de dados. Selecione engenheiro avanรงado

Criar MySQL diagrama ER da bancada de trabalho

Passo 3) Opรงรตes de conexรฃo

A prรณxima janela permite que vocรช se conecte a uma instรขncia do MySQL servidor. Clique na lista suspensa de conexรตes armazenadas e selecione o host local. Clique em Executar

Criar MySQL diagrama ER da bancada de trabalho

Passo 4) Selecione as opรงรตes mostradas abaixo

Selecione as opรงรตes mostradas abaixo no assistente que aparece. Clique em prรณximo

Criar MySQL diagrama ER da bancada de trabalho

Passo 5) Mantenha as seleรงรตes padrรฃo e clique em Avanรงar

A prรณxima tela mostra o resumo dos objetos em nosso diagrama EER. Nosso banco de dados MyFlix possui 5 tabelas. Mantenha as seleรงรตes padrรฃo e clique em Avanรงar.

Criar MySQL diagrama ER da bancada de trabalho

Passo 6) Revveja o script SQL

A janela mostrada abaixo aparece. Esta janela permite visualizar o script SQL para criar nosso banco de dados. Podemos salvar os scripts em um arquivo *.sqlโ€ ou copiar os scripts para a รกrea de transferรชncia. Clique no prรณximo botรฃo

Criar MySQL diagrama ER da bancada de trabalho

Passo 7) Comprometer o progresso

A janela mostrada abaixo aparece apรณs a criaรงรฃo bem-sucedida do banco de dados no local selecionado MySQL instรขncia do servidor.

Criar MySQL diagrama ER da bancada de trabalho

  • A criaรงรฃo de um banco de dados envolve a traduรงรฃo do modelo de design do banco de dados lรณgico no banco de dados fรญsico.
  • MySQL suporta vรกrios tipos de dados para valores numรฉricos, datas e strings.
  • O comando CREATE DATABASE รฉ usado para criar um banco de dados
  • O comando CREATE TABLE รฉ usado para criar tabelas em um banco de dados
  • MySQL O ambiente de trabalho oferece suporte ร  engenharia direta, que envolve a geraรงรฃo automรกtica de scripts SQL a partir do modelo de banco de dados lรณgico que pode ser executado para criar o banco de dados fรญsico

O banco de dados junto com os dados fictรญcios estรฃo anexados. Estaremos usando este banco de dados para todos os nossos tutoriais futuros. Importaรงรฃo simples do banco de dados em MySQL Bancada de trabalho para comeรงar

Clique aqui para baixar MyFlixDB

Resuma esta postagem com: