搜索
查看: 22426|回复: 21

SQLite数据库基本操作: 增、删、改、查

  [复制链接]

32

主题

705

帖子

4408

积分

超级版主

Rank: 8Rank: 8

积分
4408
发表于 2013-5-14 16:48:35 | 显示全部楼层 |阅读模式
参考:《SQLite权威指南》

  1. import sqlite
  2. import console;

  3. //创建数据库
  4. var db = sqlite("/test-sqlite.db")

  5. //创建表
  6. if( not db.existsTable("film") ){  
  7.         db.exec( "create table film(title, length, year, starring);")  
  8. }  

  9. //增 - 使用命名参数示例
  10. var command = db.prepare("replace into film values (@title,@length,@year, 'Jodie Foster');" )
  11. command.bind.parameterByNamesAt( //绑定命名参数
  12.         title = "标题";
  13.         length = 4;
  14.         year = time.now();
  15. )   
  16. command.step(); //执行命令

  17. //删 - 执行SQL语句示例
  18. db.exec("DELETE FROM [%s] where length=%d;","film",999)

  19. //改 - 执行SQL语句示例,SQL语句后面可以添加任意个格式化参数
  20. db.exec("UPDATE film SET title = '%s',length=%d WHERE title = '%s';"
  21.         ,"新的标题",#"新的标题","标题");
  22.        
  23. //查 - 返回首行数据
  24. var result = db.stepQuery("SELECT * FROM [film]"
  25.         ,{ title = "新的标题"} //可选使用表对象指定where条件参数
  26.         )

  27. /*
  28. 迭代方式查询数据,注意:
  29. 查询时数据库返回的第一个字段必须非空( 首个返回值为空表示中段 for语句 )
  30. 如果首字段可能为空,那么可以把SQLite默认就有的索引字段 rowid 放在最前面。
  31. */
  32. for rowid,title, length, year, starring in db.each("select rowid,* from film") {
  33.         console.log( rowid,title, length, year, starring  )
  34. }

  35. //查 - 返回数据表
  36. var dataTable = db.getTable("SELECT * FROM [film] "
  37.         ,{ title = "新的标题"} //可选使用表对象指定where条件参数
  38.         )
  39. console.varDump( dataTable )

  40. //删除表
  41. db.exec("drop table film" );
复制代码

评分

参与人数 6银币 +85 收起 理由
gdgzwqz + 5 赞一个!
Gafek + 10 很给力!
nanasmeiying + 10 很给力!
byqwdyhm + 10 赞一个!
linxues + 10 赞一个!
leisurely + 40 很给力!感谢分享。

查看全部评分

回复

使用道具 举报

4

主题

56

帖子

538

积分

三级会员

Rank: 4

积分
538
发表于 2013-5-14 17:10:37 | 显示全部楼层

抢个位置学习,谢谢分享

抢个位置学习,谢谢分享
回复

使用道具 举报

13

主题

108

帖子

765

积分

三级会员

Rank: 4

积分
765
QQ
发表于 2013-5-14 17:21:40 | 显示全部楼层

支持佳作,看到一直有更新,很感动

支持佳作,看到一直有更新,很感动
我是电车男!!!
记住!
我为人人,人人为我
想了解我名字由来请加QQ:502121980
回复

使用道具 举报

17

主题

86

帖子

886

积分

三级会员

Rank: 4

积分
886
发表于 2013-5-14 17:45:45 | 显示全部楼层

谢谢分享,再收藏,学习一下

谢谢分享,再收藏,学习一下
回复

使用道具 举报

7

主题

303

帖子

1897

积分

四级会员

Rank: 6Rank: 6

积分
1897
QQ
发表于 2013-5-14 18:38:35 | 显示全部楼层

学习sqilte,感谢!

学习sqilte,感谢!
每天进步一点点......
回复

使用道具 举报

117

主题

1240

帖子

6802

积分

六级会员

Rank: 9Rank: 9Rank: 9

积分
6802
发表于 2013-5-14 18:55:31 | 显示全部楼层

感谢分享.又学到一种方法

感谢分享.又学到一种方法
我是菜鸟...
回复

使用道具 举报

5

主题

80

帖子

653

积分

培训班

积分
653
发表于 2013-5-14 20:54:24 | 显示全部楼层

感谢分享,又迈进一步了!

感谢分享,又迈进一步了!
回复

使用道具 举报

13

主题

71

帖子

621

积分

培训班

积分
621
发表于 2013-5-14 21:47:52 | 显示全部楼层

正需要这些知识,感谢分享。

正需要这些知识,感谢分享。
回复

使用道具 举报

6

主题

39

帖子

320

积分

二级会员

Rank: 3Rank: 3

积分
320
发表于 2013-5-15 15:02:26 | 显示全部楼层

谢谢分享


谢谢分享
回复

使用道具 举报

10

主题

71

帖子

507

积分

荣誉会员

Rank: 8Rank: 8

积分
507
发表于 2013-5-15 15:49:37 | 显示全部楼层

抢一个位置学习下!!!!!!!

抢一个位置学习下!!!!!!!
回复

使用道具 举报

0

主题

5

帖子

27

积分

新手入门

Rank: 1

积分
27
发表于 2013-5-15 20:45:02 | 显示全部楼层

谢谢分享啊……

谢谢分享啊……
回复

使用道具 举报

0

主题

17

帖子

154

积分

一级会员

Rank: 2

积分
154
发表于 2013-5-17 16:02:29 | 显示全部楼层

正在学习sqlite,感谢分享。

正在学习sqlite,感谢分享。
回复

使用道具 举报

6

主题

44

帖子

328

积分

二级会员

Rank: 3Rank: 3

积分
328
发表于 2013-5-22 14:37:33 | 显示全部楼层

有些写法头一次看到,像replace

有些写法头一次看到,像replace
回复

使用道具 举报

5

主题

75

帖子

462

积分

二级会员

Rank: 3Rank: 3

积分
462
发表于 2013-5-22 16:46:36 | 显示全部楼层

先顶后看,慢慢学习。

先顶后看,慢慢学习。
回复

使用道具 举报

6

主题

66

帖子

519

积分

荣誉会员

Rank: 8Rank: 8

积分
519
发表于 2013-5-23 16:56:42 | 显示全部楼层

总结得真好,谢谢

总结得真好,谢谢
回复

使用道具 举报

0

主题

4

帖子

47

积分

新手入门

Rank: 1

积分
47
发表于 2013-5-27 15:01:36 | 显示全部楼层

数据库啊,复习下,都忘记了{:3_47:}

数据库啊,复习下,都忘记了
回复

使用道具 举报

0

主题

5

帖子

156

积分

一级会员

Rank: 2

积分
156
发表于 2013-6-1 10:54:57 | 显示全部楼层

及时雨,正需要

及时雨,正需要
回复

使用道具 举报

117

主题

1240

帖子

6802

积分

六级会员

Rank: 9Rank: 9Rank: 9

积分
6802
发表于 2013-6-9 13:35:02 | 显示全部楼层

查询函数没有 进行 string.format 格式化处理 所以大家要注意

查询函数没有 进行 string.format 格式化处理 所以大家要注意
我是菜鸟...
回复

使用道具 举报

32

主题

705

帖子

4408

积分

超级版主

Rank: 8Rank: 8

积分
4408
 楼主| 发表于 2013-6-9 17:50:59 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=58915&ptid=10304][c

落伍者 发表于 2013-6-9 13:35
查询函数没有 进行 string.format 格式化处理 所以大家要注意


使用函数的时候注意看一下函数说明:
sqlite库的查询类函数使用的都是表参数,不需要也没可能会使用格式化参数。

例如: sqlConnection.stepQuery(sql语句,表参数,不定个数的sql后缀 )
你看,格式化参数放在哪里呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2017-9-25 19:27 , Processed in 0.062500 second(s), 20 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表