一、Attach数据库:
ATTACH DATABASE语句添加另外一个数据库文件到当前的连接中,如果文件名为":memory:",我们可以将其视为内存数据库,内存数据库无法持久化到磁盘文件上。如果操作Attached数据库中的表,则需要在表名前加数据库名,如dbname.table_name。最后需要说明的是,如果一个事务包含多个Attached数据库操作,那么该事务仍然是原子的。见如下示例:
sqlite> CREATE TABLE testtable (first_col integer); sqlite> INSERT INTO testtable VALUES(1); sqlite> .backup 'D:/mydb.db' --将当前连接中的主数据库备份到指定文件。 sqlite> .exit --重新登录sqlite命令行工具: sqlite> CREATE TABLE testtable (first_col integer); sqlite> INSERT INTO testtable VALUES(2); sqlite> INSERT INTO testtable VALUES(1); sqlite> ATTACH DATABASE 'D:/mydb.db' AS mydb; sqlite> .header on --查询结果将字段名作为标题输出。 sqlite> .mode column --将每列都分开显示。 sqlite> SELECT t1.first_col FROM testtable t1, mydb.testtable t2 WHERE t.first_col = t2.first_col; first_col ---------- 1
--该示例承载上面示例的结果,即mydb数据库已经被Attach到当前的连接中。 sqlite> DETACH DATABASE mydb; sqlite> SELECT t1.first_col FROM testtable t1, mydb.testtable t2 WHERE t.first_col = t2.first_col; Error: no such table: mydb.testtable
在SQLite中,如果没有为当前的SQL命令(SELECT除外)显示的指定事务,那么SQLite会自动为该操作添加一个隐式的事务,以保证该操作的原子性和一致性。当然,SQLite也支持显示的事务,其语法与大多数关系型数据库相比基本相同。见如下示例:
sqlite> BEGIN TRANSACTION; sqlite> INSERT INTO testtable VALUES(1); sqlite> INSERT INTO testtable VALUES(2); sqlite> COMMIT TRANSACTION; --显示事务被提交,数据表中的数据也发生了变化。 sqlite> SELECT COUNT(*) FROM testtable; COUNT(*) ---------- 2 sqlite> BEGIN TRANSACTION; sqlite> INSERT INTO testtable VALUES(1); sqlite> ROLLBACK TRANSACTION; --显示事务被回滚,数据表中的数据没有发生变化。 sqlite> SELECT COUNT(*) FROM testtable; COUNT(*) ---------- 2
本文向大家介绍SQLite教程(五):索引和数据分析/清理,包括了SQLite教程(五):索引和数据分析/清理的使用技巧和注意事项,需要的朋友参考一下 一、创建索引: 在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法: 从.indices命令的输出可以看出,三个索引均已成功创建。 二、删除索引: 索引的删除和视
本文向大家介绍SQLite教程(一):SQLite数据库介绍,包括了SQLite教程(一):SQLite数据库介绍的使用技巧和注意事项,需要的朋友参考一下 一、简介: SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事务、数据表和索
db-tutorial 是一个数据库教程。 整理了包括 关系型数据库 整理主流关系型数据库知识点。Nosql 数据库 整理主流 Nosql 数据库知识点。
本文向大家介绍SQLite教程(三):数据表和视图简介,包括了SQLite教程(三):数据表和视图简介的使用技巧和注意事项,需要的朋友参考一下 一、创建数据表: 该命令的语法规则和使用方式与大多数关系型数据库基本相同,因此我们还是以示例的方式来演示SQLite中创建表的各种规则。但是对于一些SQLite特有的规则,我们会给予额外的说明。注:以下所有示例均是在sqlite自带命令行工具中完成
然而,敬虔加上知足的心便是大利了,因为我们没有带什么到世上来,也不能带什么去,只要有衣有食,就当知足。但那些想要发财的人,就陷在迷惑、落在网罗和许多无知有害的私欲里,叫人沉在败坏和灭亡中。贪财是万恶之根。有人贪恋钱财,就被引诱离了真道,用许多愁苦把自己刺透了。(1 TIMOTHY 6:6-10) SQLite数据库 SQLite是一个小型的关系型数据库,它最大的特点在于不需要服务器、零配置。前面的
一、Attach数据库: ATTACH DATABASE语句添加另外一个数据库文件到当前的连接中,如果文件名为":memory:",我们可以将其视为内存数据库,内存数据库无法持久化到磁盘文件上。如果操作Attached数据库中的表,则需要在表名前加数据库名,如dbname.table_name。最后需要说明的是,如果一个事务包含多个Attached数据库操作,那么该事务仍然是原子的。见如下示例: