mysql批量修改某欄位的值
sql語句一直停留在最最基本的增刪改查水平,遇到一個批量更改資料庫某欄位的值的需求,通過查閱資料積累下來吧。
需求是把sex為'1'的資料的headpicture改為'1.png',sex為'0'的資料的headpicture改為'0.png'。
修改語句:
update t_user set t_user.headpicture= REPLACE (headpicture,'3','1.png') where t_user.sex='1';
這種方法適用於原headpicture欄位值不為空的情況下。我的原資料是空,用這種方法還要先給headpicture賦值。
't_user'是表名,'headpicture'是要修改的欄位名,replace(修改後的欄位名,'被修改的內容','修改後的內容'),where後可以設定一些修改的前提條件。
總感覺上述方法比較笨,不應該這麼複雜的,於是就找到了一個可以直接修改,無視空值的方法是:
update t_user set headpicture ='0.png' where sex ='0';
總結:
這麼簡單的句子都不能信手拈來,sql語句還需要多練多寫呀。
相關推薦
mysql批量修改某欄位的值
sql語句一直停留在最最基本的增刪改查水平,遇到一個批量更改資料庫某欄位的值的需求,通過查閱資料積累下來吧。 需求是把sex為'1'的資料的headpicture改為'1.png',sex為'0'的資
MySQL 批量修改某一列的值為另外一個字段的值
效率 請求 chang 如果 app 問題 並不是 bsp div mysql> select * from fruit; +----+--------+-------+ | id | name | price | +----+--------+-------+
MySQL根據某一個或者多個欄位查詢重複資料,並且保留某欄位值最大的記錄
問題場景 當系統沒有處理好併發操作的情況下,操作人員同時操作一張表的情況下,資料庫有可能被插入相同記錄,這些會帶來隱藏的bug。 解決思路一 解決併發操作的衝突。 解決思路二 對資料庫(MySQL)某張表去重,首先確定你的業務是否允許重複,不允許你
mysql 批量修改表中欄位資料成不同的值 用一個表更新另一個表的方法
首先mysql更新資料的某個欄位,一般這樣寫: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 也可以這樣用in指定要更新的記錄: UPDATE mytable SET myfield = 'value
Thinkphp中如何表達MYSQL中的某欄位不為空is not null
Thinkphp 的文件經常不夠完整的表達MYSQL的各種組合,很多東西需要被嘗試後才能知道,筆者就遇到過一個問題,MYSQL查詢語句中有個表示式is not null ,在thinkphp中就不能用“=” 或者簡單的eq等來表示。 有一種變相的處理方法就是直接把where中的array引數換成st
MySQL 查詢表中某個欄位值重複的記錄
MySQL中,查詢表(dat_bill_2018_11)中欄位(product_id)值重複的記錄: SELECT product_id, COUNT(*) AS COUNT FROM dat_bill_201811 GROUP BY product_id HAVING COUNT > 1;
delphi 取得資料集某欄位值的六種方法
//取name欄位的示例 edit1.Text:=ADOquery1.Fields[2].AsString; //取得資料表的第二個欄位的值 edit2.Text:=ADOquery1.FieldValues['name']; edit3.Text:=
java mongo 修改某個欄位值
Query query = new Query(); query.addCriteria(Criteria.where("videoNum").is(videoNum)); query.addCriteria(Criteria.where("userno").is(user
MySQL 模糊查詢某欄位用逗號隔開
1. 查詢pnum欄位中包含3或者9的記錄 SELECT * FROM test WHERE find_in_set('3',pnum) OR find_in_set('9',pnum); SELECT * FROM test WHERE CONCAT(',',pnum,'
【MYSQL】判斷某個欄位值是否包含於某個字串中
SQL函式:INSTR(str1,str2); //mysql中的語法似乎只支援2個引數 引數說明:str1:在這個字串中查詢、str2:欄位值 舉個例子:查詢出名字在字串“張三王五朱六”出現的記錄 表資料:
把A表的某欄位值賦B表中的某欄位
CREATE TABLE zhtt_a ( a VARCHAR2(10),b VARCHAR2(10) ); CREATE TABLE zhtt_b ( a VARCHAR2(10),b VARCHAR2(10) ); insert into zhtt_a values(
sql的update語句 批量更新某欄位
Mysql: 1 有時候要實現欄位的批量替換 update 表名 set 欄位A = replace(欄位A ,"png","jpg" ); 2 批量拼接字串到某欄位 update 表名 set 欄位A = CONCAT( 欄位A , "xxx" ); up
thinkphp下批量修改某個欄位
<form action="" method="post" id="formtable"> <div class="opera-td" > <a href="javascript:;" class="button audi
MySQL ifnull函式判斷欄位值為null時使用預設值
在使用left join等聯表查詢時,常遇到某些欄位為null,一般都在後臺語言使用if a==null 判斷做處理,其實MySQL本身也有一個ifnull函式可以處理。 假設有兩張表 name表: 1 2 3 4 5 6 7 8 9 10 mysql>
mysql 在修改新增欄位(alter table 表名 add column 或者 modify column)且帶unique時提示duplicate entry for key的原因以及解決方案
今天在公司臨時維護一張表時,我作了一個小動作,新增一個欄位,並且設定為unique時,盡然無法新增欄位,我當時就納悶了,寫了這麼多sql,這麼奇怪的問題還是第一次見,不多說,直接看圖 【我的sql檔案如下】 【執行sql語句報錯:alter table smart_
thinkphp修改某欄位
thinkphp3.0增加setInc、setDec方法,今天檢視thinkphp2.0的方法setInc、setDec時是這樣寫的: 而對於統計欄位(通常指的是數字型別)的更新,系統還提供了 setInc 和 setDec 方法: $User = M( "User"
Oracle 修改某欄位允許為null
待修改欄位假定為:shuifen 1.當該欄位為空時,可直接修改: alter table reportqymx modify shuifen null; 2.當待修改欄位不為空時: 新增一列 把要改變的列的值轉移過去並清空原列的值 改變列的資料型別
DB2修改某欄位某位資料
修改或擷取表某欄位某位資料,如某欄位長120位,現需擷取第9開始長度位12位的資料? 可採用以下兩種關鍵字: 1.REGHT 2.SUBSTR(OS390更常用) 語法如下: 該關鍵字相關用法案例: 1. 2. 3. 4. 5. .....等等,參考《..SQL
mysql alter修改列欄位的長度型別名稱詳解
mysql 修改欄位長度 alter table news modify column titlevarchar(130); alter table 表名 modify column 欄位名 型別; 如:news 表裡的title 欄位 原來長度是100個字元,現長度要改成130個字元 alter ta
Mysql查詢按照某欄位指定順序排序
SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY FIELD(id,5,3,6,1); 或者 SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY subst