日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
關(guān)于Sqlite數(shù)據(jù)庫(kù)Update語(yǔ)句的一點(diǎn)介紹

Sqlite數(shù)據(jù)庫(kù)中的Update語(yǔ)句,你能了解多少呢?因?yàn)檫@種微型數(shù)據(jù)庫(kù)用到的語(yǔ)句非常少,所以可能我們不會(huì)經(jīng)常的用到。但要想真正的玩轉(zhuǎn)sqlite這種微型數(shù)據(jù)庫(kù),掌握這些語(yǔ)句的用法是非常重要的。本文我們就來(lái)介紹一下update語(yǔ)句的使用。

1.典型的Update(支持)

 
 
 
  1. Update  
  2.  
  3. T1  
  4.  
  5. Set  
  6.  
  7. Column1=v1,  
  8.  
  9. Column2=V2 
  10.  
  11. Where  
  12.  
  13. key=V3; 

2.Update…From(很不幸,Sqlite是不支持的)

 
 
 
  1. UPDATE  
  2.  
  3. t1  
  4.  
  5. SET  
  6.  
  7. Column1=t2.Column1  
  8.  
  9. FROM  
  10.  
  11. t2,t1  
  12.  
  13. WHERE  
  14.  
  15. t2.key=t1.key; 

要進(jìn)行表間更新Update…From是必須的,居然Sqlite不支持,有什么別的辦法嗎?還確實(shí)有,替代方法有兩種:

首先,Sqlite里面有一個(gè)新鮮玩意“INSERTORREPLACE”,跟Mysql類似,這個(gè)結(jié)構(gòu)能夠保證在存在的情況下替換,不存在的情況下更新,用這個(gè)機(jī)制就可以輕松實(shí)現(xiàn)Update…From了。

 
 
 
  1. INSERTORREPLACEINTO  
  2.  
  3. t1(key,Column1,Column2)  
  4.  
  5. SELECT  
  6.  
  7. t2.key,t2.Column1,t2.Column2  
  8.  
  9. FROM  
  10.  
  11. t2,t1  
  12.  
  13. WHERE  
  14.  
  15. t2.key=t1.key; 

備注:這種方法要避免插入操作,首先要確保是依照主鍵執(zhí)行的更新,如果where條件不是主鍵可能就有點(diǎn)麻煩了。

要是不是主鍵的更新怎么辦能?另外還有其他的辦法嗎?我們?cè)谶@中情況下只能向典型的Update…where尋求幫助了,下面是一個(gè)例子:

 
 
 
  1. UPDATE  
  2.  
  3. t1  
  4.  
  5. SET  
  6.  
  7. Column1=(SELECTColumnxFROMt2WHEREt2.key=t1.key),  
  8.  
  9. Column2=(SELECTColumnyFROMt2WHEREt2.key=t1.key),  
  10.  
  11. WHEREt1.key=(SELECTkeyFROMt2WHEREt2.key=t1.key); 

下面舉一個(gè)主從表的例子,一個(gè)部門表,一個(gè)成員表,成員表中的部門名稱和代碼是冗余的信息,以部門表中的部門名稱和代碼更新成員表中的冗余信息:

 
 
 
  1. update  
  2.  
  3. userlogins  
  4.  
  5. set  
  6.  
  7. deptname=(selectdeptnamefromDepartMentswhereDepartMents.[DeptID]=userlogins.[DeptID]),  
  8.  
  9. deptcode=(selectdeptcodefromDepartMentswhereDepartMents.[DeptID]=userlogins.[DeptID])  
  10.  
  11. where  
  12.  
  13. userlogins.[DeptID]=(SELECT[DeptID]FROM DepartMentswhereDepartMents.[DeptID]=userlogins.[DeptID]); 

關(guān)于sqlite數(shù)據(jù)庫(kù)的update語(yǔ)句的知識(shí)就介紹到這里,希望能給大家?guī)?lái)幫助吧。

【編輯推薦】

  1. 簡(jiǎn)述修復(fù)Domino數(shù)據(jù)庫(kù)視圖索引的兩種方法
  2. MSSQL數(shù)據(jù)庫(kù)跨表和跨數(shù)據(jù)庫(kù)查詢方法簡(jiǎn)介
  3. Oracle跟蹤文件分析工具TKPROF使用簡(jiǎn)介
  4. 在SQL SERVER 2005執(zhí)行存儲(chǔ)過(guò)程的權(quán)限分配問(wèn)題
  5. SQL Server 2005數(shù)據(jù)庫(kù)分區(qū)數(shù)據(jù)的移入和移出操作

本文題目:關(guān)于Sqlite數(shù)據(jù)庫(kù)Update語(yǔ)句的一點(diǎn)介紹
分享URL:http://m.5511xx.com/article/djpdodg.html