MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法

ウェブサイト開発でもアプリケーション開発でも、MySQL または MS SQL Server のテーブルから別のテーブルにデータを一括でインポートする必要がある状況に遭遇することが多く、場合によってはインポート フィールドを指定する必要があることもあります。

この記事では、MySQL データベースを例に、SQL コマンドラインを使用してテーブルのすべてのデータまたは指定されたフィールドのデータをターゲット テーブルにインポートする方法を紹介します。この方法は、SQL Server データベース、つまり T-SQL にも適用できます。

カテゴリ 1: 2 つのテーブル (エクスポート テーブルとターゲット テーブル) のフィールドが一致しており、すべてのデータを挿入する場合は、次の方法を使用できます。

ターゲット テーブルに INSERT INTO し、ソース テーブルから * を SELECT します。

たとえば、articles テーブルを newArticles テーブルに挿入するには、次の SQL ステートメントを使用できます。

newArticles に INSERT INTO し、 articles から * を選択します。

カテゴリー 2:指定されたフィールドのみをインポートする場合は、次の方法を使用できます。

ターゲット テーブルに INSERT INTO (フィールド 1、フィールド 2、...)、ソース テーブルからフィールド 1、フィールド 2、... を SELECT します。

上記の 2 つのテーブルのフィールドは一致している必要があります。一致していない場合は、データ変換エラーが発生します。

TPersonnelChangeに挿入(  
   ユーザーID、 
   親愛なる、 
   サブディビジョンID、 
   ポジションタイプ、 
   権限ID、 
   日付変更、 
   挿入日付、 
   更新日、 
   サクセイシャイド 
 )選択 
   ユーザーID、 
   親愛なる、 
   サブディビジョンID、 
   ポジションタイプ、 
   権限ID、 
   DATE_FORMAT(雇用日、'%Y%m%d')、 
   今()、 
   今()、 
   1 
から 
   TUserMst どこ 
   `ステータス` = 0 
かつ QuitFlg = 0 
かつユーザーID > 2 

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • Linux/Mac MySQL パスワードを忘れた場合の対処方法
  • mysql5.7.18 解凍バージョンで mysql サービスを起動します
  • Mac での MySql の詳細なインストールと構成
  • すべてのホストがmysqlにアクセスできるようにする方法
  • MySQL ページング分析の原理と効率改善
  • PycharmでMySQLデータベースに接続するための詳細な手順
  • MySQL でデータベースを作成した後、ユーザー ''root''@''%'' によるデータベース ''xxx'' へのアクセスが拒否される問題を解決する

<<:  Linuxサーバー間のリアルタイムファイル同期の実現

>>:  js を使ってシンプルな虫眼鏡効果を実現

推薦する

Nodejs 探索: シングルスレッドの高並行性の原理を深く理解する

目次序文一目でわかる建築オペレーティングシステムとの対話シングルスレッドイベント駆動/イベントループ...

MySQL データベースのバックアップとリカバリの実装コード

データベースのバックアップ #文法: # mysqldump -h server-u usernam...

JavaScript ベースのパスワード ボックス検証情報の実装

この記事では、パスワードボックスの検証情報を実装するためのJavaScriptの具体的なコードを例と...

Tomcat は、Springboot プロジェクトの WAR パッケージの起動時にエラーを報告します: 子の起動時にエラーが発生しました

今日、会社の Springboot プロジェクトは、テストのためにテスト サーバーにデプロイする準備...

Mysql のフィールドのデータの一部をバッチ置換する (推奨)

MYSQL のフィールドのデータの一部をバッチで置き換えます。具体的な導入は次のとおりです。 1....

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

フロントエンドパフォーマンス最適化に関する補足記事

序文私は、Web サイトのフロントエンド パフォーマンス最適化のための JavaScript と C...

ブラウザが登録できるイベントの概要

HTML イベント リスト一般イベント: onClick HTML: マウスクリックイベント。主にオ...

3つの簡単な例を使ってハイパーリンクの下線を削除する方法

ハイパーリンクの下線を削除するには、スタイルシート CSS を使用する必要があります。当面は CSS...

MySQL 5.7.21 解凍版インストール Navicat データベース操作ツールインストール

MySQL解凍版とNavicatデータベース操作ツールのインストールは、以下のとおりです。 1. M...

VMware仮想マシンの起動時に黒い画面が表示される問題を解決する

# VMware ハードディスクの起動優先順位を調整するステップ 1: 電源をオンにすると、BIOS...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

Linuxグループの基礎知識ポイントまとめ

1. Linuxグループの基本紹介Linux では、すべてのユーザーはグループに所属する必要があり、...

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

レスポンシブレイアウトについて知っておくべきこと

1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...