aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 45388|回复: 21

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

[复制链接]

29

主题

658

回帖

4138

积分

超级版主

积分
4138
发表于 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 很给力!感谢分享。

查看全部评分

6

主题

51

回帖

579

积分

三级会员

积分
579
发表于 2013-5-14 17:10:37 | 显示全部楼层
抢个位置学习,谢谢分享

13

主题

92

回帖

719

积分

三级会员

积分
719
QQ
发表于 2013-5-14 17:21:40 | 显示全部楼层
支持佳作,看到一直有更新,很感动

17

主题

69

回帖

1014

积分

四级会员

积分
1014
发表于 2013-5-14 17:45:45 | 显示全部楼层
谢谢分享,再收藏,学习一下

7

主题

293

回帖

1900

积分

新手入门

积分
1900
QQ
发表于 2013-5-14 18:38:35 | 显示全部楼层
学习sqilte,感谢!

117

主题

1103

回帖

6572

积分

六级会员

积分
6572
发表于 2013-5-14 18:55:31 | 显示全部楼层
感谢分享.又学到一种方法

5

主题

75

回帖

674

积分

培训班

积分
674
发表于 2013-5-14 20:54:24 | 显示全部楼层
感谢分享,又迈进一步了!

13

主题

53

回帖

600

积分

培训班

积分
600
发表于 2013-5-14 21:47:52 | 显示全部楼层
正需要这些知识,感谢分享。

6

主题

31

回帖

349

积分

二级会员

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

谢谢分享

10

主题

61

回帖

493

积分

新手入门

积分
493
发表于 2013-5-15 15:49:37 | 显示全部楼层
抢一个位置学习下!!!!!!!

0

主题

5

回帖

27

积分

新手入门

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

0

主题

18

回帖

157

积分

一级会员

积分
157
发表于 2013-5-17 16:02:29 | 显示全部楼层
正在学习sqlite,感谢分享。

6

主题

38

回帖

361

积分

二级会员

积分
361
发表于 2013-5-22 14:37:33 | 显示全部楼层
有些写法头一次看到,像replace

5

主题

68

回帖

468

积分

二级会员

积分
468
发表于 2013-5-22 16:46:36 | 显示全部楼层
先顶后看,慢慢学习。

6

主题

60

回帖

514

积分

荣誉会员

积分
514
发表于 2013-5-23 16:56:42 | 显示全部楼层
总结得真好,谢谢

0

主题

4

回帖

48

积分

新手入门

积分
48
发表于 2013-5-27 15:01:36 | 显示全部楼层
数据库啊,复习下,都忘记了

0

主题

5

回帖

156

积分

一级会员

积分
156
发表于 2013-6-1 10:54:57 | 显示全部楼层
及时雨,正需要

117

主题

1103

回帖

6572

积分

六级会员

积分
6572
发表于 2013-6-9 13:35:02 | 显示全部楼层
查询函数没有 进行 string.format 格式化处理 所以大家要注意

29

主题

658

回帖

4138

积分

超级版主

积分
4138
 楼主| 发表于 2013-6-9 17:50:59 | 显示全部楼层
落伍者 发表于 2013-6-9 13:35
查询函数没有 进行 string.format 格式化处理 所以大家要注意


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

例如: sqlConnection.stepQuery(sql语句,表参数,不定个数的sql后缀 )
你看,格式化参数放在哪里呢?
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-3-1 08:27 , Processed in 0.064995 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

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