今天着重想谈一谈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已经发布。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)