Rumah pangkalan data tutorial mysql mysql insert 语法_MySQL

mysql insert 语法_MySQL

Jun 01, 2016 pm 01:51 PM
tatabahasa

INSERT语法INSERT [LOW_PRIORITY |DELAYED| HIGH_PRIORITY] [IGNORE]       [INTO]tbl_name[(col_name,...)]       VALUES ({expr| DEFAULT},...),(...),...       [ON DUPLICATE KEY UPDATEcol_name=expr, ... ]或:INSERT [LOW_PRIORITY |DELAYED| HIGH_PRIORITY] [IGNORE]       [INTO]tbl_name       SETcol_name={expr| DEFAULT}, ...       [ON DUPLICATE KEY UPDATEcol_name=expr, ... ]或:INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]       [INTO]tbl_name[(col_name,...)]       SELECT ...       [ON DUPLICATE KEY UPDATEcol_name=expr, ... ] 一、DELAYED的使用

 

使用延迟插入操作DELAYED调节符应用于INSERT和REPLACE语句。当DELAYED插入操作到达的时候,服务器把数据行放入一个队列中,并立即给客户端返回一个状态信息,这样客户端就可以在数据表被真正地插入记录之前继续进行操作了。如果读取者从该数据表中读取数据,队列中的数据就会被保持着,直到没有读取者为止。接着服务器开始插入延迟数据行(delayed-row)队列中的数据行。在插入操作的同时,服务器还要检查是否有新的读取请求到达和等待。如果有,延迟数据行队列就被挂起,允许读取者继续操作。当没有读取者的时候,服务器再次开始插入延迟的数据行。这个过程一直进行,直到队列空了为止。几点要注意事项:· INSERT DELAYED应该仅用于指定值清单的INSERT语句。服务器忽略用于INSERT DELAYED...SELECT语句的DELAYED。· 服务器忽略用于INSERT DELAYED...ON DUPLICATE UPDATE语句的DELAYED。· 因为在行被插入前,语句立刻返回,所以您不能使用LAST_INSERT_ID()来获取AUTO_INCREMENT值。AUTO_INCREMENT值可能由语句生成。· 对于SELECT语句,DELAYED行不可见,直到这些行确实被插入了为止。· DELAYED在从属复制服务器中被忽略了,因为DELAYED不会在从属服务器中产生与主服务器不一样的数据。注意,目前在队列中的各行只保存在存储器中,直到它们被插入到表中为止。这意味着,如果您强行中止了mysqld(例如,使用kill -9)或者如果mysqld意外停止,则所有没有被写入磁盘的行都会丢失。

 

二、IGNORE的使用

 

IGNORE是MySQL相对于标准SQL的扩展。如果在新表中有重复关键字,或者当STRICT模式启动后出现警告,则使用IGNORE控制ALTER TABLE的运行。如果没有指定IGNORE,当重复关键字错误发生时,复制操作被放弃,返回前一步骤。如果指定了IGNORE,则对于有重复关键字的行,只使用第一行,其它有冲突的行被删除。并且,对错误值进行修正,使之尽量接近正确值。insert ignore into tb(...) value(...)这样不用校验是否存在了,有则忽略,无则添加

 

