主页 > 知识库 > SQLite教程(五):数据库和事务

SQLite教程(五):数据库和事务

热门标签:江西稳定外呼系统供应商 电话机器人录音师薪资 智能电销机器人教育 奥维地图标注字体大小修改 中国地图标注省份用什么符号 孝感销售电销机器人厂家 高德地图标注电话怎么没了 无锡梁溪公司怎样申请400电话 北京智能外呼系统供应商家

一、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   

二、Detach数据库:
    
    卸载将当前连接中的指定数据库,注意main和temp数据库无法被卸载。见如下示例:
 
复制代码 代码如下:

    --该示例承载上面示例的结果,即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教程(二):C/C++接口简介
  • SQLite教程(三):数据表和视图简介
  • SQLite教程(四):内置函数
  • SQLite教程(五):索引和数据分析/清理

标签:泰州 海北 阜阳 那曲 荆州 临沧 齐齐哈尔 通化

巨人网络通讯声明:本文标题《SQLite教程(五):数据库和事务》,本文关键词  SQLite,教程,五,数据库,和,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《SQLite教程(五):数据库和事务》相关的同类信息!
  • 本页收集关于SQLite教程(五):数据库和事务的相关信息资讯供网民参考!
  • 推荐文章