㈠ mysql批量更新,數據存在則更新,不存在則插入
首先,要為工號欄位user_no建立唯一索引。
SQL語句使用REPLACE代替INSERT即可,例如:
REPLACE INTO 表名 (user_no, username, sex) values (123, 'xyz', '女');
上面語句執行時候會欄位判斷123的user_no是否存在,存在就替換其名字和性別,否則就插入整行。
㈡ MySQL有辦法批量更新所有表的同一名稱的欄位嗎
MYSQL資料庫欄位內容批量更新:
利用sql中case when結構可以根據不同的條件批量更新,舉例如下:
UPDATE order
SET display_order = CASE id
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
這句sql的意思是,更新display_order 欄位,如果id=1 則display_order 的值為3,如果id=2 則 display_order 的值為4,如果id=3 則 display_order 的值為5。
㈢ mysql 批量更新10000+的數據,有什麼效率比較高的方法
首先, 插入上萬條數據,對於資料庫來說並不是「很大」的工作量,一般配置的筆記本電腦都可以在1分鍾內完成。 所以最簡單、最靈活的辦法還是寫SQL語句。
如果不希望DB編譯器每次執行都編譯SQL的話,可以使用存儲過程,直接調用,性能上會好很多。也比較簡單。
(幾萬條數據怎麼地也得要時間去處理,所以不可能特別快的。)
如果由於各種原因,導致這個插入還是很慢, 而且你的MYSQL又是5.0以上版本的話,可以使用BulkCopy來進行批量操作。
BulkCopy的原理就是Client直接把一個數組(DataTable)傳給DB,然後傳入表名,所有的編譯、操作都由DB自己完成,效率很高。
引用MySql.Data.dll , 調用MysqlBulkCopy函數即可。
這個函數在處理海量數據插入的時候效率尤為明顯, 小量數據反而沒什麼優勢,而且由於傳入的DataTable格式必須和表的欄位一模一樣(空的列也要傳進去),導致C#要寫很多代碼來構造這個數組,所以要你自己權衡用還是不用。
我在自己的電腦上批量插入一億條數據,Insert寫法大概需要1小時,BulkCopy大概只需要5分鍾。
㈣ mysql update 批量更新多個條件同一個欄位
如果不是動態的uid,那就直接寫一條SQL,也是用in(),
還有如果想保存已修改的uid,可以建個臨時表,一個欄位,把uid寫入進去,然後關聯查詢並更新主表
㈤ mysql批量修改欄位動態內容的sql語句怎麼寫
如果表a有自增長ID的話就很好辦了 update a set b = id 如果沒的話寫一個PHP的小程序就好
<?php
$con = mysql_connect("localhost","root","password") or die("資料庫連接失敗".mysql_error());//連接資料庫
mysql_select_db("test",$con) or die ("資料庫選擇失敗".mysql_error());
mysql_query("set names gbk");//設置編碼格式
$a = mysql_query("select * from a");
$n = 1;
while($b = mysql_fetch_array($a))
{
mysql_query("update a set b = "."'".$n."'"." where id = ".$b['id']); //where 後面的條件語句可以是任意該表內欄位
$n++;
}
㈥ MYSQL執行sql語句,批量更改為指定時間段的隨機時間
1、首先打開mysql,連接一個資料庫,點擊上方的【查詢】按鈕,再點擊【新建查詢】,如圖所示。
㈦ mysql批量更新多表數據
mysql批量更新多表數據
update 庫2.tb,庫1.tb set 庫2.tb.body=庫1.tb.body where 庫2.tb.id= 庫1.tb.id
㈧ MYSQL資料庫欄位內容如何批量更新
MYSQL資料庫欄位內容批量更新:
利用sql中case when結構可以根據不同的條件批量更新,舉例如下:
UPDATE order
SET display_order = CASE id
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
這句sql的意思是,更新display_order 欄位,如果id=1 則display_order 的值為3,如果id=2 則 display_order 的值為4,如果id=3 則 display_order 的值為5。
㈨ mysql批量update怎麼寫
首先,要為工號欄位user_no建立唯一索引。 SQL語句使用REPLACE代替INSERT即可,例如: REPLACE INTO 表名 (user_no, username, sex) values (123, 'xyz', '女'); 上面語句執行時候會欄位判斷123的user_no是否存在,存在就替換其名字和性別
㈩ 大批量插入數據,mysql批量更新與插入多種
mysql的項目,需要設計一個快速上載的機制。最後的解決辦法是利用了mysql的預處理語句的特性實現的。mysql的預處理語句支持多行數據的預處理,即 insert into (columnName,columnName,...) values(?,?,...)(?,?,..)...。這樣你在綁定輸入參數的時候可以在程序里將整張表的數據都綁定好然後調用一次執行就能將整張表的數據插入,比用mysql_query一行一行插入省的幾倍的時間。不過你一次發到mysql伺服器端的數據多的情況下,要設置my.ini文件下的一個配置項,把伺服器允許一次發送的數據包的大小調大就行。