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. 【26.8%】【CF 46D】Parking Lot

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  2. [Java][web]利用Spring随时随地获得Request和Session

    利用Spring随时随地获得Request和Session 一.准备工作: 在web.xml中加入 <listener> <listener-class> org.spring ...

  3. Web报表工具FineReport实现EXCEL数据导入自由报表

    在制作填报报表的时候.对于空白填报表,经常导出为Excel,派发给各部门人员填写后上交.怎样能避免手动输入,直接将Excel中的数据导入到填报表中提交入库呢? 这里以一个简单的员工信息填报演示样例进行 ...

  4. .Net Core身份认证:IdentityServer4实现OAuth 2.0 客户端模式 - 简书

    原文:.Net Core身份认证:IdentityServer4实现OAuth 2.0 客户端模式 - 简书 一.客户端模式介绍 客户端模式(Client Credentials Grant)是指客户 ...

  5. [Grid Layout] Place grid items on a grid using grid-column and grid-row

    It’s possible to position a grid item anywhere on a grid track. To do this, let’s specify some grid- ...

  6. 详解PHP设置定时任务的实现方法

    详解PHP设置定时任务的实现方法 一.总结 一句话总结: 1.ignore_user_abort(true)是什么意思? 无论客户端是否关闭浏览器,下面的代码都将得到执行 2.set_time_lim ...

  7. 【u022】车的放置

    [问题描述] [题解] 先考虑一个最简单的情况.如一个n*n的棋盘.然后要放k个车. 我们可以先选出k行即C(n,k); 然后在列上对这k个棋子进行一次全排列即A(n,k); 比如k = 4;N=5 ...

  8. springmvc-Controller类的方法返回String不跳转

    买了本书,打算系统的学习一下spring,做了一下书中的练习,出现了一个问题,Controller类的方法返回String,但是页面不跳转,而是直接把字符串的内容显示到页面上. @RequestMap ...

  9. System.getProperty()获取系统的配置信息(系统变量)

    原文地址:http://www.jsjtt.com/java/Javajichu/105.html 此处记录备用. 1. 通过System.getProperty()可以获取系统的配置信息,Syste ...

  10. Android四大组件之Activity--管理方式

    1. 概览 Activity的管理有静态和动态两层涵义: 静态是指Activity的代码组织结构,即Application中声明的Activity的集合,这些Activity被组织在一个APK中,有特 ...