网站开发评估与调整,抖音小程序怎么入驻,儿童编程教学入门教程,淮阳住房和城乡建设局网站#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍sqlite3数据库配置使用。 无专精则不能成#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜欢的朋友可以关注一下#xff0c;下… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍sqlite3数据库配置使用。 无专精则不能成无涉猎则不能通。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 项目介绍:blush:2. 环境配置:satisfied:3. 使用说明 1. 项目介绍
项目Github地址https://github.com/sqlite/sqlite
SQLite 是一种嵌入式的关系型数据库管理系统它是一个开源项目已经被广泛应用于各种应用程序和操作系统中。以下是一些 SQLite 的特点 1.轻量级SQLite 是一个非常轻量级的数据库系统它的设计目标之一是简单、高效、占用资源少。SQLite 的核心库非常小巧以静态或动态链接方式与应用程序集成使得它适用于嵌入式设备和资源受限的环境。 2.无服务器架构SQLite 是一种无服务器架构的数据库意味着它不需要单独的数据库服务器进程数据库操作直接在应用程序内部进行。这种架构使得 SQLite 在本地应用和单用户场景中非常方便和易用。 3.单一文件存储SQLite 数据库以单一文件的形式存储在磁盘上这个文件可以包含整个数据库结构和数据。这种单一文件存储的特点使得 SQLite 数据库非常易于备份、传输和部署。 4.支持标准 SQLSQLite 支持标准的 SQL 查询语言包括常见的增删改查操作、视图、触发器、索引等功能。它遵循 ANSI-SQL 标准并且提供了丰富的数据类型和内置函数支持。 5.ACID 事务支持SQLite 支持 ACID原子性、一致性、隔离性和持久性事务可以确保数据库操作的可靠性和一致性。它使用写-读锁定来实现并发控制和多用户访问。 6.跨平台SQLite 是跨平台的数据库系统它可以运行在各种操作系统上包括 Windows、macOS、Linux、Android 等。 7.开源和自由SQLite 是一个完全开源的项目遵循公共领域Public Domain版权协议可以免费使用、复制和分发。 SQLite 具有的这些特点使得它成为一种非常流行的数据库选择尤其适合于小型和中小型的应用程序、移动应用、嵌入式设备等场景。无论是作为独立的数据库引擎还是与其他编程语言和框架集成SQLite 提供了一种轻便、灵活和可靠的解决方案。
2. 环境配置
下面进行环境配置
ubuntu可直接apt安装另外可安装sqlitebrowser可视化工具便于管理。
# 安装sqlite3
sudo apt install sqlite3 libsqlite3-dev
sqlite3 --version
sqlite3 test.db
# 安装sqlitebrowser
sudo apt-get install sqlitebrowser
sqlitebrowser test.dbsqlite常用命令
.databases列出当前连接的数据库
.tables列出当前数据库中的表
.schema tablename显示指定表的结构
CREATE TABLE tablename (column1 datatype, column2 datatype, ...);创建表
INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);插入数据
SELECT * FROM tablename;查询表中的数据
UPDATE tablename SET column1value1, column2value2 WHERE condition;更新表中的数据
DELETE FROM tablename WHERE condition;删除表中的数据
.exit退出命令行3. 使用说明
下面进行使用分析
数据库创建、插入、查询、关闭示例
#include iostream
#include sqlite3.hint main(int argc, char** argv) {sqlite3* db;char* errorMsg nullptr;// 打开或创建数据库文件int rc sqlite3_open(example.db, db);if (rc ! SQLITE_OK) {std::cout 无法打开数据库: sqlite3_errmsg(db) std::endl;return rc;}// 创建表const char* createTableQuery CREATE TABLE IF NOT EXISTS employees (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);rc sqlite3_exec(db, createTableQuery, nullptr, nullptr, errorMsg);if (rc ! SQLITE_OK) {std::cout 无法创建表: errorMsg std::endl;sqlite3_free(errorMsg);sqlite3_close(db);return rc;}// 插入数据const char* insertDataQuery INSERT INTO employees (id, name, age) VALUES (1, Alice, 25);rc sqlite3_exec(db, insertDataQuery, nullptr, nullptr, errorMsg);if (rc ! SQLITE_OK) {std::cout 无法插入数据: errorMsg std::endl;sqlite3_free(errorMsg);sqlite3_close(db);return rc;}// 查询数据const char* selectDataQuery SELECT * FROM employees;rc sqlite3_exec(db,selectDataQuery,[](void* data, int argc, char** argv, char** colNames) - int {for (int i 0; i argc; i) {std::cout colNames[i] argv[i] std::endl;}return 0;},nullptr,errorMsg);if (rc ! SQLITE_OK) {std::cout 无法查询数据: errorMsg std::endl;sqlite3_free(errorMsg);sqlite3_close(db);return rc;}// 关闭数据库连接sqlite3_close(db);return 0;
}编译运行
g -o main main.cpp -lsqlite3 ./main以上。