MySQL Criar Tabela - Como criar banco de dados em MySQL

Índice:

Anonim

Etapas para criar banco de dados em MySQL

Crie banco de dados de duas maneiras

1) Executando uma consulta SQL simples

2) Usando a engenharia avançada no MySQL Workbench

Neste tutorial de SQL, você aprenderá-

  • Como criar banco de dados
  • Como criar uma tabela no MySQL
  • Tipos de dados
  • Diagrama ER do ambiente de trabalho MySQL para a frente Engenharia

Como iniciante em SQL, vamos examinar o método de consulta primeiro.

Como criar banco de dados

Veja como criar um banco de dados em MySQL:

CREATE DATABASE é o comando SQL usado para criar um banco de dados no MySQL.

Imagine que você precisa criar um banco de dados com o nome "filmes". Você pode criar um banco de dados no 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

Um único servidor MySQL pode ter vários bancos de dados. Se você não for o único acessando o mesmo servidor MySQL ou se 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. IF NOT EXISTS permite que você instrua o servidor MySQL a verificar a existência de um banco de dados com um nome semelhante antes de criar o banco de dados.

Quando IF NOT EXISTS é usado, o banco de dados é criado apenas se o nome dado não entrar em conflito com o nome de um banco de dados existente. Sem o uso de IF NOT EXISTS, o MySQL gera um erro.

CREATE DATABASE IF NOT EXISTS movies;

Agrupamento e conjunto de caracteres

O agrupamento é um conjunto de regras usadas na comparação. Muitas pessoas usam o MySQL para armazenar outros dados além do inglês. Os dados são armazenados no MySQL usando um conjunto de caracteres específico. O conjunto de caracteres pode ser definido em diferentes níveis viz, 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 comparação, que é a ordem sueca insensível a maiúsculas e 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 tem 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 no MySQL

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

As tabelas podem ser criadas usando a instrução CREATE TABLE 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" tipo de dados "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.

Exemplo de criação de tabela MySQL

Abaixo está um exemplo de MySQL 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 quais são os tipos de dados do MySQL. Você pode usar qualquer um deles, dependendo de sua necessidade. Você deve sempre tentar não subestimar ou superestimar o intervalo 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 particular de uma tabela

MySQL tem 3 categorias principais de tipos de dados, a saber

  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 certificar-se de que o intervalo de seus dados está entre os limites inferior e superior dos tipos de dados numéricos.

TINYINT () -128 a 127 normal
0 a 255 NÃO ASSINADO.
SMALLINT () -32768 a 32767 normal
0 a 65535 NÃO ASSINADO.
MEDIUMINT () -8388608 a 8388607 normal
0 a 16777215 NÃO ASSINADO.
INT () -2147483648 a 2147483647 normal
0 a 4294967295 NÃO ASSINADO.
BIGINT () -9223372036854775808 a 9223372036854775807 normal
0 a 18446744073709551615 NÃO ASSINADO.
FLUTUADOR Um pequeno número aproximado com um ponto decimal flutuante.
EM DOBRO( , ) Um grande número com um ponto decimal flutuante.
DECIMAL( , ) UM DOUBLE armazenado como uma string, permitindo um ponto decimal fixo. Opção 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 de seus dados textuais não exceda os comprimentos máximos.

CARACTERES( ) Uma seção fixa de 0 a 255 caracteres.
VARCHAR () Uma seção variável de 0 a 255 caracteres.
TINYTEXT 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.
MEDIUMTEXT Uma string com comprimento máximo de 16777215 caracteres.
MEDIUMBLOB Uma string com comprimento máximo de 16777215 caracteres.
LONGTEXT Uma string com comprimento máximo de 4294967295 caracteres.
LONGBLOB Uma string com comprimento máximo de 4294967295 caracteres.

Data hora

ENCONTRO AAAA-MM-DD
DATA HORA AAAA-MM-DD HH: MM: SS
TIMESTAMP AAAAMMDDHHMMSS
TEMPO HH: MM: SS

Além do acima, existem alguns outros tipos de dados no MySQL.

ENUM Para armazenar o valor de texto escolhido de uma lista de valores de texto predefinidos
DEFINIR Isso também é usado para armazenar valores de texto escolhidos em uma lista de valores de texto predefinidos. Ele pode ter vários valores.
BOOL Sinônimo de TINYINT (1), usado para armazenar valores booleanos
BINÁRIO 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 no exemplo de criação de tabela MySQL abaixo.

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, por exemplo, "DROP SCHEMA IF EXISTS` MyFlixDB`; "
  • Encerre 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.

Diagrama de ER do ambiente de trabalho MySQL para engenharia avançada

O ambiente de trabalho MySQL possui utilitários que oferecem suporte à engenharia avançada. Engenharia avançada é um termo técnico que descreve o processo de tradução automática de um modelo lógico em um implemento físico .

Criamos um diagrama ER em nosso tutorial de modelagem ER. Agora usaremos esse modelo ER para gerar os scripts SQL que criarão nosso banco de dados.

Criação do banco de dados MyFlix a partir do modelo MyFlix ER

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

2. Clique no menu do banco de dados. Selecione o engenheiro avançado

3. A próxima janela permite que você se conecte a uma instância do servidor MySQL. Clique na lista suspensa de conexão armazenada e selecione o host local. Clique em Executar

4. Selecione as opções mostradas abaixo no assistente que aparece. Clique próximo

5. 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.

6… A janela mostrada abaixo aparece. Esta janela permite que você visualize 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 botão próximo

7. A janela mostrada abaixo aparece após a criação bem-sucedida do banco de dados na instância do servidor MySQL selecionada.

Resumo

  • A criação de um banco de dados envolve a tradução do modelo de design de banco de dados lógico em um banco de dados físico.
  • O 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
  • O ambiente de trabalho MySQL oferece suporte à engenharia avançada 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á anexado. Estaremos usando este banco de dados para todos os nossos tutoriais futuros. Importação simples do banco de dados no MySQL Workbench para começar

Clique aqui para baixar MyFlixDB