IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> sqlite学习归总 -> 正文阅读

[大数据]sqlite学习归总

简介

  • SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程
  • SQL语句是SQL操作的指令,我们用C/C++访问数据库时,需要用char*即C字符串来保存SQL语句,然后调用相应sqlite3库的函数,传入C字符串,来执行SQL指令。
  • 常用术语:表(table)、字段(column,列,属性)、记录(row,record)。

SQL(structured query language)语句

  • 特点:不区分大小写,每条语句后加";"结尾。
  • 关键字:select、insert、update、delete、from、creat、where、desc、order、by、group、table、alter、view、index等,数据库中不能使用关键字命名表和字段。
数据定义语句(DDL:Data Definition Language)

新建表 ? createcreate table 表名 (字段名1 字段类型1,字段名2 字段类型2,。。。); 
create table if not exists 表名 (字段名1 字段类型1,字段名2 字段类型2,。。。);

CREATE TABLE IF NOT EXISTS t_person (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, age integer NOT NULL); 
删除表 ? drop:
dorp table 表名;
drop table if exists 表名;

DROP TABLE IF EXISTS t_person; 
数据操作语句(DML:Data Manipulation language)
添加表中的数据 ? insertinsert into 表名 (字段1,字段2,。。。) values (字段1的值,字段2的值);字符串内容用单引号。

INSERT INTO t_person (name, age) VALUES ('大明', 22); 
修改表中的数据 ? updateupdate 表名 set 字段1 = 字段1的值,字段2 = 字段2的值,。。。;

UPDATE t_person SET name = '小明', age = 10; // 把表中name字段的值全部改成小明,age字段的值全部改成10。  
UPDATE t_person SET age = 12 WHERE name = '小明'; // 把表中name字段值是小明的age值改为12。
删除表中的数据 ? deletedelete from 表名;delete from 表名 where 字段 = 字段值。

DELETE FROM t_person; // 删除表中的所有记录。 
DELETE FROM t_person WHERE age = 25; // 删除表中字段age等于25的这条记录。 
DELETE FROM t_person WHERE age > 12 AND age < 15; // 删除表中年龄大于12且小于15的记录。 

数据查询语句(DQL:Data Query Language)

selectselect 字段1, 字段2, 。。。 from 表名;
select 字段1, 字段2, 。。。 from 表名 where 字段 = 某值;
select * from 表名;(查询所有的字段)
表别名:select 字段1 别名, 字段2 别名,。。。from 表名 别名;
select 字段1 别名, 字段2 as 别名,。。。from 表名 as 别名;select 别名.字段1,别名.字段2,。。。from 表名 别名;

SELECT name, age FROM t_person WHERE age < 80; 
SELECT name, age nianling FROM t_person ren WHERE ren.age > 80 AND nianling < 90; 

C/C++上使用SQLite3

环境
  • 配置好C/C++项目环境:导入sqlite3.lib和sqlite3.dll,包含头文件#include <sqlite3.h>。

打开或创建数据库

sqlite3 *sql = NULL; // 一个打开的数据库实例
    const char * path = "..../test.db";//某个sql文件的路径

    // 根据文件路径打开数据库连接。如果数据库不存在,则创建。
    // 数据库文件的路径必须以C字符串传入。
    int result = sqlite3_open_v2(path, &sql, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE, NULL);

    if (result == SQLITE_OK) {
        std::clog << "打开数据库连接成功";
    }
    else {
        std::clog << "打开数据库连接失败";
    }

关闭数据库 sqlite3_close_v2(sqlite3* sql)

if (sql) {
        sqlite3_close_v2(sql);
        sql = nullptr;
}

参考

C++ SQLite的使用总结

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 11:51:47  更:2021-10-15 11:52:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:19:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码