SQLite Tips
- 附加数据库
|
Attach database filename as database_name; |
主数据库默认为 "Main", 在使用Attach命令时, 不能将database_name指定为main;
当附加多个数据库, 并且存在相同名称的表时, 如果在命令时末指定数据库名(database_name), 则默认关联最先Attach的数据库;
建议操作相同名称的表时, 对应的数据库(database_name.table_name), 如, select * from MyDB.Table1;
- 分离附加的数据库
|
Detach database database_name; |
- 数据库相关配置
|
pragma cache_size |
设置缓冲区大小 |
|
pragma default_cache_size |
在创建数据库之前通过此命令可永久设置缓冲区大小 |
|
pragma database_list |
显示当前加载的数据库列表(包括Attach附加的数据库) |
|
pragma index_info(index_name) |
查看index_name对应的索引信息 |
|
pragma table_info(table_name) |
查看table_name对应的表结构信息 |
|
pragma index_list(table_name) |
列出table_name创建的所有索引信息 |
|
pragma Synchronous |
设置数据库写同步的三种方式: 0: OFF 1: NORMAL 2: FULL (Default) |
|
pragma auto_vacuum |
设置数据库自动清理, 当大量删除数据时可自动缩小数据库文件大小, 但占用更多存储空间, 此命令必需在创建数据库之前设置 |
- Sqlite_master
Sqlite_master保存数据库所有表, 索引的元数据信息, 及创建的DDL, 可通过如下命令查看:
|
SELECT * FROM SQLITE_MASTER; |
- Explain query plan 查看SQL执行的流程, 可用于SQL性能分析, 改善SQL查询
|
EXPLAIN QUERY PLAN SELECT * FROM SQLITE_MASTER; |
- 利用null插入自动增长的值
- SQLite在使用INSERT / UPDATE时处理冲突的五种方式:
|
replace |
替换存在冲突的记录 |
|
ignore |
SQLite继续执行但忽略冲突的记录 |
|
fail |
Sqlite终止命令, 但不恢复发生冲突之前的修改记录 |
|
abort |
Sqlite终止命令并恢复此命令发生冲突之前的修改 |
|
rollback |
Sqlite执行回滚, 恢复到事务开始之前的状态 |
如: INSERT OR REPLACE INTO TABLE_NAME (FIELD_NAME) VALUES (FIELD_VALUE)
当执行命令的时候, 如遇到已存在记录, 则可直接在此记录上插入更新, 而不需要再插入前执行删除.
SQLite Tips的更多相关文章
- mono for android中使用dapper或petapoco对sqlite进行数据操作
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...
- 创造tips的秘籍——PHP回调后门
作者:Phithon 原文连接:https://www.leavesongs.com/PENETRATION/php-callback-backdoor.html 最近很多人分享一些过狗过盾的一句话, ...
- Android Tips – 填坑手册
出于: androidChina http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的 ...
- SQLite 之 C#版 System.Data.SQLite 使用
简介 SQLite简介 SQLite,是一款轻型的关系型数据库.它的设计目标是嵌入式. 它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 C++.C ...
- Android--数据持久化之SQLite
前言 对于一个应用程序而言,数据持久化是必不可少的,Android程序也不例外.这篇博客将介绍Android中关于SQLite的使用,SQLite是一种嵌入式的数据库引擎,专门适用于资源有限的设备上进 ...
- Cordova 8 架构使用sqlite - 谢厂节的博客 - 博客频道 - CSDN.NET - Google Chrome
Cordova 8 架构使用sqlite 标签: androidcordova 2015-07-16 16:41 4302人阅读 评论(0) 收藏 举报 分类: IONIC/Cordova(18) ...
- SQLite metadata
http://www.devart.com/dotconnect/sqlite/docs/MetaData.html https://github.com/sqlitebrowser/sqlitebr ...
- freeswitch 把SIP注册信息数据库从SQLITE 改为MYSQL的方法
实际线上应用中,在线注册人数超过4000 ,SQLITE就吃不消了,容易造成锁表,考虑转入MYSQL,查了下官网 超过转入了MYSQL. https://wiki.freeswitch.org/wik ...
- Android项目通过Android Debug Database实时查看本地Sqlite数据库内容
前几天写Android项目时,想和Sqlyog那样图形化查看数据库中的文件,由于Android自带小型的Sqlite轻量级数据库,在查找方法时发现了一个特别简单适用的方法,纪录一下. 在android ...
随机推荐
- Day 23 类的继承,派生,组合,菱形继承,多态与多态性
类的继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 继承的特性是:子类会遗传父类的属性 继承是类与类之间的关系 为什么用继承 使用继承可以减少代码的冗余 对象的继承 python中 ...
- Day5 练习
1. 2. 要加强对代码效率的思考 3. 4. 知识点:1)多变量的同时赋值 2)元素的不可修改性:(1,2)=(3,4)与(a,b)= (b,a) 联想指针.地址去理解 :可用id()或t ...
- 一次由于 MTU 设置不当导致的网络访问超时
转自:http://weibo.com/ttarticle/p/show?id=2309404140904511340923 API 服务正常,但是调用总是超时.api端日志显示,响应速度很快. ...
- C#第三节课(2)
运算符 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.T ...
- [CodeForces1059E] Split the Tree
树形DP. 用倍增处理出来每个点往上能延伸出去的最远路径,nlogn 对于每个节点,如果它能被后代使用过的点覆盖,就直接覆盖,这个点就不使用,否则就ans++,让传的Max改成dp[x] #inclu ...
- javascript/jquery获取地址栏url参数的方法
1.jquery获取url window.location.href; 2.通过javascript是如何获取url中的某个参数 function getUrlParam(name) { var re ...
- APIO 2017 游记
//第一次写游记,只是流水账...结果好像确实只去游了…… day-11 省选挂了,即将退役……(然而apio之后得知并没有退役,感谢放我一条活路)(吐槽出题人考完才造数据,题目没有子任务之类的玩意, ...
- 转载 - 跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题
出处:http://www.cnblogs.com/grenet/p/3145800.html 精确覆盖问题的定义:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1 ...
- tcpip学习
http://www.cnblogs.com/ggjucheng/archive/2012/08/18/2645324.html
- Qt中暂停线程的执行(主线程和工作线程共用一把锁,一旦主线程将它锁上,工作线程就无法运行了,这也是一个办法)
在线程中定义一个信号量: QMutex pause; 把run()函数中循环执行的部分用信号量pause锁住: void run() { while(1) { pause.lock ...