搜索
查看: 23185|回复: 21

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

  [复制链接]

30

主题

700

帖子

4203

积分

超级版主

Rank: 8Rank: 8

积分
4203
发表于 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

帖子

541

积分

三级会员

Rank: 4

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

抢个位置学习,谢谢分享

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

使用道具 举报

13

主题

108

帖子

730

积分

三级会员

Rank: 4

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

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

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

使用道具 举报

17

主题

86

帖子

903

积分

三级会员

Rank: 4

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

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

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

使用道具 举报

7

主题

302

帖子

1893

积分

四级会员

Rank: 6Rank: 6

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

学习sqilte,感谢!

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

使用道具 举报

117

主题

1239

帖子

6607

积分

六级会员

Rank: 9Rank: 9Rank: 9

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

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

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

使用道具 举报

5

主题

80

帖子

657

积分

培训班

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

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

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

使用道具 举报

13

主题

71

帖子

613

积分

培训班

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

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

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

使用道具 举报

6

主题

39

帖子

325

积分

二级会员

Rank: 3Rank: 3

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

谢谢分享


谢谢分享
回复

使用道具 举报

10

主题

71

帖子

492

积分

荣誉会员

Rank: 8Rank: 8

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

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

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

使用道具 举报

0

主题

5

帖子

27

积分

新手入门

Rank: 1

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

谢谢分享啊……

谢谢分享啊……
回复

使用道具 举报

0

主题

17

帖子

150

积分

一级会员

Rank: 2

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

正在学习sqlite,感谢分享。

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

使用道具 举报

6

主题

44

帖子

328

积分

二级会员

Rank: 3Rank: 3

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

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

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

使用道具 举报

5

主题

74

帖子

455

积分

二级会员

Rank: 3Rank: 3

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

先顶后看,慢慢学习。

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

使用道具 举报

6

主题

66

帖子

519

积分

荣誉会员

Rank: 8Rank: 8

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

总结得真好,谢谢

总结得真好,谢谢
回复

使用道具 举报

0

主题

4

帖子

42

积分

新手入门

Rank: 1

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

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

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

使用道具 举报

0

主题

5

帖子

156

积分

一级会员

Rank: 2

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

及时雨,正需要

及时雨,正需要
回复

使用道具 举报

117

主题

1239

帖子

6607

积分

六级会员

Rank: 9Rank: 9Rank: 9

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

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

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

使用道具 举报

30

主题

700

帖子

4203

积分

超级版主

Rank: 8Rank: 8

积分
4203
 楼主| 发表于 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-11-25 13:24 , Processed in 0.062500 second(s), 17 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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