"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso copiar dados seletivamente entre tabelas MySQL usando INSERT INTO...SELECT?

Como posso copiar dados seletivamente entre tabelas MySQL usando INSERT INTO...SELECT?

Publicado em 2024-11-25
Navegar:441

How Can I Selectively Copy Data Between MySQL Tables Using INSERT INTO...SELECT?

Copiando dados entre tabelas MySQL com seleção de campos personalizados

No domínio do gerenciamento de banco de dados, a transferência eficiente de dados entre tabelas é uma tarefa comum. O MySQL fornece vários métodos para fazer isso, incluindo a instrução INSERT INTO...SELECT.

Considere um cenário onde você tem duas tabelas MySQL, Tabela 1 (a tabela existente) e Tabela 2 (a nova tabela). Você deseja copiar seletivamente campos específicos da Tabela 1 para a Tabela 2, com base nos seguintes critérios:

  • Tabela 1: Contém colunas como aid, st_id, from_uid e mensagem .
  • Tabela 2: Contém colunas como st_id, uid, alterado, status e atribua_status.

Usando consultas MySQL para cópia seletiva de dados:

Para atingir seu objetivo, você pode empregar a seguinte consulta MySQL:

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;

Esta consulta realiza o seguinte:

  1. Insere dados na Tabela 2, incluindo as seguintes colunas:

    • st_id
    • uid
    • alterado (definido para o carimbo de data/hora atual usando o NOW() function)
    • status (definido como 'Pendente')
    • assign_status (definido como 'Atribuído')
  2. Seleciona dados da Tabela 1 , correspondendo às colunas na instrução INSERT. Especificamente, ele seleciona:

    • st_id
    • from_uid

Se desejar copiar todas as linhas da Tabela 1, você pode omita a cláusula WHERE. No entanto, se quiser limitar a cópia a um subconjunto específico de linhas, você pode adicionar uma cláusula WHERE com as condições desejadas.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3