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 を構築するためのソリューション

推薦する

htmlハイパーリンクaのクリックイベントの後、hrefで指定されたアドレスにジャンプします。

場合によっては、ジャンプを完了するために href の代わりにハイパーリンク <a> を...

Vueの自己ネストツリーコンポーネントの使い方の詳細な説明

この記事では、Vueの自己ネストツリーコンポーネントの使い方を参考までに紹介します。具体的な内容は次...

Mysql は非集計列を選択できません

1. はじめに最近ブログをアップグレードし、記事ページの下部に前の記事と次の記事に直接ジャンプできる...

MySQLにおける(JOIN/ORDER BY)文のクエリ処理と最適化方法

EXPLAIN ステートメントは、MySQL クエリ ステートメント プロセスと EXPLAIN ス...

MySQL クラスター化インデックスのページ分割原理の分析例

この記事では、MySQL クラスター化インデックスのページ分割を例を使って説明します。ご参考までに、...

Dockerで作成したコンテナを削除する方法

Dockerで作成したコンテナを削除する方法1. まず、docker -s -aコマンドを使用してす...

シンプルなプログレスバーを作成するための HTML+CSS

1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...

完全なMySQL学習ノート

目次MyISAM と InnoDBパフォーマンスの低下と SQL の速度低下の理由: MySQL 実...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...

MySQL 高可用性クラスタの展開とフェイルオーバーの実装

目次1. 内閣府1. コンセプト2. MHAの構成3. MHAの特徴2. MySQL+MHAをビルド...

MySQLデータベースの基本構文と操作

MySQLデータベースの基本構文DDL操作データベース作成構文: create database デ...

1 つの記事で Vuex を理解する

目次概要Vuex の 4 つの主要オブジェクト状態の使用突然変異の使用ゲッターの使用アクションの使用...

セマンティック HTML 構造の利点は何ですか?

1つ: 1.セマンティック タグは単なる HTML であり、CSS にはセマンティクスはありません...

入力と画像を揃えるためにvertical-alignを使用します

input と img を同じ行に配置すると、img タグが常に input より 1 つ上になり、...