MySQL における単一テーブルと複数テーブル、およびビューと一時テーブルに対する Update と Select の違い

MySQL における単一テーブルと複数テーブル、およびビューと一時テーブルに対する Update と Select の違い

1. テーブルAのデータを使用してMySQLのテーブルBの内容を更新する

たとえば、データ テーブル内の一部の列属性を更新したいが、変更された属性の内容は chanpin テーブルから取得されます。選択キーワードはSQL言語には現れない

データ d、chanpin c を更新し、d.zhulei=c.zhulei、d.xiaolei=c.xiaolei、d.fenxiang=c.fenxiang、d.zhuanye=c.zhuanye、d.jiliang=c.jiliang、d.gs=c.zgs、d.xzgs=c.zgs、d.bjgs=(c.zgs*d.jdxs*d.jishu*d.xs1*d.xs2*d.xs3)、d.wygs=d.bjgs、d.hzgs=? と設定します。ここで、d.id=?、c.chanpin=?、c.fenlei=?";

2. MySQLでの更新と選択のテーブルは同じテーブルです

MySQL で少し面倒なのは、select from ステートメントの後に更新するテーブルの名前を続けることができないことです。たとえば、次のようになります。

TBCP_SELLER を更新し、ステータスを設定します =( TBCP_SELLER から STATUS を選択します。ここで、tbid は 2011645303 です)。ここで、tbid は 2011645303 です。

更新するテーブルの名前は、クエリするテーブルの名前と同じです。SQL を実行すると、エラー メッセージが表示されます: FROM 句で更新対象テーブル 'TBCP SELLER' を指定することはできません。
この問題に対処するには、次に示すように、ビューを構築し、ネストされた選択を使用してクエリと更新を実装します。

TBCP_SELLER を更新し、ステータスを設定します =( STATUS を選択 ( * を TBCP_SELLER から選択) として x where tbid=2011645303 ) where tbid=2011645303

上記の SQL では次の点に注意してください。

(TBCP_SELLERから*を選択)xとして

x は必須です。そうでない場合はエラーが報告されます: すべての派生テーブルには独自のエイリアスが必要です (すべての派生テーブルには独自のエイリアスが必要です)

3. 一時テーブルとビューの違い

一時テーブル

一時テーブルは、システムの一時フォルダに作成されるテーブルです。適切に使用すれば、通常のテーブルと同様にさまざまな操作が可能で、VFP 終了時に自動的に解放されます。 MySQL の一時テーブルの作成は簡単です。通常の CREATE TABLE ステートメントに TEMPORARY キーワードを追加します。SQL コード:

一時テーブル tmp_table を作成します (名前 VARCHAR(10) NOT NULL、値 INTEGER NOT NULL)

一時テーブル tmp_table を作成します (名前 VARCHAR(10) NOT NULL、値 INTEGER NOT NULL)

ビュー

ユーザーの視点から見ると、ビューはデータベース内のデータを特定の観点から見ることです。

データベース システムの観点から見ると、ビューは SELECT ステートメントで構成されるクエリによって定義される仮想テーブルです。

データベース システムの観点から見ると、ビューは 1 つ以上のテーブルのデータで構成されます。

データベース システムの外部から見ると、ビューはテーブルとまったく同じです。クエリ、挿入、変更、削除など、テーブルで実行できる一般的な操作はすべてビューに適用できます。

以下もご興味があるかもしれません:
  • MySQL 選択最適化ソリューションに関する簡単な説明
  • MySQL で結果を選択して更新を実行する例のチュートリアル
  • MySQLの読み書き分離により挿入後にデータが選択されなくなる問題を解決
  • MySQL SELECT文の実行方法
  • サブクエリ最適化における MySQL 選択の実装
  • MySQL 学習ノート: 完全な SELECT ステートメントの使用例と詳細な説明
  • MySQL の選択、挿入、更新バッチ操作ステートメントのコード例
  • MySQL SELECT実行順序の簡単な理解
  • 更新とデータ整合性処理のためのMySQLトランザクション選択の説明
  • MySQL セレクトキャッシュメカニズムの使用に関する詳細な説明
  • MySql データベースでの Select の使用法の概要
  • MySQLでSELECT文が実行される仕組み

<<:  Vue を使用してパブリック アカウントの Web ページを開発する方法

>>:  組み込み Linux 開発環境で ping と nfs を構築するためのソリューション

推薦する

MySQL SQL文を最適化するためのヒント

十分に最適化されていない、またはパフォーマンスが極端に低い SQL ステートメントに直面した場合、通...

JavaScript の基礎: スコープ

目次範囲グローバルスコープ関数のスコープもし、スイッチ、のために、その間ブロックスコープスコープチェ...

シングルサインオン制御を実装するためのVueの完全なコード

参考までに、Vue シングル サインオンのデモをご紹介します。詳細を知りたい方のお役に立てれば幸いで...

MySQLデッドロック問題の詳細な分析

序文私たちのビジネスがまだ初期段階にあり、同時実行の度合いが比較的低い場合、数年間はデッドロックの問...

iframe テクニックを使用して訪問者 QQ 実装のアイデアとサンプル コードを取得する

今日、仕事中に、一時的に追加した友人から、Web ページを使用して訪問者の QQ を取得する方法を尋...

MySQL 8.0はJSONを扱えるようになりました

目次1. 概要2. JSON基本ツール3. JSONパス式4. JSONを検索して変更する序文:長い...

GZIP 圧縮 Tomcat と Web パフォーマンスの改善プロセス図

1. はじめに最近、あるプロジェクトに取り組んでいたのですが、サーバーからクライアントに返される J...

Nginx で Basic Auth ログイン認証を設定する方法

nginx でファイルサーバーを構築することもありますが、これは一般に公開されていますが、サーバーが...

VMwareがモジュールディスクを早期に開けない場合の解決策の詳細な説明

VMWare (Virtual Machine ware) は、「仮想 PC」ソフトウェア会社です。...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...

MySQLでよく使われる文字列関数トップ10の詳細な説明

こんにちは、みんな!技術の話ばかりで髪は切らないトニーです。データベース関数は、何らかの機能を持ち、...

MySQLのネストされたトランザクションで発生する問題

MySQL はネストされたトランザクションをサポートしていますが、それを実行する人は多くありません....

React 国際化 react-i18next の詳細な説明

導入react-i18next は、 i18nextをベースにした強力な国際化フレームワークです。 ...

Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)

この記事では、Windows プラットフォームで ogg プログラムを監視する方法を紹介します。 (...

Dockerは複数のポートマッピングコマンドを有効にします

次のように: docker run -d -p 5000:23 -p 5001:22 --name ...