SQLite3数据库的介绍和使用(面向业务编程-数据库)

SQLite3介绍

SQLite是一种用C语言实现的的SQL数据库

它的特点有:轻量级、快速、独立、高可靠性、跨平台

它广泛应用在全世界范围内的手机电脑应用的内建数据库

官网地址:SQLite Home Page

SQLite因为其采用文件存储,且容易移植。在嵌入式中应用非常广泛,可以说是嵌入式业务开发的必学库

这次先讲一下怎么获取源码和使用

获取SQLite3源码

SQLite3的官网是https://www.sqlite.org/download.html

在官网找到sqlite-autoconf-3410200.tar.gz文件下载,如下

wget https://www.sqlite.org/2023/sqlite-autoconf-3410200.tar.gz
tar -zxvf sqlite-autoconf-3410200

下载后解压,会发现里面很多其他的文件。其中,tea目录是(Tcl Extension Architecture)可以不用管

主要看里面的c文件和h文件,所以我们把源代码放到另一个目录

在工程目录创建一个目录lib/sqlite3,然后删除解压后的源码目录

cp sqlite-autoconf-3410200/*.c lib/sqlite3/
cp sqlite-autoconf-3410200/*.h lib/sqlite3/
rm -r sqlite-autoconf-3410200

将需要的头文件和源文件拷贝进去

有点强的是sqlite3.c文件的大小居然有8.3M

完成后目录树大概应该是这个样子的

├── build
├── CMakeLists.txt
├── main.cpp
└── lib
    └── sqlite3
        ├── shell.c
        ├── sqlite3.c
        ├── sqlite3ext.h
        ├── sqlite3.h
        └── sqlite3rc.h

编写CMake工程

其中shell.c是对应的命令行文件,我们可以不用添加。仔细研读官网的文档

How To Compile SQLite

所以CMakeLists.txt我们可以这么写

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(useSQLite LANGUAGES C CXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread")
add_executable(useSQLite main.cpp)
# lib sqlite3
include_directories(lib/sqlite3)
add_library(sqlite3
    STATIC
    lib/sqlite3/sqlite3.c)
target_link_libraries(sqlite3 dl)
#
target_link_libraries(useSQLite sqlite3)
# sqlite3-cli
add_executable(SQLite3-cli lib/sqlite3/shell.c)
target_link_libraries(SQLite3-cli sqlite3)

其中关于添加-ldl选项的步骤参考回答:c - CMake add -ldl at end of link stage of add_library - Stack Overflow

main.cpp

添加main.cpp文件如下

#include <iostream>
#include <stdio.h>
#include <sqlite3.h>

static int callback(void *NotUsed, int argc, char **argv, char **azColName) {
    int i;
    for (i = 0; i < argc; i++) {
        printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
    }
    printf("\n");
    return 0;
}

int main(int argc, char **argv) {
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;

    if (argc != 3) {
        fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
        return(1);
    }
    rc = sqlite3_open(argv[1], &db);
    if (rc) {
        fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        return(1);
    }
    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
    if (rc!=SQLITE_OK) {
        fprintf(stderr, "SQL error: %s\n", zErrMsg);
        sqlite3_free(zErrMsg);
    }
    sqlite3_close(db);
    return 0;
}

简单讲一下这个源码,其实就是打开一个数据库文件执行一条指令

看上面的Usage: %s DATABASE SQL-STATEMENT\n就知道,参数是带引号的SQL语句

里面调用了三个库

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VB.NET是一种面向对象的编程语言,可以轻松地操作各种类型的数据库,其中包括SQLite数据库SQLite是一种开源的关系型数据库,它非常流行,因为它是轻巧且易于使用。 在VB.NET中,可以使用SQLite.NET提供的SQLiteDataAdapter和SQLiteCommand对象来连接和操作SQLite数据库。具体步骤如下: 1.打开VB.NET开发环境,创建一个新的VB.NET项目; 2.在“工具”菜单下选择“NuGet包管理器”,在弹出的窗口中搜索“System.Data.SQLite”,并下载并安装该依赖项; 3.在VB.NET项目中添加一个引用“System.Data.SQLite”,并导入命名空间“System.Data.SQLite”; 4.创建一个SQLiteConnection对象,将连接字符串传递给它,以便连接到SQLite数据库; Dim connection As New SQLiteConnection("Data Source=pathToDatabase.db") 5.创建一个SQLiteCommand对象,可用于执行SQL命令; Dim command As New SQLiteCommand("SELECT * FROM tablename", connection) 6.使用DataAdapter对象读取和写入数据。可以使用DataAdapter的Fill方法填充DataTable(或DataSet),也可以使用DataAdapter的Update方法将更改保存回数据库。 Dim adapter As New SQLiteDataAdapter(command) Dim dataTable As New DataTable() adapter.Fill(dataTable) 7.关闭数据库连接。 connection.Close() 通过这些步骤,您可以轻松地使用VB.NET操作SQLite数据库。以SQLite为基础的应用程序可以以高效、可靠的方式存储数据,同时保持数据格式的完整性和一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亭台六七座

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值