三、ON DUPLICATE KEY UPDATE的使用

 

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE。例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果:mysql>INSERT INTO table (a,b,c) VALUES (1,2,3)       ->ON DUPLICATE KEY UPDATE c=c+1; mysql>UPDATE table SET c=c+1 WHERE a=1;如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2。注释:如果列b也是唯一列,则INSERT与此UPDATE语句相当:mysql>UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;如果a=1 OR b=2与多个行向匹配,则只有一个行被更新。通常,您应该尽量避免对带有多个唯一关键字的表使用ON DUPLICATE KEY子句。您可以在UPDATE子句中使用VALUES(col_name)函数从INSERT...UPDATE语句的INSERT部分引用列值。换句话说,如果没有发生重复关键字冲突,则UPDATE子句中的VALUES(col_name)可以引用被插入的col_name的值。本函数特别适用于多行插入。VALUES()函数只在INSERT...UPDATE语句中有意义,其它时候会返回NULL。示例:mysql>INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)       ->ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);本语句与以下两个语句作用相同:mysql>INSERT INTO table (a,b,c) VALUES (1,2,3)       ->ON DUPLICATE KEY UPDATE c=3;mysql>INSERT INTO table (a,b,c) VALUES (4,5,6)       ->ON DUPLICATE KEY UPDATE c=9;当您使用ON DUPLICATE KEY UPDATE时,DELAYED选项被忽略。 总结:DELAYED 做为快速插入,并不是很关心失效性,提高插入性能。        ignore     只关注主键对应记录是不存在,无则添加,有则忽略。     ON DUPLICATE KEY UPDATE 在添加时操作,关注非主键列,注意与ignore的区别。有则更新指定列,无则添加。 
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 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 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 menukar kod Python anda dengan cepat menjadi API Bagaimana untuk menukar kod Python anda dengan cepat menjadi API Apr 14, 2023 pm 06:28 PM

Apabila bercakap tentang pembangunan API, anda mungkin memikirkan DjangoRESTFramework, Flask, dan FastAPI Ya, ia boleh digunakan untuk menulis API Walau bagaimanapun, rangka kerja yang dikongsi hari ini membolehkan anda menukar fungsi sedia ada kepada API dengan lebih pantas. Pengenalan kepada Sanic Sanic[1] ialah pelayan web Python3.7+ dan rangka kerja web yang direka untuk meningkatkan prestasi. Ia membenarkan penggunaan sintaks async/menunggu yang ditambahkan dalam Python 3.5, yang boleh mengelakkan sekatan dan meningkatkan kelajuan tindak balas dengan berkesan. Sanic komited untuk menyediakan cara yang mudah dan pantas untuk mencipta dan melancarkan

Sintaks alias jenis baharu dalam PHP8.0 Sintaks alias jenis baharu dalam PHP8.0 May 14, 2023 pm 02:21 PM

Dengan keluaran PHP 8.0, sintaks alias jenis baharu telah ditambah, menjadikannya lebih mudah untuk menggunakan jenis tersuai. Dalam artikel ini, kita akan melihat dengan lebih dekat sintaks baharu ini dan kesannya terhadap pembangun. Apakah jenis alias? Dalam PHP, alias jenis pada dasarnya adalah pembolehubah yang merujuk nama jenis lain. Pembolehubah ini boleh digunakan seperti mana-mana jenis lain dan diisytiharkan di mana-mana dalam kod. Fungsi utama sintaks ini adalah untuk menentukan alias tersuai untuk jenis yang biasa digunakan, menjadikan kod lebih mudah dibaca dan difahami.

Apakah ciri sintaks dan struktur bagi ungkapan lambda? Apakah ciri sintaks dan struktur bagi ungkapan lambda? Apr 25, 2024 pm 01:12 PM

Ungkapan Lambda ialah fungsi tanpa nama tanpa nama, dan sintaksnya ialah: (parameter_list)->expression. Mereka menampilkan ketanpa nama, kepelbagaian, kari dan penutupan. Dalam aplikasi praktikal, ungkapan Lambda boleh digunakan untuk mentakrifkan fungsi secara ringkas, seperti fungsi penjumlahan sum_lambda=lambdax,y:x+y, dan gunakan fungsi map() pada senarai untuk melaksanakan operasi penjumlahan.

Sambungan dan perbezaan antara bahasa Go dan JS Sambungan dan perbezaan antara bahasa Go dan JS Mar 29, 2024 am 11:15 AM

Sambungan dan perbezaan antara bahasa Go dan bahasa JS Go (juga dikenali sebagai Golang) dan JavaScript (JS) adalah bahasa pengaturcaraan yang popular pada masa ini. Ia berkaitan dalam beberapa aspek dan mempunyai perbezaan yang jelas dalam aspek lain. Artikel ini akan meneroka perkaitan dan perbezaan antara bahasa Go dan JavaScript, dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik kedua-dua bahasa pengaturcaraan ini. Sambungan: Kedua-dua bahasa Go dan JavaScript adalah platform merentas dan boleh dijalankan pada sistem pengendalian yang berbeza.

