• 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 函数返回字符串的长度。

  • 相关阅读:
    Ubuntu 12.04 gedit编辑器 中文乱码
    ubuntu设置vim语法高亮显示和自动缩进
    Linux学习小结(转)
    指向常量的指针和常量指针
    Android之EditText
    android之TextView
    Android存储机制之Preference
    android实现可拖动按钮
    用turtle画图
    torchvision里densenet代码分析
  • 原文地址:https://www.cnblogs.com/shenwenbo/p/8575251.html
Copyright © 2020-2023  润新知