一些 SQLite技巧

SQLite自增ID自段 使用方法为 INTEGER PRIMARY KEY AUTOINCREMENT 如:

CREATE   TABLE  21andy ( id  INTEGER   PRIMARY   KEY  AUTOINCREMENT, 21andy  VARCHAR ( 100 )  NOT   NULL , date DATE );

注意是AUTOINCREMENT, 和MySQL的写法不一样

SQLite清空表 SQLite没有TRUNCATE清空表命令,所以只能这样

DELETE   FROM  21andy;

SQLite 删除记录后, 自增ID置0

只能这样

DELETE   FROM  sqlite_sequence;

另外, 这个sqlite_sequence可以CRUD

SQLite 删除记录后, 不会释放空间 必须像这样

VACUUM

SQLite 分页查询 有两种写法:

Select   *   From  Account Limit  9  Offset  10 ;

SELECT   *   FROM  Account LIMIT  10 ,  9

他们两个的效果都是一样的,其中第一种写法比较清晰明了,即跳过10行,读取其后的9行数据.
SQLite批量插入数据 很不幸的事情是貌似SQLite只能一条一条的 执行插入,但是这是非常非常慢的行为,执行一条就是执行一次写入磁盘的操作,这实在是太可怕了.在SQLite里面执行批量插入,只能将插入操作放入到事 务当中去.示例如下:

BEGIN ; CREATE   TABLE  t2(a  INTEGER , b  INTEGER , c  VARCHAR ( 100 )); INSERT   INTO  t2  VALUES ( 1 , 59672 , ‘ fifty nine thousand six hundred seventy two ‘ ); INSERT   INTO  t2  VALUES ( 24999 , 89569 , ‘ eighty nine thousand five hundred sixty nine ‘ ); INSERT   INTO  t2  VALUES ( 25000 , 94666 , ‘ ninety four thousand six hundred sixty six ‘ ); COMMIT ;

在SQLite当中一系列要进行多次写入操作的时候,建议放入到事务当中去,这个优化的性能提升是可以很明显感觉到的.用与不用的差别是非常大的.
SQLite 数据不存在INSERT,存在UPDATE SQLite的SQL语法类MySQL,在SQLite里面有一个关键字 REPLACE,可以使用它达到目的:

REPLACE   INTO   [ table ]  (row1, row2)  VALUES  ( 2 ,  3 );

如果该表有一个主键,那么当主键值相等的时候,该行数据不存在执行插入,存在则执行更新操作.但是如果没有主键,那么它就执行的永远都是插入操作了.
SQLite 使用ISNULL函数 SQLite的SQL语法类不同于MySQL, 不可以用ISNULL,但可以用 IFNULL 直接代替

ifnull(null,0)

时间: 2024-10-27 23:37:18

一些 SQLite技巧的相关文章

树莓派学习笔记——SQLite操作简述

0 前言 本文介绍如何在树莓派中利用SQLite数据库保存CPU温度数据.SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用.SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景按需说明.本文介绍的SQLite技巧也可以在其他平台使用,并不局限于树莓派. 本文继续折腾树莓派温度,需要从中可以玩出新花样. [相关博文] [树莓派学习笔记--索引博文]--更多博文请关注. [树莓派学习笔记--获取树莓派CPU温度] [树莓派学习笔

树莓派进阶之路 (028) - 树莓派SQLite3的安装

MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用.SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景按需说明.本文介绍的SQLite技巧也可以在其他平台使用,并不局限于树莓派. 安装 SQLite 1 sudo apt-get update 2 sudo apt-get install sqlite sqlite3 3 #如果需要的话还可以顺便安装 PHP 相关组件 4 sudo apt-get

android 操作sqlite的一点小技巧

1.android 在sqlite插入数据时,是非常耗时的操作,原因是sqlite缺省会为每个插入操作开启一个事务,当数量变多的时候,自然时间就变得很慢,这时候可以考虑在插入等操作时先开启一个事务,再来批量操作. 可以参考例子:http://bbs.csdn.net/topics/360042960 2.sqlitedatabase关于事务的一些操作: SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查

一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去搞,否则又倒腾到Excel也费神.我看到支持ODBC驱动,想想肯定有办法.来看看Power BI Desktop如何连接Sqlite数据库. Power BI文章目录:微软Power BI技术文章与资源目录 本文原文地址:http://www.cnblogs.com/asxinyu/p/Power_

SQL优化技巧

我们开发的大部分软件,其基本业务流程都是:采集数据→将数据存储到数据库中→根据业务需求查询相应数据→对数据进行处理→传给前台展示.对整个流程进行分析,可以发现软件大部分的操作时间消耗都花在了数据库相关的IO操作上.所以对我们的SQL语句进行优化,可以提高软件的响应性能,带来更好的用户体验. 在开始介绍SQL优化技巧之前,先推介一款数据库管理神器Navicat,官网:https://www.navicat.com.cn/whatisnavicat Navicat是一套快速.可靠和全面的数据库管理工

iOS应用性能调优的25个建议和技巧

目录 我要给出的建议将分为三个不同的等级: 入门级. 中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) 1. 用ARC管理内存 2. 在正确的地方使用reuseIdentifier 3. 尽可能使Views透明 4. 避免庞大的XIB 5. 不要block主线程 6. 在Image Views中调整图片大小 7. 选择正确的Collection 8. 打开gzip压缩 中级(这些是你可能在一些相对复杂情况下可能用到的) 9. 重用和延迟加载Views 10. Cache, C

Android SQLite数据库使用示例

简单介绍一下,现在的主流移动设备像Android.iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上的SQLite开发技巧.对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取. 下面我们用SQLite来开发一个英语词典.下图是项目结构-- MySQLite.java package sn.qdj.sqlitedemo; im

Android数据存储引擎---SQLite数据库

目标:是否可以在PC端桌面上使用SQLite数据库制作一个财务文件? 目录: 来源: 实践: 总结和比较: SQLite数据简介 是什么,内部结构是怎样的,数据库和表的关系是什么 有什么用 常用的操作是什么 SQLite数据库使用 增 删 改 查 SQLite数据库实践上的优化措施 对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,使我们轻松完成对数据的存取. 步骤1,熟悉创建数据库表,熟悉相关的操作指令,实现对SQLite数据库的感性认识 创建一个包含简单内容的数

《Android进阶》Sqlite的使用

之前认为Sqlite只能一次性创建多个表,其实不是 关键是对Sqlite的操作需要一些技巧: package com.example.mydemo; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLi