自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于Sqlite數(shù)據(jù)庫Update語句的一點介紹

數(shù)據(jù)庫 其他數(shù)據(jù)庫
sqlite數(shù)據(jù)庫不支持update……from語句,但可以用兩種不同的方法來替代它,本文主要介紹了這一過程,接下來就讓我們一起學習吧。

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

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; 

 

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

首先,Sqlite里面有一個新鮮玩意“INSERTORREPLACE”,跟Mysql類似,這個結(jié)構(gòu)能夠保證在存在的情況下替換,不存在的情況下更新,用這個機制就可以輕松實現(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條件不是主鍵可能就有點麻煩了。

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

 

  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); 

 

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

 

  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ù)庫的update語句的知識就介紹到這里,希望能給大家?guī)韼椭伞?/p>

【編輯推薦】

  1. 簡述修復Domino數(shù)據(jù)庫視圖索引的兩種方法
  2. MSSQL數(shù)據(jù)庫跨表和跨數(shù)據(jù)庫查詢方法簡介
  3. Oracle跟蹤文件分析工具TKPROF使用簡介
  4. 在SQL SERVER 2005執(zhí)行存儲過程的權(quán)限分配問題
  5. SQL Server 2005數(shù)據(jù)庫分區(qū)數(shù)據(jù)的移入和移出操作
責任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-07-12 17:55:28

尾日志備份

2011-04-07 10:13:48

數(shù)據(jù)庫開發(fā)

2011-07-18 16:33:20

sqlite

2009-12-28 09:51:17

Fedora GNOM

2012-03-27 08:49:19

Json

2009-11-23 16:26:37

Visual stud

2009-12-14 17:28:18

Visual Stud

2011-06-30 15:26:28

Update數(shù)據(jù)庫

2011-08-30 14:15:34

QTSQLite數(shù)據(jù)庫

2014-06-04 10:48:38

Swift蘋果iOS

2012-07-12 10:49:53

項目管理

2011-05-24 11:09:30

Access數(shù)據(jù)庫

2013-12-30 09:31:34

Node.js技術(shù)

2010-04-02 12:23:30

Oracle數(shù)據(jù)庫

2013-06-24 10:31:38

2020-12-10 06:23:19

數(shù)據(jù)庫阿里云RDS

2020-12-08 09:52:22

數(shù)據(jù)庫工具技術(shù)

2011-07-14 16:17:47

AmoebaMySQL

2009-08-03 09:17:30

ASP.NET Ses

2011-12-23 09:16:19

點贊
收藏

51CTO技術(shù)棧公眾號