Sintaks panggilan kelas induk dalam PHP8.0 Sintaks panggilan kelas induk dalam PHP8.0 May 14, 2023 pm 01:00 PM

PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas dalam pembangunan Web, dan versi PHP8.0 memperkenalkan sintaks panggilan kelas induk baharu untuk menjadikan pengaturcaraan berorientasikan objek lebih mudah dan ringkas. Dalam PHP, kita boleh mencipta kelas induk dan satu atau lebih subkelas melalui pewarisan. Subkelas boleh mewarisi sifat dan kaedah kelas induk, dan boleh mengubah suai atau melanjutkan fungsinya dengan mengatasi kaedah kelas induk. Dalam warisan PHP biasa, jika kita ingin memanggil kaedah kelas induk dalam subkelas, kita perlu menggunakan kata kunci induk untuk merujuk kepada induk

Ketahui sintaks asas menggunakan pemilih CSS Ketahui sintaks asas menggunakan pemilih CSS Jan 13, 2024 am 11:44 AM

Untuk menguasai sintaks pemilih CSS asas, contoh kod khusus diperlukan adalah bahagian yang sangat penting dalam pembangunan bahagian hadapan Ia boleh digunakan untuk memilih dan mengubah suai pelbagai elemen dokumen HTML. Menguasai sintaks pemilih CSS asas adalah penting untuk menulis helaian gaya yang cekap. Artikel ini akan memperkenalkan beberapa pemilih CSS biasa dan contoh kod yang sepadan. Pemilih elemen Pemilih elemen ialah pemilih paling asas, yang boleh memilih elemen yang sepadan dengan nama tegnya. Contohnya, untuk memilih semua perenggan (elemen p), anda boleh gunakan

Penggunaan dan sintaks operasi eksponen dalam bahasa C Penggunaan dan sintaks operasi eksponen dalam bahasa C Feb 18, 2024 pm 04:05 PM

Pengenalan kepada sintaks dan penggunaan operasi kuasa dalam bahasa C: Dalam bahasa C, operasi kuasa (operasi kuasa) ialah operasi matematik biasa, yang digunakan untuk mengira kuasa nombor. Dalam bahasa C, kita boleh menggunakan fungsi perpustakaan standard atau fungsi tersuai untuk melaksanakan operasi eksponen. Artikel ini akan memperkenalkan sintaks dan penggunaan operasi eksponen dalam bahasa C secara terperinci, dan memberikan contoh kod khusus. 1. Gunakan fungsi pow() dalam math.h Dalam bahasa C, fungsi pow() disediakan dalam pustaka standard math.h untuk dilaksanakan

Apakah perbezaan antara C dan C++? Apakah perbezaan antara C dan C++? Aug 29, 2023 pm 11:53 PM

Bahasa pengaturcaraan C C ialah bahasa peringkat tinggi tujuan umum yang pada asalnya dibangunkan oleh Dennis M. Ritchie di Bell Labs untuk membangunkan sistem pengendalian UNIX. C mula dilaksanakan pada tahun 1972 pada komputer DECPDP-11. Pada tahun 1978, Brian Kernighan dan Dennis Ritchie menghasilkan huraian pertama yang tersedia secara terbuka bagi C, yang kini dikenali sebagai standard K&R. Sistem pengendalian UNIX, pengkompil C, dan hampir semua aplikasi UNIX ditulis dalam C. Atas pelbagai sebab, bahasa C kini telah menjadi bahasa profesional yang digunakan secara meluas. Ia adalah bahasa berstruktur yang mudah dipelajari, ia menghasilkan program yang cekap, ia boleh mengendalikan aktiviti peringkat rendah, dan ia boleh berjalan pada pelbagai komputer.

See all articles