1、SQLite是什么

   基于文件的轻型数据库 无服务器  零配置  支持事务  开源

2、SQLite 怎么用

  2.1 安装

SQLite官网上下载对应的DLL 与工具

配置环境变量

安装完成以后 查看版本

2.2 创建数据库

sqlite的创建数据库和使用数据库都是一个命令,数据库存在则根据名字加载数据库,如果不存在则创建这个数据库,

然后会看到sqlite> 表示正在使用这个数据库

2.3 创建,删除数据表

创建:create table user

(

id int primary key not null, --id 主键 非空

name varchar(20) not null,

age int

);

删除:drop table table_name

2.4 sqlite 数据类型

每个存储在 SQLite 数据库中的值都具有以下存储类之一:

存储类

描述

NULL

值是一个 NULL 值。

INTEGER

值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。

REAL

值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。

TEXT

值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。

BLOB

值是一个 blob 数据,完全根据它的输入存储。

SQLite Affinity 及类型名称

下表列出了当创建 SQLite3 表时可使用的各种数据类型名称,同时也显示了相应的应用 Affinity:

数据类型

Affinity

INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED BIG INT
INT2
INT8

INTEGER

CHARACTER(20)
VARCHAR(255)
VARYING CHARACTER(255)
NCHAR(55)
NATIVE CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB

TEXT

BLOB
no datatype specified

NONE

REAL
DOUBLE
DOUBLE PRECISION
FLOAT

REAL

NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME

NUMERIC

Boolean 数据类型

SQLite 没有单独的 Boolean 存储类。相反,布尔值被存储为整数 0(false)和 1(true)。

Date 与 Time 数据类型

SQLite 没有一个单独的用于存储日期和/或时间的存储类,但 SQLite 能够把日期和时间存储为 TEXT、REAL 或 INTEGER 值。

存储类

日期格式

TEXT

格式为 "YYYY-MM-DD
HH:MM:SS.SSS" 的日期。

REAL

从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。

INTEGER

从 1970-01-01 00:00:00 UTC 算起的秒数。

表中插入数据

格式1:INSERT INTO TABLE_NAME (column1, column2,
column3,...columnN)] VALUES (value1, value2, value3,...valueN);

格式2:INSERT INTO COMPANY VALUES (7, 'James',
24, 'Houston', 10000.00 );

导入其他表中的数据

INSERT INTO first_table_name [(column1,
column2, ... columnN)]

SELECT column1, column2, ...columnN

FROM second_table_name [WHERE
condition];

删除数据 delete

DELETE FROM table_name WHERE
[condition];

查找数据 select

SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。SQLite 的 SELECT 语句的基本语法如下:

SELECT column1, column2, columnN FROM
table_name;

更新数据 update

UPDATE table_name

SET column1 = value1, column2 =
value2...., columnN = valueN

WHERE [condition];

模糊查询 like

%:百分号 代表一个或者多个任意字符或者数据

_:下划线 代表单一的数字或者字符
并且2者可以组合使用

WHERE SALARY LIKE '200%'

查找以 200 开头的任意值

WHERE SALARY LIKE '%200%'

查找任意位置包含 200 的任意值

WHERE SALARY LIKE '_00%'

查找第二位和第三位为 00 的任意值

WHERE SALARY LIKE '2_%_%'

查找以 2 开头,且长度至少为 3 个字符的任意值

WHERE SALARY LIKE '%2'

查找以 2 结尾的任意值

WHERE SALARY LIKE '_2%3'

查找第二位为 2,且以 3 结尾的任意值

WHERE SALARY LIKE '2___3'

查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

glob:SQLite 的 GLOB 运算符是用来匹配通配符指定模式的文本值,与 LIKE 运算符不同的是,GLOB 是大小写敏感的

*:星号代表零个、一个或多个数字或字符

?:问号代表一个单一的数字或字符。这些符号可以被组合使用。

语句

描述

WHERE SALARY GLOB '200*'

查找以 200 开头的任意值

WHERE SALARY GLOB '*200*'

查找任意位置包含 200 的任意值

WHERE SALARY GLOB '?00*'

查找第二位和第三位为 00 的任意值

WHERE SALARY GLOB '2??'

查找以 2 开头,且长度至少为 3 个字符的任意值

WHERE SALARY GLOB '*2'

查找以 2 结尾的任意值

WHERE SALARY GLOB '?2*3'

查找第二位为 2,且以 3 结尾的任意值

WHERE SALARY GLOB '2???3'

查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

SQLite Limit 子句 :限制返回的数据量

格式1:返回指定数量 的结果集

SELECT column1, column2, columnN

FROM table_name

LIMIT [no of rows]

格式2:从M行开始提取N行的值作为结果集返回

SELECT column1, column2, columnN

FROM table_name

LIMIT N OFFSET M

SQLite Order By 排序

语法格式:

SELECT
column-list

FROM table_name

[WHERE
condition]

[ORDER BY
column1, column2, .. columnN] [ASC | DESC];

SQLite Group By 分组

语法格式:

SELECT
column-list

FROM table_name

WHERE [
conditions ]

GROUP BY
column1, column2....columnN

ORDER BY
column1, column2....columnN

SQLite Having 子句 HAVING
子句允许指定条件来过滤将出现在最终结果中的分组结果。

语法

下面是 HAVING 子句在 SELECT 查询中的位置:

SELECT FROM WHERE GROUP BY HAVING ORDER
BY

SELECT column1, column2 FROM table1,
table2

WHERE [ conditions ] GROUP BY column1,
column2

