MySQL MariaDB

Usando restrições exclusivas do MySQL

Usando restrições exclusivas do MySQL
MySQL CONSTRAINT está sendo rejeitado para descrever as regras que permitem ou restringem os valores em campos que podem conter ou limitar os dados que podem ser inseridos nas linhas. O objetivo de impor restrições é manter a credibilidade de um banco de dados. Um deles é a restrição UNIQUE.

A restrição UNIQUE garante que quase todos os elementos em um campo sejam distintos uns dos outros. Para um campo ou grupo de campos, os limites UNIQUE e PRIMARY KEY mutuamente garantem a individualidade. Podemos, no entanto, ter várias restrições UNIQUE em cada tabela, embora um limite de PRIMARY KEY para cada tabela em vez disso. Vamos aprender tentando alguns exemplos.

Restrição única via Workbench:

Em primeiro lugar, temos que aprender como adicionar restrições exclusivas à tabela ao usar o MySQL Workbench 8.0. Abra seu MySQL Workbench 8 recém-instalado.0 e conecte-o ao banco de dados.

Na área de consulta, você deve escrever o comando abaixo para criar uma tabela 'Pessoa'. Esta tabela possui 4 colunas com uma chave primária. Temos que especificar uma coluna única. Como você pode ver, limpamos a coluna 'Id' como a coluna 'UNIQUE':

>> CRIAR TABELA Pessoa (ID int PRIMARY KEY NOT NULL, LastName varchar (255) NOT NULL, FirstName varchar (255), Age int, UNIQUE (ID));

Agora a tabela “Person” foi criada com sua coluna “UNIQUE” “ID”. Você pode encontrar a tabela em “Navegador” e “Esquemas” enquanto listado na opção “Tabelas”.

Ao inserir os registros, ao tocar no botão "Aplicar", ele irá revisar os registros inseridos conforme mostrado abaixo. Você pode ver que temos um registro duplicado nas linhas 3 e 4 que tem o mesmo “ID”. Toque no botão “Aplicar” para aplicar as alterações.

Na imagem abaixo, está gerando um erro que a coluna “ID” duplicou, que é o valor “13”.

Depois de corrigir o registro, ao aplicar as alterações, ele funcionará corretamente.

Restrição única via shell de linha de comando:

No shell da linha de comando do MySQL, estaremos adicionando chaves UNIQUE a uma ou várias colunas. Abra sua linha de comando primeiro para ter uma ideia de cada um nos exemplos abaixo. Digite sua senha para usar o shell de comando.

Exemplo 01: em coluna única

Dentro desta sintaxe, como na especificação de coluna, usamos o termo UNIQUE que você gostaria de aplicar a lei de exclusividade. Uma vez que inserimos ou alteramos um valor que cria duplicatas na coluna particular, a modificação será recusada pelo MySQL e uma exceção será dada também. Haverá uma restrição de coluna neste limite particular. E você pode usar isso para implementar a regra única de um campo também. Aqui está uma sintaxe para uma chave UNIQUE de coluna única:

>> CRIAR TABELA nome_tabela (tipo de dados col UNIQUE, tipo de dados col);

Vamos criar uma tabela “fornecedor” no banco de dados “dados” com três colunas. A coluna “ID” é definida como “ÚNICA”.

>> CREATE TABLE data.fornecedor (id INT AUTO_INCREMENT NOT NULL UNIQUE, Nome VARCHAR (50) NOT NULL, Área VARCHAR (50));

Na verificação, você pode ver que a tabela ainda não tem registros.

>> SELECIONE * DOS dados.fornecedor;

Vamos inserir os registros na tabela. O primeiro registro será inserido na tabela suavemente, conforme mostrado abaixo.

O segundo registro será inserido suavemente novamente, uma vez que não possui valores duplicados na coluna “ID”. Por outro lado, está assumindo o mesmo valor que usa na primeira consulta na coluna “Área”.

Ao inserir o terceiro registro, fornecemos o valor duplicado "1", conforme fornecemos na primeira instrução de inserção. Irá gerar um erro de que a coluna “ID” está obtendo um valor duplicado, conforme mostrado na imagem abaixo.

Ao verificar novamente, você pode ver que a tabela contém apenas o registro das duas primeiras instruções de inserção. Embora não haja nenhum registro da terceira instrução de inserção.

>> SELECIONE * DOS dados.fornecedor;

Exemplo 02: em várias colunas

Com este formato, após o termo UNIQUE, aplicamos um conjunto de colunas separadas por vírgulas entre colchetes. A composição dos valores nos campos col1 e col2 é usada pelo MySQL para determinar a exclusividade.

>> CRIAR TABELA nome_tabela (tipo de dados col1, tipo de dados col2, UNIQUE (col1, col2));

Estamos criando uma tabela “ministro” no banco de dados “dados” com cinco colunas. A coluna “ID” é definida como “ÚNICA” e “PRIMÁRIA”. A palavra-chave “CONSTRAINT” é usada para nomear uma restrição de chave única como “uc_add_sal”. A palavra-chave “UNIQUE” é usada para definir uma restrição UNIQUE nas colunas especificadas nos colchetes, e.g., Endereço e “Salário”. Agora temos um total de três colunas com restrição "UNIQUE" nelas.

>> CREATE TABLE data.ministro (Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Nome VARCHAR (50) NOT NULL, Endereço VARCHAR (50), Job VARCHAR (50), Salário VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (Endereço, Salário));

Ao verificar a mesa, você pode ver que ela está vazia agora.

>> SELECIONE * DOS dados.ministro;

Vamos inserir alguns registros nele. O primeiro registro será adicionado à tabela com sucesso porque é a primeira linha e não há nenhuma linha a ser correspondida.

Insira outro registro exclusivo sem quaisquer valores duplicados em qualquer coluna, conforme mostrado abaixo.

Não afeta quando inserimos os valores duplicados para as colunas que não têm nenhuma restrição "UNIQUE". Dê uma olhada na consulta abaixo. Tem um valor duplicado na coluna “Nome” e “Trabalho”. Funciona corretamente porque essas duas colunas não têm nenhuma restrição "UNIQUE" definida nelas.

Por outro lado, quando inserimos o valor duplicado, e.g., “13” e “Rawalpindi”, irá gerar um erro, conforme mostrado abaixo. Isso ocorre porque “13” e “Rawalpindi” foram especificados anteriormente.

Na verificação, temos apenas três registros na tabela, inseridos pelas três primeiras consultas.

>> SELECIONE * DOS dados.ministro;

Conclusão:

Fizemos todos os exemplos de definição de restrições UNIQUE em colunas únicas e múltiplas ao usar o MySQL Workbench 8.0 e shell do cliente de linha de comando MySQL. Esperançosamente, você não terá problemas ao resolver problemas relacionados a chaves ÚNICAS.

Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...
Ferramentas úteis para jogadores de Linux
Se você gosta de jogar no Linux, é provável que tenha usado aplicativos e utilitários como Wine, Lutris e OBS Studio para melhorar a experiência de jo...
Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...