Mysql跨表更新 多表update sql语句总结
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两个字段。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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.

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

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.

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.

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 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
