当前位置:   article > 正文

sqlite学习归总_sqlite_open_create sqlite_open_readwrite

sqlite_open_create sqlite_open_readwrite
简介
  • SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程
  • SQL语句是SQL操作的指令,我们用C/C++访问数据库时,需要用char*即C字符串来保存SQL语句,然后调用相应sqlite3库的函数,传入C字符串,来执行SQL指令。
  • 常用术语:表(table)、字段(column,列,属性)、记录(row,record)。
使用sqlite3命令进行查看tables
.tables
  • 1
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); 
  • 1
  • 2
  • 3
  • 4
  • 5
删除表 ⟹ drop:
dorp table 表名;
drop table if exists 表名;

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

INSERT INTO t_person (name, age) VALUES ('大明', 22); 
  • 1
  • 2
  • 3
  • 4
修改表中的数据 ⟹ 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。
  • 1
  • 2
  • 3
  • 4
  • 5
删除表中的数据 ⟹ 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的记录。 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
数据查询语句(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; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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 << "打开数据库连接失败";
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
关闭数据库 sqlite3_close_v2(sqlite3* sql)
if (sql) {
        sqlite3_close_v2(sql);
        sql = nullptr;
}
  • 1
  • 2
  • 3
  • 4
参考

sqlite库安装
C++ SQLite的使用总结

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/490962
推荐阅读
相关标签
  

闽ICP备14008679号