HAVING [ conditions ]

ORDER BY column1, column2

SQLite Distinct 关键字 去重

语法

用于消除重复记录的 DISTINCT 关键字的基本语法如下:

SELECT DISTINCT column1,
column2,.....columnN

FROM table_name

WHERE [condition]

SQLite 常用函数

SQLite 有许多内置函数用于处理字符串或数字数据。下面列出了一些有用的 SQLite 内置函数,且所有函数都是大小写不敏感,这意味着您可以使用这些函数的小写形式或大写形式或混合形式。欲了解更多详情,请查看 SQLite 的官方文档:

序号

函数 & 描述

1

SQLite COUNT 函数
SQLite COUNT 聚集函数是用来计算一个数据库表中的行数。

2

SQLite MAX 函数
SQLite MAX 聚合函数允许我们选择某列的最大值。

3

SQLite MIN 函数
SQLite MIN 聚合函数允许我们选择某列的最小值。

4

SQLite AVG 函数
SQLite AVG 聚合函数计算某列的平均值。

5

SQLite SUM 函数
SQLite SUM 聚合函数允许为一个数值列计算总和。

6

SQLite RANDOM 函数
SQLite RANDOM 函数返回一个介于 -9223372036854775808 和
+9223372036854775807 之间的伪随机整数。

7

SQLite ABS 函数
SQLite ABS 函数返回数值参数的绝对值。

8

SQLite UPPER 函数
SQLite UPPER 函数把字符串转换为大写字母。

9

SQLite LOWER 函数
SQLite LOWER 函数把字符串转换为小写字母。

10

SQLite LENGTH 函数
SQLite LENGTH 函数返回字符串的长度。

sqlite 初的更多相关文章

  1. Android开发:第四日——SQLite初接触

    一.SQLite 介绍 SQLite一个非常流行的轻量级嵌入式数据库,SQLite支持多数的SQL92标准,在一些场合下其性能优于MySql等数据库引擎,并且只利用很少的内存就有很好的性能.此外它还是 ...

  2. 一些iOS高效开源类库

    因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开 ...

  3. IOS一些高效的第三方框架库

    MBProgressHUD ——进展指示符库 苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore.而 MBProgres ...

  4. iOS各种开源类库

    KissXml——xml解析库 相关教程:http://www.iteye.com/topic/625849 http://sencho.blog.163.com/blog/static/830562 ...

  5. ios开源项目(各种有用的第三方库)

    状态栏:MTStatusBarOverlay  下拉刷新:EGOTableViewPullRefresh  网络应用:ASIHTTPRequest  等待特效:MBProgressHUD  JSON解 ...

  6. iOS高效开源类库

    因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开 ...

  7. [IOS A] - 一些开源类库

    因 为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程 中用到的一些比较有用Objective- ...

  8. ios开发经常使用到的第三方库

    由于iOS SDK相对照较底层,所以开发人员就得受累多做一些体力活.只是幸运的是,有非常多第三方的类库能够用来简化非常多不必要的工作.经过作者团队的谨慎讨论.他们 评选出了10款可以极大提高iOS开发 ...

  9. 安卓初級教程(4):sqlite建立資料庫

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

随机推荐

  1. Oracle 字符集的查看和修改 分类: H2_ORACLE 2013-06-19 16:52 316人阅读 评论(0) 收藏

    一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...

  2. css3-6 表格如何设置样式和定位样式是什么

    css3-6 表格如何设置样式和定位样式是什么 一.总结 一句话总结:css可以解决所有属性设置的样式. 1.表格如何设置样式? css样式可以解决一切问题,没必要在表格上面加属性来设置样式. 7 t ...

  3. Android多线程研究(1)——线程基础及源码剖析

    从今天起我们来看一下Android中的多线程的知识,Android入门容易,但是要完成一个完善的产品却不容易,让我们从线程开始一步步深入Android内部. 一.线程基础回顾 package com. ...

  4. 编译Android下可用的FFmpeg+x264

    编译Android下可用的FFmpeg+x264 编译x264: 下载最新版的x264 ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ 1.解压 ...

  5. Tampermonkey版Vimium

    Tampermonkey版Vimium https://zhuanlan.zhihu.com/p/27222664

  6. 《从零開始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射

    原创文章.欢迎转载.转载请注明:关东升的博客 posted @ 2017-07-21 13:23 zhchoutai 阅读(...) 评论(...) 编辑 收藏

  7. [读书笔记]《Android开发艺术探索》第十五章笔记

    Android性能优化 Android不可能无限制的使用内存和CPU资源,过多的使用内存会导致内存溢出,即OOM. 而过多的使用CPU资源,通常是指做大量的耗时任务,会导致手机变的卡顿甚至出现程序无法 ...

  8. Qt单元测试工具 QTestlib(QVERIFY, QFETCH, QCOMPARE等)

    优点: QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能. 特性 详细描述 轻量级 QTestlib 只包含 6000行代码和 60个导出符号. 自包含 对于非GUI测 ...

  9. erlang应用发布

    http://blog.csdn.net/zhangxinrun/article/details/6993892 参考“转载1”和“转载2”就可以了,但需要注意以下两点: 1.如果用rebar - c ...

  10. dotnet core 通过修改文件头的方式隐藏控制台窗口

    原文:dotnet core 通过修改文件头的方式隐藏控制台窗口 在带界面的 dotnet core 程序运行的时候就会出现一个控制台窗口,本文告诉大家使用最简单方法去隐藏控制台窗口. 最近在使用 A ...