Sqlite数据库的Update知多少?

Sqlite数据库的Update知多少?,第1张

虽然号称对Sqlite的使用有一年多的经验,但实际上并没有对Sqlite的各种语法有深入的了解,毕竟大多数时候选择Sqlite这种微型数据库,表结构设计上都十分的简单,一些复杂的sql *** 作很少会用到。另一方面Sqlite居然理论上可以支持2TB的数据,相信随着各路神仙对Sqlite的推崇,日后还是会大有作为的。

今天着重想谈一谈Sqlite中的Update。1.

典型的Update(支持)UpdateT1SetColumn1 = v1,

Column2 =V2Wherekey = V3

2.Update…From(很不幸,

Sqlite是不支持的)UPDATEt1SETColumn1= t2. Column1FROMt2, t1WHEREt2.key = t1.key

要进行表间更新

Update…From

,Sqlite里面有一个新鲜玩意

INSERT OR REPLACE

,跟Mysql类似,这个结构能够保证在存在的情况下替换,不存在的情况下更新,用这个机制就可以轻松实现

Update…From了。

INSERT OR REPLACE INTO

t1( key, Column1, Column2)SELECTt2.key, t2. Column1,t2. Column2FROMt2, t1WHEREt2.key = t1.key

备注:这种方法要避免插入 *** 作,首先要确保是依照主键执行的更新,如果where条件不是主键可能就有点麻烦了。

Update…where

寻求帮助了,下面是一个例子:UPDATEt1SETColumn1 = ( SELECT Columnx FROM t2 WHERE t2.key =t1.key ),

Column2 = ( SELECT Columny FROM t2 WHERE t2.key =t1.key ),

WHERE t1.key = ( SELECT key FROM t2 WHERE t2.key=t1.key)

可用sql语句。

SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。

语法:

INSERT INTO 语句有两种基本语法,如下所示:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)]  

VALUES (value1, value2, value3,...valueN)

在这里,column1, column2,...columnN 是要插入数据的表中的列的名称。

如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致。SQLite 的 INSERT INTO 语法如下:

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN)

Sqlite中判断表、字段是否存在。

SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。

SQLite:

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。

它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的 *** 作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10047125.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存