sqlite 初

Posted 迷~途

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlite 初相关的知识,希望对你有一定的参考价值。

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 初的主要内容,如果未能解决你的问题,请参考以下文章

Saturday SQL Server 2016 初体验

SQL注入:Sqlmap初体验

(私人收藏)SQLite 全面手册以及教程

BOA+PHP+SQLite之SQLite

Android--SQLite应用

玩转SQLite系列初识SQLite,重拾sql语句