Como criar banco de dados em MySQL (Criar MySQL Tabelas)
โก Resumo Inteligente
Criando um banco de dados em MySQL segue dois caminhos comprovados: executar uma instruรงรฃo CREATE DATABASE ou gerar esquemas fรญsicos a partir de um modelo ER por meio de MySQL Engenharia direta em bancada de trabalho. Ambas as abordagens produzem tabelas idรชnticas, prontas para produรงรฃo.

Etapas para criar banco de dados em MySQL
Um banco de dados em MySQL รฉ um contรชiner nomeado para tabelas, visualizaรงรตes e objetos relacionados. Vocรช pode criar um 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;
Observaรงรฃo: vocรช tambรฉm pode usar o comando CREATE SCHEMA em vez de CREATE DATABASE.
A instruรงรฃo funciona apenas uma vez. Executรก-la novamente gera um erro, entรฃo vamos melhorar a consulta com mais parรขmetros.
SE NรO EXISTE
Uma รบnica MySQL Um servidor pode hospedar vรกrios bancos de dados. Quando vรกrias pessoas compartilham esse servidor, vocรช pode tentar criar um banco de dados com o nome de um banco de dados existente.
SE NรO EXISTE instrui o MySQL O servidor verifica se jรก existe um banco de dados com o mesmo nome antes de criรก-lo. O banco de dados sรณ รฉ criado se o nome estiver disponรญvel; sem essa condiรงรฃo, MySQL lanรงa um erro.
CREATE DATABASE IF NOT EXISTS movies;
Uma vez que o nome do banco de dados esteja seguro, a prรณxima decisรฃo รฉ como. MySQL deve armazenar e comparar o texto dentro dele.
Agrupamento e conjunto de caracteres
A conjunto de caracteres decide quais caracteres uma coluna pode armazenar, enquanto um colaรงรฃo รฉ o conjunto de regras usadas na comparaรงรฃo e classificaรงรฃo. Ambos podem ser definidos em quatro nรญveis: servidor, banco de dados, tabela e coluna.
A ordenaรงรฃo que vocรช escolher depende do conjunto de caracteres. Por exemplo, o conjunto de caracteres latin1 usa o latin1_swedish_ci colaรงรฃo, 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;
Para idiomas locais como รกrabe ou chinรชs, selecione o Unicode. utf8mb4 Conjunto de caracteres, que armazena todos os caracteres Unicode, incluindo emojis. MySQL 8.0, utf8mb4 รฉ o conjunto de caracteres padrรฃo e utf8mb4_0900_ai_ci a ordenaรงรฃo padrรฃo.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Vocรช pode encontrar a lista de todos os agrupamentos e conjuntos de caracteres aqui..
Vocรช pode visualizar a lista de bancos de dados existentes executando o seguinte comando SQL.
SHOW DATABASES;
Com o banco de dados configurado, vocรช agora pode adicionar as tabelas que efetivamente armazenarรฃo os registros.
Como criar uma tabela em MySQL
O comando CREATE TABLE รฉ usado para criar tabelas em um banco de dados.
Como mostra o diagrama, cada tabela pertence a um banco de dados. As tabelas sรฃo criadas com o CRIAR TABELA declaraรงรฃo, que possui a seguinte sintaxe.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
AQUI
- O comando โCREATE TABLEโ รฉ 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 armazenados nele.
- โ[parรขmetros opcionais]โ sรฃo informaรงรตes adicionais sobre um campo, como โAUTO_INCREMENTโ ou NOT NULL.
- O "mecanismo de armazenamento" gerencia a tabela, normalmente InnoDB, que suporta transaรงรตes e chaves estrangeiras.
MySQL Exemplo de criaรงรฃo de tabela
Abaixo estรก uma MySQL Exemplo de como criar uma tabela em um banco de dados:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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;
Observaรงรฃo: o correto MySQL palavra-chave รฉ AUTO_INCREMENT com um sublinhado. AUTOINCREMENT pertence a SQLite e gera um erro de sintaxe em MySQL.
Cada coluna contรฉm um tipo de dado, portanto, escolha com cuidado: nรฃo subestime nem superestime o intervalo de dados esperado.
MySQL 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, a saber:
- Numรฉrico
- Texto
- 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 do tipo de dados numรฉrico escolhido.
| 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 valor DOUBLE armazenado como uma string, permitindo um nรบmero decimal fixo. Ideal para armazenar valores monetรกrios. |
Tipos de dados de texto
Como o prรณprio nome da categoria de tipo de dados indica, estes sรฃo usados โโpara armazenar valores de texto. Certifique-se sempre de que o comprimento dos seus dados textuais nรฃo exceda o comprimento mรกximo da coluna.
| 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. |
Tipos de dados de data e hora
Os tipos de dados de data e hora armazenam valores de calendรกrio e relรณgio em um formato fixo, o que mantรฉm a classificaรงรฃo e a comparaรงรฃo confiรกveis.
| INFORMAรรO | AAAA-MM-DD |
| DATETIME | AAAA-MM-DD HH: MM: SS |
| TIMESTAMP | AAAAMMDDHHMMSS |
| DE ESPERA | HH: MM: SS |
Outros tipos de dados
Alรฉm dos mencionados acima, existem outros tipos de dados em MySQL.
| ENUM | Para armazenar um valor de texto escolhido a partir de 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, vejamos uma consulta para criar uma tabela que utiliza todos os tipos de dados. Analise-a e identifique como cada tipo de dado รฉ definido na consulta de criaรงรฃo de tabela 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 para criar um MySQL banco de dados
Algumas convenรงรตes mantรชm seus scripts legรญveis:
- Use letras maiรบsculas para palavras-chave SQL, por exemplo, โ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. Em vez disso, use sublinhados para separar nomes de esquemas, tabelas ou campos.
- Prefira o InnoDB ao MyISAM para novas tabelas, pois o InnoDB oferece suporte a transaรงรตes, bloqueio em nรญvel de linha e chaves estrangeiras.
O mรฉtodo de consulta estรก completo. A segunda rota acessa o mesmo banco de dados a partir de um modelo visual, em vez de SQL escrito manualmente.
Como Criar MySQL Diagrama ER da bancada de trabalho - Engenharia direta
MySQL Workbench tem utilitรกrios que dรฃo suporte ร engenharia avanรงada. Engenharia avanรงada รฉ o termo tรฉcnico que descreve o processo de traduzir um modelo lรณgico em uma implementaรงรฃo fรญsica automaticamente.
Nรณs criamos um Diagrama ER no nosso artigo Modelagem de ER Liรงรฃo. 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) Abra o modelo ER do banco de dados MyFlix. que vocรช criou anteriormente.
Etapa 2) Selecione o engenheiro avanรงado
Clique no menu Banco de Dados e selecione Engenheiro Avanรงado.
Etapa 3) Opรงรตes de conexรฃo
A prรณxima janela permite que vocรช se conecte a uma instรขncia de MySQL servidor. Clique na lista suspensa de conexรตes armazenadas e selecione host local. Clique em Executar.
Passo 4) Selecione as opรงรตes mostradas abaixo.
Selecione as opรงรตes mostradas abaixo no assistente que aparece. Clique em Avanรงar.
Passo 5) Mantenha as seleรงรตes padrรฃo e clique em Prรณximo.
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.
Passo 6) Revveja o script SQL
A janela abaixo exibe uma prรฉ-visualizaรงรฃo do script SQL que cria nosso banco de dados. Salve o script em um arquivo *.sql ou copie-o para a รกrea de transferรชncia e clique em Avanรงar.
Etapa 7) Confirme o progresso
A janela abaixo aparece assim que o banco de dados รฉ criado no local selecionado. MySQL Instรขncia do servidor. As tabelas do modelo ER agora existem fisicamente no servidor.
O banco de dados, juntamente com dados fictรญcios, estรก anexado. Usaremos este banco de dados nas prรณximas liรงรตes. Basta importรก-lo em MySQL Ambiente de trabalho para comeรงar.
Clique aqui para baixar MyFlixDB







.png)