• SQLite学习


    参照网址:http://www.ibm.com/developerworks/cn/opensource/os-sqlite/

    SQLite 对 SQL92 标准的支持包括索引、限制、触发和查看。SQLite 不支持外键限制,但支持原子的、一致的、独立和持久 (ACID) 的事务(后面会提供有关 ACID 的更多信息)。

    这意味着事务是原子的,因为它们要么完全执行,要么根本不执行。事务也是一致的,因为在不一致的状态中,该数据库从未被保留。事务还是独立的,所以,如果在同一时间在同一数据库上有两个执行操作的事务,那么这两个事务是互不干扰的。而且事务是持久性的,所以,该数据库能够在崩溃和断电时幸免于难,不会丢失数据或损坏。

    SQLite 通过数据库级上的独占性和共享锁定来实现独立事务处理。这意味着多个进程和线程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程向数据库执行写入操作之前,必须获得独占锁定。在发出独占锁定后,其他的读或写操作将不会再发生。

    以下是自己在实验过程中遇到并解决的问题:

    1,在任意目录下敲sqlite3命令提示不是内部命令错误,这个很好解决。

    不过我做了一个尝试,我在环境变量的本地用户变量里面添加了一个SQLITE3_HOME=.;D:Program FilesSQLite,加上去之后,

    把它放到系统变量的Path前面,然后到控制台里面试了下,结果仍然报错。于是我只能把SQLITE3_HOME放到系统变量里面去,结果OK。

    2,通过attach database命令连接之后,

    ATTACH DATABASE 'd:/mydb.db' AS mydb;

    退出当前连接的话,临时表就没有了。

    我这边新建了一个临时表,完了我再通过 sqlite3 d:/mydb.db连接db之后,发现里面并没有查到这个临时表。

    并且我通过记事本打开文件看内容也没有发现临时表的记录。

    完了我在sqlite3的模式下新建了临时表,.quit(或者.exit)退出后,再sqlite3进来的话,同样没有临时表了,恩,果然名副其实的临时表

  • 相关阅读:
    解决阿里云服务器磁盘报警
    linux服务器启动报错UNEXPECTED INCONSISTENCY解决方法
    记一次gitlab添加用户收不到邮件的解决办法
    php7安装redis拓展
    centos6.5安装部署zabbix监控服务端和客户端
    centos-6.5安装部署LNMP环境
    centos6.5编译安装php7
    centos6.5新增加硬盘挂载并实现开机自动挂载
    简单快速部署samba服务器
    第177天:常用正则表达式(最全)
  • 原文地址:https://www.cnblogs.com/niutouzdq/p/4642851.html
Copyright © 2020-2023  润新知