Como MySQL exclui com as declarações de exclusão

Como MySQL exclui com as declarações de exclusão
Este tutorial discutirá como usar a cláusula MySQL Exclete em uma declaração de junção para excluir dados de várias tabelas que atendem à condição especificada.

O objetivo deste tutorial é ajudá -lo a entender como usar a cláusula de exclusão junto com a cláusula de junção para remover os dados de uma só vez. Se você é novo no MySQL, considere nossos outros tutoriais, como tutoriais de tabelas de junções e soltar.

Vamos começar.

Uso básico: exclua com junção interna

O primeiro método de exclusão que discutiremos é como usar a cláusula MySQL Delete dentro de uma declaração de junção interna para remover dados de linhas que correspondem a outra tabela.

A sintaxe geral para implementar essa consulta é mostrada abaixo:

Exclua Tbl1, Tbl2 do Tbl1 Inner Junção TBL2 no TBL1.col = tbl2.Col onde [condição];

Deixe -me garantir que é mais fácil do que parece. Deixe-me explicar:

Começamos especificando as tabelas das quais queremos remover os dados. As tabelas são especificadas entre o exclusão e a cláusula.

Na segunda parte, especificamos a condição para as linhas correspondentes nas mesas de conjunto. Por exemplo:

Tbl1.col = tbl2.col

Finalmente, definimos a condição onde determina as linhas nas tabelas especificadas a serem excluídas.

Exemplo de uso de uso

Deixe -me usar um exemplo para ilustrar como podemos usar a cláusula de exclusão e a junção interna para remover linhas de várias tabelas. Considere as consultas abaixo:

Criar Sociedade de Esquema;
Usar a sociedade;
Soltar a tabela se existir usuários, contatos;
Crie usuários de tabela (
user_id int primário chave automaticamente,
First_name Varchar (100),
Last_name Varchar (100),
Estado Varchar (50)
);
Crie contatos de tabela (
home_id int primário chave automaticamente,
Tel Varchar (50),
Endereço Varchar (255)
);
Insira nos usuários (First_Name, Last_Name, State) valores ("John", "Muller", "Colorado"), ("Mary", "Jane", "California"), ("Peter", "Quill", "New Iorque");
Inserir em contatos (tel, endereço) valores ("303-555-0156", "281 Denver, Colorado"), ("661-555-0134", "302 Drive, Bakersfield"), ("516-555-0148, "," 626 EST Meadow, Nova York ");

Depois de termos esses dados, podemos ilustrar como usar o Excluir com a junção interna, conforme mostrado na consulta abaixo:

Excluir a sociedade.usuários, sociedade.contatos da sociedade.Usuários Inscreva -se contatos de junção em user_id = home_id onde user_id = 3;

A consulta acima exibirá o resultado como mostrado abaixo:

duas linhas afetadas em 7 ms, o que indica que duas linhas foram removidas.

Exclua com a junção esquerda

O segundo método de exclusão que discutiremos é usar a junção esquerda. A sintaxe geral para este tipo de exclusão é como mostrado abaixo:

Exclua Tbl1 do TBL1 JONE DE ESQUERDA TBL2 no TBL1.col = tbl2.Col onde tble.Col é nulo;

Para excluir com junta à esquerda, especificamos apenas uma tabela-como a junção interna, onde especificamos duas tabelas.

Considere toda a consulta abaixo:

Usar a sociedade;
Soltar a tabela se existir usuários, contatos;
Crie usuários de tabela (
user_id int primário chave automaticamente,
First_name Varchar (100),
Last_name Varchar (100),
Estado Varchar (50)
);
Crie contatos de tabela (
home_id int primário chave automaticamente,
Tel Varchar (50),
Endereço Varchar (255)
);
Insira nos usuários (First_Name, Last_Name, State) valores ("John", "Muller", "Colorado"), ("Mary", "Jane", "California"), ("Peter", "Quill", "New York "), (" Mystic "," Arts "," Carolina do Sul ");
Inserir em contatos (tel, endereço) valores ("303-555-0156", "281 Denver, Colorado"), ("661-555-0134", "302 Drive, Bakersfield"), ("516-555-0148, "," 626 EST Meadow NYC "), (" 843-555-0105 ", nulo);
Excluir usuários dos usuários que deixaram os contatos de junção em user_id = home_id onde o endereço é nulo;
Selecione * dos usuários;

Depois de executar a consulta acima, o usuário cujo endereço é nulo após a exclusão é excluída e o resultado da saída é como mostrado abaixo:

Conclusão

Neste tutorial, discutimos como usar o MySQL Excluir com instruções de junção para excluir dados de várias tabelas.