嵌入式LINUX应用编程-高级篇SQLITE.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 二、SQL语言 – 子查询 我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery(子查询) 的架构。 Subquery 的作用是什么呢?第一,它可以被用来连接表格。另外,有的时候 subquery 是唯一能够连接两个表格的方式。 Subquery 的语法如下: SELECT “列1“ FROM ”表格” WHERE “列2” [比较运算素] (SELECT “列1 FROM 表格“ WHERE [条件]) [比较运算素] 可以是相等的运算素,例如 =, , , =, =. 这也可以是一个对文字的运算素,例如 LIKE. 我们查找学生“Sun Nan”在2009-01-01的考试成绩,可以分两步,第一步很查找他在student中对应的id的值: SELECT id FROM student WHERE name=‘Sun Nan’; 假设查询出来的值为3,然后再在grade表中查询: SELECT * FROM grade WHERE student_id=3 我们可以使用子查询来完成上面的功能: SELECT * FROM grade WHERE student_id=(SELECT id FROM student WHERE name = ‘Sun Nan’); 我们也可以在UPDATE和INSERT语句中使用子查询。 * 二、SQL语言 – 视图 视图 (View) 可以被当作是虚拟表格或存储查询 。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。它跟表格的不同是,表格中有实际储存资料,而视图表是建立在表格之上的一个架构,它本身并不实际储存资料。 建立一个视图表的语法如下: CREATE VIEW VIEW_NAME AS SQL 语句 SQL 语句 可以是任何一个我们在这个教材中有提到的 SQL。 若我们要建一个表,包含student表中的name, class和bir·th字段: CREATE VIEW view_student AS SELECT name,class,birth FROM student; 我们也可以使用视图来连接两个表格: CREATE VIEW v_student_grade AS SELECT student.*,grade.chinese,grade.math FROM student LEFT JOIN grade ON student.id=grade.id; 我们可以使用SELECT * FROM v_student_grade来查看表内容。 我们使用DROP VIEW 视图表名来丢弃视图。 * 三、事务 事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 事务都应该具备ACID特征。所谓ACID是Atomic(原子性),Consistent(一致性),Isolated(隔离性),Durable(持续性)四个词的首字母所写 原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。换句话说,事务是不可分割的最小单元。比如:银行转帐过程中,必须同时从一个帐户减去转帐金额,并加到另一个帐户中,只改变一个帐户是不合理的。 一致性:在事务处理执行前后,数据库是一致的。也就是说,事务应该正确的转换系统状态。比如:银行转帐过程中,要么转帐金额从一个帐户转入另一个帐户,要么两个帐户都不变,没有其他的情况。 隔离性:一个事务处理对另一个事务处理没有影响。就是说任何事务都不可能看到一个处在不完整状态下的事务。比如说,银行转帐过程中,在转帐事务没有提交之前,另一个转帐事务只能处于等待状态。 持续性:事务处理的效果能够被永久保存下来。反过来说,事务应当能够承受所有的失败,包括服务器、进程、通信以及媒体失败等等。比如:银行转帐过程中,转帐后帐户的状态要能

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档