Rumah pangkalan data tutorial mysql Mysql跨表更新 多表update sql语句总结

Mysql跨表更新 多表update sql语句总结

Jun 07, 2016 pm 05:55 PM
pernyataan sql kenyataan kemas kini

Mysql跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法,需要的朋友可以参考下

假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式:
代码如下:
UPDATE product p, productPrice pp
SET pp.price = pp.price * 0.8
WHERE p.productId = pp.productId
AND p.dateCreated
另外一种方法是使用inner join然后更新:
代码如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8
WHERE p.dateCreated
另外我们也可以使用left outer join来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:
代码如下:
UPDATE product p
LEFT JOIN productPrice pp
ON p.productId = pp.productId
SET p.deleted = 1
WHERE pp.productId IS null

另外,上面的几个例子都是两张表之间做关联,但是只更新一张表中的记录,其实是可以同时更新两张表的,如下sql:
代码如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8,
p.dateUpdate = CURDATE()
WHERE p.dateCreated
两张表做关联,更新了ProductPrice表的price字段和Product表字段的dateUpdate两个字段。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan pernyataan sql untuk menanyakan struktur penyimpanan pangkalan data mysql Bagaimana untuk menggunakan pernyataan sql untuk menanyakan struktur penyimpanan pangkalan data mysql Apr 14, 2024 pm 07:45 PM

Untuk menanyakan struktur storan pangkalan data MySQL, anda boleh menggunakan pernyataan SQL berikut: SHOW CREATE TABLE table_name pernyataan ini akan mengembalikan definisi lajur dan maklumat pilihan jadual bagi jadual, termasuk nama lajur, jenis data, kekangan dan sifat umum jadual; , seperti enjin storan dan set aksara.

Bagaimana untuk mengeksport data yang ditanya dalam navicat Bagaimana untuk mengeksport data yang ditanya dalam navicat Apr 24, 2024 am 04:15 AM

Eksport hasil pertanyaan dalam Navicat: Laksanakan pertanyaan. Klik kanan hasil pertanyaan dan pilih Eksport Data. Pilih format eksport seperti yang diperlukan: CSV: Pemisah medan ialah koma. Excel: Termasuk pengepala jadual, menggunakan format Excel. Skrip SQL: Mengandungi pernyataan SQL yang digunakan untuk mencipta semula hasil pertanyaan. Pilih pilihan eksport (seperti pengekodan, pemisah baris). Pilih lokasi eksport dan nama fail. Klik "Eksport" untuk memulakan eksport.

Bagaimana untuk melaksanakan pernyataan sql dalam pangkalan data mysql Bagaimana untuk melaksanakan pernyataan sql dalam pangkalan data mysql Apr 14, 2024 pm 07:48 PM

Penyata MySQL SQL boleh dilaksanakan dengan: Menggunakan MySQL CLI (Antaramuka Talian Perintah): Log masuk ke pangkalan data dan masukkan pernyataan SQL. Menggunakan MySQL Workbench: Mulakan aplikasi, sambung ke pangkalan data, dan laksanakan pernyataan. Gunakan bahasa pengaturcaraan: import perpustakaan sambungan MySQL, buat sambungan pangkalan data, dan laksanakan pernyataan. Gunakan alat lain seperti Pelayar DB untuk SQLite: muat turun dan pasang aplikasi, buka fail pangkalan data dan laksanakan penyata.

Bagaimana untuk menulis auto-increment dalam mysql Bagaimana untuk menulis auto-increment dalam mysql Apr 27, 2024 am 01:54 AM

Peningkatan automatik dalam MySQL ialah mekanisme yang menjana urutan nombor unik secara automatik, sering digunakan untuk kunci utama dan medan indeks unik. Untuk menetapkan kenaikan automatik, anda perlu menentukan atribut AUTO_INCREMENT semasa mencipta jadual, contohnya: CREATE TABLE my_table (id INT NOT NULL AUTO_INCREMENT, nama VARCHAR(255) NOT NULL). Kelebihan autokenaikan termasuk: memudahkan penjanaan kunci utama, meningkatkan prestasi sisipan dan memastikan keunikan. Walau bagaimanapun, medan dengan penambahan automatik didayakan tidak boleh ditetapkan kepada nilai kenaikan automatik tidak boleh diramalkan sebelum memasukkan secara manual nilai medan kenaikan automatik mungkin bercanggah dengan jujukan yang dijana secara automatik medan autokenaikan mungkin menjejaskan

Cara menggunakan explain dalam oracle Cara menggunakan explain dalam oracle May 03, 2024 am 12:06 AM

Perintah EXPLAIN dalam Oracle digunakan untuk menganalisis pelan pelaksanaan pernyataan SQL Kaedah penggunaan adalah untuk menambah kata kunci EXPLAIN sebelum pernyataan SQL. EXPLAIN keputusan mengandungi maklumat seperti ID, jenis operator, anggaran kiraan baris, anggaran kos, anggaran kiraan baris output, predikat akses dan predikat penapis, yang boleh digunakan untuk mengoptimumkan prestasi pertanyaan, mengenal pasti pengendali yang mahal dan jadual yang mungkin mendapat manfaat daripada pengoptimuman teknik.

Bagaimana untuk menulis pernyataan sql dalam mysql Bagaimana untuk menulis pernyataan sql dalam mysql Apr 14, 2024 pm 07:48 PM

Penyata MySQL SQL ialah cara berinteraksi dengan pangkalan data MySQL dan boleh digunakan untuk mencipta pangkalan data, jadual, memasukkan, mengemas kini dan memadam data, serta mendapatkan dan menapis data. Sintaks secara amnya ialah: COMMAND [OPTIONS] [SASARAN] [WHERE CONDITION]. Sintaks asas termasuk membuat jadual, memasukkan data, mengemas kini data, memadam data dan menanya dan menapis data. MySQL juga menyokong pernyataan SQL yang lebih maju seperti menyertai jadual, subkueri dan urus niaga.

Bagaimana untuk memulihkan jadual data empire cms kepada normal selepas memadamkannya Bagaimana untuk memulihkan jadual data empire cms kepada normal selepas memadamkannya Apr 16, 2024 pm 08:52 PM

Selepas jadual data Imperial CMS dipadamkan secara tidak sengaja, ia boleh dipulihkan melalui kaedah berikut: 1. Pulihkan daripada sandaran 2. Gunakan perisian pemulihan data. Setelah data dipulihkan, ia boleh dipulihkan ke pangkalan data Imperial CMS menggunakan penyata SQL, alat import atau secara manual. Adalah disyorkan untuk membuat sandaran pangkalan data dengan kerap untuk mengelakkan kehilangan data.

Bagaimana untuk menyambung layui ke pangkalan data Bagaimana untuk menyambung layui ke pangkalan data Apr 26, 2024 am 01:51 AM

Bagaimana untuk menggunakan layui untuk menyambung ke pangkalan data? Anda boleh menyambung melalui langkah berikut: Memperkenalkan skrip layui, memperkenalkan modul pangkalan data, menulis kod sambungan, memproses hasil sambungan, menggunakan kaedah operasi pangkalan data untuk membuat pertanyaan atau mengemas kini

See all articles