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 を使ってシンプルな虫眼鏡効果を実現

推薦する

CSS3 のエラスティック レイアウトでの em の使用の概要: 1em は何ピクセルですか?

私は長い間 CSS を使用してきましたが、Web 要素の関連属性を設定するために常に「px」を使用し...

Vueでフォームデータを取得する方法

目次必要データを取得して送信するテンプレートフィルターフィルターの使用シナリオ要約する必要Vue を...

Vue のスロットの使用法と適用シナリオの詳細な分析

スロットとは何ですか? Vue では、子コンポーネント タグの中央に何もラップできないことはわかって...

mysql mycat ミドルウェアの簡単な紹介

1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...

Windows 環境での MySQL 8.0 のインストール、設定、アンインストール

ソフトウェアバージョンウィンドウズ: ウィンドウズ10 MySQL: mysql-8.0.17-wi...

Vuex環境の詳細な説明

目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...

JS 非同期スタック トレース: await が Promise よりも優れている理由

概要async/await と Promise の基本的な違いは、await fn() は現在の関数...

Windows 7 環境での Docker 高速ビルドと Alibaba Cloud コンテナ高速化構成の詳細な説明

前回の Docker に関する記事では、MAC システムでの構築について説明しました。この記事では、...

JavaScript プロトタイプとプロトタイプチェーンの詳細

目次1. プロトタイプ(明示的なプロトタイプ) 2. __proto__ (暗黙のプロトタイプ) 3...

nginxリバースプロキシのマルチポートマッピングの実装

コードの説明1.1 http:www.baidu.test.com のデフォルトは 80 で、リバー...

nginx+uwsgi で Django プロジェクトを開始するための詳細な手順

Django で Web プロジェクトを開発する場合、開発およびテストのプロセスでは Django ...

電子署名を実装するWeChatミニプログラム

この記事では、WeChatミニプログラムで電子署名を実装するための具体的なコードを参考までに紹介しま...

nginx高可用性クラスタの実装プロセス

この記事は主に、nginx 高可用性クラスタの実装プロセスを紹介します。この記事のサンプルコードは非...

VirtualBox Centos7 の NAT+ホストオンリーネットワークの落とし穴のまとめ

目次1. 問題の背景2. 仮想マシン ネットワーク カードの接続方法は何ですか? 2.1 NAT 2...

CSS カウンターとコンテンツの概要

コンテンツ プロパティは CSS 2.1 で導入され、:before および :after 疑似要素...