MySQL 常用的UPDATE操作_MySQL

May 27, 2016 pm 01:46 PM
よく使われる

概述  

 

测试环境:mysql 5.6.21

 

 

 

步骤

 

创建测试表

 

 

CREATE TABLE `product` (

   `proID` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品表主键',

   `price` decimal(10,2) NOT NULL COMMENT '商品价格',

   `type` int(11) NOT NULL COMMENT '商品类别(0生鲜,1食品,2生活)',

   `dtime` datetime NOT NULL COMMENT '创建时间',

   PRIMARY KEY (`proID`)

 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='商品表';

 

CREATE TABLE `producttype` (

   `ID` int(11) NOT NULL COMMENT '商品类别(0生鲜,1食品,2生活)',

   `amount` int(11)  COMMENT '每种类别商品总金额',

   UNIQUE KEY (`ID`)

 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品类别资金汇总表'

 

插入测试数据

 

INSERT INTO product(price,type,dtime) VALUES(10.00,0,now()),(10.00,1,now()),(10.00,1,now()),(20.00,2,now()),(30.00,3,now());

 

INSERT INTO producttype(ID) VALUES(1),(2),(3);

SELECT * FROM  product;

 

SELECT * FROM producttype;

MySQL 常用的UPDATE操作_MySQL

 

 单表更新操作

 

UPDATE product

SET price='20.00',type=0 

WHERE proID=2;

MySQL 常用的UPDATE操作_MySQL

 

 关联更新操作 

 

UPDATE producttype,product

SET producttype.amount=product.price

where product.TYPE = producttype.ID AND product.TYPE=1;

MySQL 常用的UPDATE操作_MySQL

 

 1.查询所有字段

 

INSERT INTO producttype(ID) VALUES(4);

UPDATE producttype

SET producttype.amount= (SELECT ifnull(SUM(product.price),0.00)    FROM product WHERE product.TYPE = producttype.ID GROUP BY product.TYPE);

 

MySQL 常用的UPDATE操作_MySQL

注意:大家注意看到rows matched:4,表示符合条件的记录是4条,实际更新了三条,关联语句默认不去判断里面的关联的实际行。

 

2.只查询需要更新的字段

 

UPDATE producttype

SET amount=null;

 

UPDATE producttype,product

    SET producttype.amount= 

       (SELECT ifnull(SUM(product.price),0.00)

          FROM product

             WHERE product.TYPE = producttype.ID

             GROUP BY product.TYPE)

 where product.TYPE = producttype.ID;

 

 

 

改用下面这种方法:Rows matched:3,查询到了符合条件的行是3行,没有查询无关联的行。

 

总结

 

 mysql的update的关联操作在5.6中后面不能直接接FROM语句,只能UPDATE 所有的连接表然后WHERE,如果之前有事情其它数据库产品的习惯在这里要注意了。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

キャンバス フレームワークを学び、一般的に使用されるキャンバス フレームワークについて詳しく説明します キャンバス フレームワークを学び、一般的に使用されるキャンバス フレームワークについて詳しく説明します Jan 17, 2024 am 11:03 AM

Canvas フレームワークを探索する: 一般的に使用される Canvas フレームワークを理解するには、特定のコード例が必要です。 はじめに: Canvas は HTML5 で提供される描画 API であり、これを通じて豊富なグラフィックスやアニメーション効果を実現できます。描画の効率と利便性を向上させるために、多くの開発者がさまざまな Canvas フレームワークを開発しました。この記事では、一般的に使用される Canvas フレームワークをいくつか紹介し、読者がこれらのフレームワークの使用方法をより深く理解できるように、具体的なコード例を示します。 1.EaselJSフレームワークEa

Spring アノテーションの公開: 一般的なアノテーションの分析 Spring アノテーションの公開: 一般的なアノテーションの分析 Dec 30, 2023 am 11:28 AM

Spring は、Java 開発を簡素化し、強化するための多くのアノテーションを提供するオープンソース フレームワークです。この記事では、一般的に使用される Spring アノテーションについて詳しく説明し、具体的なコード例を示します。 @Autowired: Autowired @Autowired アノテーションを使用して、Spring コンテナーに Bean を自動的に接続できます。依存関係が必要な場合に @Autowired アノテーションを使用すると、Spring はコンテナー内で一致する Bean を見つけて自動的に注入します。サンプルコードは次のとおりです。

15一般的に使用される通貨サークルエスケープインデックステクノロジー分析 15一般的に使用される通貨サークルエスケープインデックステクノロジー分析 Mar 03, 2025 pm 05:48 PM

上位15のビットコインエスケープインデックスの詳細な分析:2025の市場見通しこの記事では、15の一般的に使用されるビットコインエスケープインデックスを深く分析します。投資家は潜在的なリスクにどのように対処すべきですか?これらの指標を1つずつ解釈し、合理的な対応戦略を探りましょう。 1.キーインジケーターの詳細な説明AHR999コイン買いだめ指標:AHR999によって作成され、ビットコイン固定投資戦略の支援。現在の値は1.21で、これは待機中の範囲にあるため、注意することをお勧めします。 AHR999へのリンクエスケープトップインジケーター:AHR999コインの貯蔵インジケーターのサプリメントは、市場のトップを識別するために使用されます。現在の値は今週2.48です

PHP で一般的に使用される暗号化アルゴリズムは何ですか? PHP で一般的に使用される暗号化アルゴリズムは何ですか? May 12, 2023 pm 06:51 PM

インターネットの発展に伴い、データのセキュリティは私たちが日々の業務で注意を払わなければならない深刻な問題となっています。機密性の高い個人情報やビジネス データに関しては、暗号化が特に重要になります。 PHP の開発では、いくつかの暗号化アルゴリズムが広く使用されています。PHP で一般的に使用される暗号化アルゴリズムを見てみましょう。 1. Base64 エンコード Web ページや電子メールでは文字列型データのみを送信でき、バイナリ データを直接送信できないため、Web ページや電子メールでバイナリ データを送信する場合は、Base64 エンコードがよく使用されます。 Base64 は解決策です

Oracle データベースの一般的なデータ型の概要 Oracle データベースの一般的なデータ型の概要 Mar 08, 2024 am 09:45 AM

Oracle データベースは、さまざまなニーズを満たすために複数のデータ型をサポートする、一般的に使用されるリレーショナル データベース管理システムです。 Oracle データベースを使用する場合、データベースのデータ型を理解することが非常に重要です。この記事では、Oracle データベースで一般的に使用されるデータ型を、具体的なコード例とともに紹介します。 1. 数値データ型 NUMBERNUMBER は、Oracle データベースで最も一般的に使用される数値データ型で、整数または浮動小数点数を格納するために使用されます。 NUMBER データ型では精度を指定できます

Go言語でよく使われる関数は何ですか? Go言語でよく使われる関数は何ですか? Mar 28, 2024 pm 02:45 PM

Go言語でよく使われる関数は何ですか? ——Go 言語でよく使われる関数とその使い方を探る Go 言語は、人気のある静的型付けプログラミング言語として、サーバーサイド開発、ネットワーク プログラミング、クラウド コンピューティングなど、さまざまな分野で広く使用されています。 Go 言語では、基本的なコード構成単位としての関数は、プログラム実行の重要な部分です。この記事では、読者がこの言語の中核的な機能をよりよく理解できるように、Go 言語で一般的に使用される関数とその使用法について説明します。 1. Go言語での関数宣言とキーワード「fun」による関数呼び出し

DevOps では Ruby と Python のどちらがより一般的に使用されますか? DevOps では Ruby と Python のどちらがより一般的に使用されますか? Aug 19, 2023 am 11:41 AM

ソフトウェア開発の分野は長期にわたって劇的に変化し、DevOps は現代のコンピューター プログラム配信プロセスに不可欠な部分となっています。コンピューター プログラムの開発と運用のプロセスを合理化するために、DevOps はコラボレーション、継続的統合、ノンストップ デリバリの文化を促進します。プログラミング言語の選択は、DevOps を効率的に利用する上で重要な役割を果たします。この分野の 2 つのよく知られた候補は、Ruby と Python です。ここでは、DevOps 環境における Ruby と Python の選択、人気、使用例について見ていきます。 DevOps のニーズに最適な言語を決定できるよう、それぞれの独自の機能、利点、欠点を調査します。セクション 1: Ruby と Python

Java で一般的に使用されるデータ構造は何ですか? Java データ構造の詳細な分析 Java で一般的に使用されるデータ構造は何ですか? Java データ構造の詳細な分析 Jan 09, 2024 pm 11:29 PM

Java は広く使用されているプログラミング言語であり、データ構造は開発プロセスに不可欠な部分です。データ構造は、データの整理と管理に役立ち、プログラムの実行効率を向上させます。 Java で一般的に使用されるデータ構造には、配列、リンク リスト、スタック、キュー、ツリー、グラフなどが含まれます。この記事では、これらの一般的に使用される Java データ構造を詳細に分析し、具体的なコード例を示します。 1. 配列 配列は、同じ型の要素を格納できる線形データ構造です。 Java では、次のように宣言できます。

See all articles