MYSQL,分別用一條語句交換兩列的值與兩行的值

2022-08-30 04:27:10 字數 1076 閱讀 9105

測試表:

create

table

`test` (

`id`

int(11) not

null

auto_increment,

`name`

varchar(255) not

null,`

order`varchar(255)default

null

, primary

key(`id`) ) engine

=innodb auto_increment=

4default charset=utf8;

插入測試資料:

insert

into `bbkb_busticket`.`test` (`id`, `name`, `order`) values ('

1', '

張三', '0'

);insert

into `bbkb_busticket`.`test` (`id`, `name`, `order`) values ('

2', '

李四', '1'

);insert

into `bbkb_busticket`.`test` (`id`, `name`, `order`) values ('

3', '

王八蛋', '

2');

交換兩行中某個欄位的值:(將id=1、2的兩個order替換下)

update

test t1

join

test t2

on (t1.id =

2and t2.id =1)

set t1.`order` = t2.`order`,t2.`order`=t1.`order`;

交換兩列中某兩列的值:(將id=1的name 和 order 交換一下)

update test t1,test t2 set t1.`name` = t2.`order`,t1.`order` = t2.`name` where t1.id = t2.id

一條Update語句實現兩列值的交換

趙老闆,前些日子去某軟體公司筆試去了,拿到試卷,第乙個題就是 用一條update交換兩列的值 當然表是給定的。這還不簡單,上去就要寫,可是寫不出來,交換值肯定要用乙個中間變數來儲存。左思右想,還是沒有想出來,放棄,做下乙個題。趙老闆回來問這個自稱是sql高手的高總,聽了以後我的頭腦也暈了,沒有思路,...

mysql一條語句update多條記錄

通常情況下,我們會使用以下sql語句來更新字段值 update mytable set myfield value where other field other value 但是,如果你想更新多行資料,並且每行記錄的各字段值都是各不一樣,你會怎麼辦呢?剛開始你可能會想到使用迴圈執行多條update...

檢視一條mysql語句的效能

mysql資料庫在5.0.37版本後新增了show profiles功能,可以分析出一條sql語句的效能。檢查資料庫是否支援show profiles功能 show variables like version 檢視profiles是否開啟 show variables like pro 開啟命令 ...