zoukankan      html  css  js  c++  java
  • SQLite3数据库

    #SQLite可视化管理工具(SQLite Expert Pro)

    SQLite特点:

    1. 遵守ACID(原子性、一致性、隔离性和持久性)的关系型数据库管理系统;
    2. 不是一个C/S结构的数据库引擎,而是被集成在用户程序中;不是一个应用程序与之通信的进程;
    3. 是一种嵌入式数据库,它的数据库就是一个文件。
    4. Android、iOS等移动操作系统中的数据库实现就使用的SQLite3;它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口;
    5. 比目前流行的大多数数据库对数据的操作要快;
    6. SQLite3支持数据库大小至2TB,包含在一个C程序库中大小250KB;

    7. 零装配,无需安装和配置;

    基本结构:

    简单来说两部分——前端解析系统--后端引擎

    SQLite的表和索引用B/B+树来组织

    SQL语句

    1. 创建表

    create table 表名 (字段1  数据类型约束1,  ...  , 字段n  数据类型约束n )

    create table students ( id integer primary key autoincrement,
    name vachar(20) check (length(name) > 3),
    tel_no vachar(11) not null,
    cls_id integer not noll,
    unique (name, tel_no),
    FOREIGN KEY(cls_id) REFERENCES classes(id)
    );
    

    SQLite数据类型

    声明类型 亲缘类型 应用规则
    INT
    INTEGER
    TINYINT
    SMALLINT
    MEDIUMINT
    BIGINT
    UNSIGNED BIG INT
    INT2
    INT8
    INTEGER 1
    CHARACTER(20)
    VARCHAR(255)
    VARYING CHARACTER(255)
    NCHAR(55)
    NATIVE CHARACTER(70)
    NVARCHAR(100)
    TEXT
    CLOB
    TEXT 2
    BLOB NONE 3
    REAL
    DOUBLE
    DOUBLE PRECISION
    FLOAT
    REAL 4
    NUMERIC
    DECIMAL(10,5)
    BOOLEAN
    DATE
    DATETIME
    NUMERIC 5

    主键约束:

    SQLite表中含有一个内置主键row_id

    外键约束:

    外键能够确保表中的关键值必须从另一个表中引用,且该数据必须在另一个表中存在,否则会操作失败或引发其他的连锁反应。 

    2. 插入数据

    insert into 表名 (字段列表) values (与字段列表中对应的字段值)

    举例,

    insert into classes values(1, 'software', 2010);

    批量插入

    insert into stu select * from students;

    3. select语句——使用数据库

    3部分组成:基本操作,附加操作,扩展操作

    select [distinct] columns from tables
    
        where predictate
    
        group by columes
    
        having predicate
    
        order by columns
    
        limit count, offset;
    

    4. update语句——更新表中数据

    update table set update_list where predicate;

    5. delete语句——删除数据

    delete from table where predicate

    6. 修改表

    alter table tableName { rename to newName | add column 新的字段}

    SQLite API

    基本操作:增、删、查、改

    insert,delete, query, update

    Cursor

    当执行查询语句时,返回的数据类型为Curor。它是一个提供了随机读写访问数据库查询结果集的接口,Cursor并不是线程安全的,因此,当在多线程中访问Cursor对象时要手动进行同步,避免出现线程安全问题。

    Cursor中定义了一个光标位置,该光标默认指向第一个数据。

    用户可以通过moveToNext函数不断地移动光标获取下一个函数,不断地重复这个过程就可以获取到所有数据。

      

     

  • 相关阅读:
    hdu 1203 I NEED A OFFER! 01背包
    hdu2602 Bone Collector 01背包
    hdu 2546 饭卡 01背包
    ACM-ICPC 2018 焦作赛区网络预赛 G Give Candies
    ACM-ICPC 2018 焦作赛区网络预赛 I Save the Room
    poj1564 Sum It Up dfs水题
    VS2019生成并使用动态链接库(自测有用)
    英语发音基础五天搞定之第三天
    Some thoughts in the Novel Coronavirus holiday
    ​英语发音基础五天搞定之第二天
  • 原文地址:https://www.cnblogs.com/eniac1946/p/7562677.html
Copyright © 2011-2022 走看看