Linux下的SQLite数据库的基本使用

Linux基础之SQLite数据库 1)其中几种数据库表的增删改查没用到的,差不多都是以上的方式去实现2)最重要的是会把 SQLite 数据库的转换成链表的形式或者二叉树的形式。 阅读详情

目录

1.Linux下的数据库介绍

2.嵌入式数据库的特点以及分类

(1)特点

(2)分类

3.嵌入式数据库的应用

4.SQLite数据库的安装

(1)安装SQLite数据库

(2)SQLite数据库可视化界面软件安装

5.SQLite数据库的一些基本命令

6.SQLite相关表的操作

(1)创建表

(2)表中插入数据

(3)查询表中的数据

(4)更改表中的数据

(5)建立索引

(6)删除数据和删除表

7.SQLite数据库的API函数

(1)打开数据库

(2)关闭数据库

(3)执行函数

(4)释放内存函数

(5)显示错误信息

(6)获取结果集

(7)释放结果集

(8)声明SQL语句

(9)销毁SQL语句

(10)重置SQL语句

(11)实例解释

(12)关于SQLite几点情况


1.Linux下的数据库介绍

提示:如果读者对于Oracle数据库了解的话,那么对于SQLite数据库的相关操作也类似。

Oracle学习的相关知识点(汇总)

嵌入式数据库将数据库系统与操作系统和具体应用集成在一起,运行在各种智能嵌入式设备上。与传统的数据库系统相比,它一般体积较小,有较强的便携性和易用性,以及较为完备的功能来实现用户对数据库的管理操作。

嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进行运行时,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在速度更快,需要较少的内存。

2.嵌入式数据库的特点以及分类

(1)特点

  •  嵌入式数据库不仅可以嵌入式到其他的软件当中,也可以嵌入到硬件设备当中。
  • 嵌入式系统能够在没有人工干预的情况下长时间不间断的运行。
  • 实时性。
  • 嵌入式数据库具有一定较好的移动性。

(2)分类

  •  软件嵌入式数据库
    • 面向软件的嵌入式数据库,将数据库作为组件嵌入到其他的软件系统中,一般对于数据库的安全性,稳定性和速度要求比较高。
  • 设备嵌入式数据库
    • 将关系型数据库嵌入到设备当中去,作为设备资源数据处理的核心组件,要求具有很高的实时性和稳定性。
  • 内存数据库
    • 数据库直接在内存中运行,数据处理更加高速,但是安全性方面需要额外的手段来保障。

3.嵌入式数据库的应用

  •  医疗领域
  • 军事设备和系统
  • 地理信息系统
  • 工业控制
  • 网络通信
  • 空间搜索
  • 消费类电子

4.SQLite数据库的安装

开始安装软件的时候可能需要换源:Ubuntu换源教程

SQLite对SQL92标准的支持包括索引,限制,触发和查看。SQLite不支持外键限制,但支持原子的,一致的,独立的和持久的事务。

  • 原子的:它们要么完全执行,要么根本不执行;
  • 一致的:在不一致的状态中,数据库从未被保留;
  • 独立的:在同一时间同一数据库上有两个执行操作的事务,那么这两个事务互不干扰;
  • 持久的:数据库能够在崩溃和断点的情况下不丢失数据或损坏。

SQLite数据库包含的组件:SQL编译器,内核,后端以及附件。

SQLite支持高达2TB的数据库,每个数据库完全存储在单个磁盘文件中,这些磁盘文件在不同字节顺序的计算机之间移动。 

(1)安装SQLite数据库

下载:sudo apt-get install sqlite

打开:sqlite3 mydb.db

提示:读者也可以到官网下载源码编译安装:SQLite数据库官网源码下载 

(2)SQLite数据库可视化界面软件安装

下载:sudo apt-get install sqlitebrowser

打开:sqlitebrower

 

5.SQLite数据库的一些基本命令

SQLite基本操作命令
命令说明
.database列出附加数据库的名称和文件
.open [数据库名称]打开数据库
.chanages on |off显示SQL更改的行数
.table查看当前数据库下的表
.schema查看数据库的表结构
.quit退出数据库
.exit退出数据库
.output查询的结果输出到文件,如:.output demo.txt
.dump输出表结构,同时输出操作记录,可以创建一个包含必要命令和数据的文件。

 

 

6.SQLite相关表的操作

字段类型
类型说明
integer无符号整形
varchar(20)可变长的字符数据
text文本字符串,存储使用的编码方式为UTF-8、UTF-16BE、UTF-16LE
real浮点型
blob存储Blob数据,该类型数据和输入数据完全相同。

(1)创建表

create table [创建表名](属性1,属性2,属性3……)

如:create table demo(id integer,name varchar(20))

(2)表中插入数据

insert into table_name values(data1,data2,……)

如:insert into demo values(1,'tom');

(3)查询表中的数据

select column from table_name where expression;

如:查询表中id=1的信息

select *

        from demo

        where id=1;

  

(4)更改表中的数据

update table_name set data1=[修改的值] where expression;

如:修改id=1的信息

update demo

        set name='gupdf'

        where id=1;

(5)建立索引

create index index_name on table_name (field_to_be_indexed);

如:对表demo的id建立一个索引sea

create index

        sea on demo(id);

(6)删除数据和删除表

删除数据:delete from table_name where expression;

如:delete from demo where id=1;

删除表:drop table table_name;

drop table demo;

7.SQLite数据库的API函数

在使用SQLite数据库的API之前,首先了解一些知识点:

SQLite的API学习手册

SQLite的API官方教程

我们在使用SQLite3之前都是需要导入头文件了<sqlite3.h>

但是这个头文件在下载的sqlite3中是不包含的,看下:

可以下载sqlite3文件查看里面并不包含include文件:sudo apt-get download sqlite3

下载sqlite3头文件:

SQLite3头文件下载

 

知识点来源:知识点来源 

(1)打开数据库

int sqlite3_open(

        const char*filename,//数据库名称

        sqlite3**ppDb//输出参数,SQLite数据库句柄

);

提示:该函数用来打开或者创建一个SQLite数据库。

  • 如果在包含该函数的文件所在的路径下有同名的数据库(*.db),则打开数据库;
  • 如果不存在数据库,则在该路径下创建一个同名的数据库。
  • 如果打开或者创建数据库成功,则该函数返回0,输出参数为SQLite3类型的变量,后序对该数据库的操作,通过参数进行传递。

(2)关闭数据库

格式:int sqlite3_close(sqlite3*db);

提示:结束对数据库的操作之后需要调用该函数关闭数据库,该函数的参数为成功打开数据库时输出参数——SQLite3类型变量(句柄)

(3)执行函数

格式:

int sqlite3_exec(

        sqlite3*,//打开数据库的名称

        const char*sql,//要执行的SQL语句

        sqlite_callback,//回调函数

        void*,//回调函数的参数

        char **errmsg//错误信息

)

提示:如果要对数据库进行操作,即可使用该函数来完成。如果出现错误信息的话,可以相应的错误信息保存到errmsg中。

(4)释放内存函数

格式:void sqlite3_free(char*z)

提示:在对数据库操作时,如果需要释放在中间过程中保存在内存中的数据,则可以通过此函数来清除内存空间。

(5)显示错误信息

格式:const char *sqlite3_errmsg(sqlite3*)

提示:将在对数据库的操作过程出现的错误信息通过此函数输出。

(6)获取结果集

格式:int sqlite3 _get_table(        

        sqlite3*,//打开数据库名称

        const char*sql,//执行的SQL语句

        char***resultp,//输出的结果

        int *nrow,//输出结果的行数

        int *ncolumn,//输出结果的列数

        char**errmsg//错误信息

)

提示:对数据库进行操作时,通过此函数来获取结果。

函数的入口参数为查询的SQL语句,出口参数为二维指针,指示查询结果的内容,还有结果的行数和列数,行数为纯记录条数,但是resultp数组里面包含了一行字段名的值。

resultp输出的结果应该是下面的样子(了解输出的结果才能很好的对结果进行处理):

(7)释放结果集

格式:int sqlite3_free_table(char**result)

提示:释放sqlite3 _get_table函数所分配的内存。

(8)声明SQL语句

格式:int sqlite3_prepare(

        sqlite3*,

        const char*,

        int sqlite3_stmt**,

        const char**

)

提示:将一条SQL语句编译成字节码留给后面的执行函数,使用该接口访问数据库当前比较的一种方式。

(9)销毁SQL语句

格式:int sqlite3_finalize(sqlite3_stmt*)

提示:销毁将一个准备好的SQL声明,在数据库关闭之前,所有准备好的声明都将被释放销毁。

(10)重置SQL语句

格式:int sqlite3_reset(sqlite3_stmt*)

提示:重置一个SQL声明的状态,使得它可以被再次执行。

(11)实例解释

例子1描述:使用SQLite的API函数实现新建一个数据库student.db,并且在数据库中创建表demo,想表中插入数据,查询插入的数据,最后关闭数据库。

第一步:创建一个.c文件sudo touch sqlite_Demo01.c

打开.c文件编写代码:sudo gedit sqlite_Demo01.c

第一步:打开数据库

//open the database
    sqlite3 *ppdb;
    int ret=sqlite3_open("student.db",&ppdb);
    if(ret!=SQLITE_OK){
        printf("sqlite3_open: %s\n",sqlite3_errmsg(ppdb));
        exit(1);
    }

第二步:创建表

 //create table
    char sql[maxn]={0};
    sprintf(sql,"create table if not exists demo(id integer primary key,name varchar(20));");
    ret=sqlite3_exec(ppdb,sql,NULL,NULL,NULL);
    if(ret!=SQLITE_OK){
        printf("sqlite3_exec_create_table: %s\n",sqlite3_errmsg(ppdb));
        exit(1);
    }
    

第三步:插入数据

 //insert the data
    int id;
    int i;
    char name[32]={0};
    int n;
    printf("please entry the insert number: ");
    scanf("%d",&n);
    
    for(i=0;i<n;i++){
        printf("please entry the id and name\n");
        scanf("%d %s",&id,name);
        //clean the sql
        memset(sql,0,sizeof(sql));
        sprintf(sql,"insert into demo values(%d,'%s');",id,name);
        //exert the sqlite3_exec
        ret=sqlite3_exec(ppdb,sql,NULL,NULL,NULL);
        if(ret!=SQLITE_OK){
            printf("sqlite3_exec_insert_table: %s\n",sqlite3_errmsg(ppdb));
            exit(1);
        }
    }

 第四步:查询数据

//select the table
    memset(sql,0,sizeof(sql));
    sprintf(sql,"select * from demo;");
    ret=sqlite3_exec(ppdb,sql,print,NULL,NULL);
    if(ret!=SQLITE_OK){
        printf("sqlite3_exec_select_table: %s\n",sqlite3_errmsg(ppdb));
        exit(1);
    }

打印输出的回调函数print如下: 

//print function
//the name dedicate id and name
//the value dedicate id=1 and name='tom'......
int print(void*arg,int column,char**value,char**name){
	int i;
	for(i=0;i<column;i++){
		printf("%s = %s  ",name[i],value[i]);
	}
	printf("\n");
	//return 0 represent select successfully
	return 0;		
}

 这里的column表示字段数

value表示每一个字段对应的值;

name对应每一个字段名;

查询方式二:

//the second select method
	char **result;
	int row,column;
	ret=sqlite3_get_table(ppdb,sql,&result,&row,&column,NULL);
	if(ret!=SQLITE_OK){
		printf("sqlite3_exec_select_2_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}

	int j;
	int index=column;
	for(i=0;i<row;i++){
		for(j=0;j<column;j++){
			printf("%s = %s  ",result[j],result[index]);
			index++;
		}
		printf("\n");
	}

这里的column指的是字段数;

这里的row表示行数;

数据结果集中排列方式如下: 

最后一步:关闭数据库

//关闭数据库
ret=sqlite3_close(ppdb);
if(ret!=SQLITE_OK){
    printf("sqlite3_exec_close_database: %s\n",sqlite3_errmsg(ppdb));
}

完整代码

#include<stdio.h>
#include<stdlib.h>
#include<sqlite3.h>
#include<string.h>

#define maxn 100

//print function
//the name dedicate id and name
//the value dedicate id=1 and name='tom'......
int print(void*arg,int column,char**value,char**name){
	int i;
	for(i=0;i<column;i++){
		printf("%s = %s",name[i],value[i]);
	}
	printf("\n");
	//return 0 represent select successfully
	return 0;		
}

int main(){
	//open the database
	sqlite3 *ppdb;
	int ret=sqlite3_open("student.db",&ppdb);
	if(ret!=SQLITE_OK){
		printf("sqlite3_open: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	//create table
	char sql[maxn]={0};
	sprintf(sql,"create table if not exists demo(id integer primary key,name varchar(20));");
	ret=sqlite3_exec(ppdb,sql,NULL,NULL,NULL);
	if(ret!=SQLITE_OK){
		printf("sqlite3_exec_create_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	
	//insert the data
	int id;
	int i;
	char name[32]={0};
	int n;
	printf("please entry the insert number: ");
	scanf("%d",&n);
	
	for(i=0;i<n;i++){
		printf("please entry the id and name\n");
		scanf("%d %s",&id,name);
		//clean the sql
		memset(sql,0,sizeof(sql));
		sprintf(sql,"insert into demo values(%d,'%s');",id,name);
		//exert the sqlite3_exec
		ret=sqlite3_exec(ppdb,sql,NULL,NULL,NULL);
		if(ret!=SQLITE_OK){
			printf("sqlite3_exec_insert_table: %s\n",sqlite3_errmsg(ppdb));
			exit(1);
		}
	}
	
	//select the table
	memset(sql,0,sizeof(sql));
	sprintf(sql,"select * from demo;");
	ret=sqlite3_exec(ppdb,sql,print,NULL,NULL);
	if(ret!=SQLITE_OK){
		printf("sqlite3_exec_select_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	//the second select method
	char **result;
	int row,column;
	ret=sqlite3_get_table(ppdb,sql,&result,&row,&column,NULL);
	if(ret!=SQLITE_OK){
		printf("sqlite3_exec_select_2_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}

	int j;
	int index=column;
	for(i=0;i<row;i++){
		for(j=0;j<column;j++){
			printf("%s = %s  ",result[j],result[index]);
			index++;
		}
		printf("\n");
	}
    //关闭数据库
    ret=sqlite3_close(ppdb);
    if(ret!=SQLITE_OK){
        printf("sqlite3_exec_close_database: %s\n",sqlite3_errmsg(ppdb));
    }
	return 0;
}

运行:sudo gcc [源文件.c] -o [可执行文件.o] -lsqlite3

 

例子2:创建一个数据库SQLdatabase数据库,并且创建一个demo表,向表中插入数据并且对插入的数据进行查询,更改和删除,最后关闭数据库。

#include<stdio.h>
#include<stdlib.h>
#include<sqlite3.h>
#include<string.h>


#define maxn 100

int print(void*arg,int column,char**value,char **name){
	int i;
	for(int i=0;i<column;i++){
		printf("%s = %s  \n",name[i],value[i]);
	}
	printf("\n");
	return 0;
}


int main(){
	//open the database
	int i;
	sqlite3*ppdb;
	int ret = sqlite3_open("SQLdatabase.db",&ppdb);
	if(ret!=SQLITE_OK){
		printf("sqlite_error_open: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}	
	//create the table
	char*Errormsg;
	char sql[maxn]={0};
	sprintf(sql,"create table if not exists demo(id integer,name varchar(20),sex integer);");
	ret = sqlite3_exec(ppdb,sql,NULL,NULL,&Errormsg);
	if(ret!=SQLITE_OK){
		printf("sqlite_error_exec_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}	
	//insert data into table
	int id,sex;
	char name[30]={0};
	int n;
	printf("please entry the n number: \n");
	scanf("%d",&n);
	
	for(i=0;i<n;i++){
		printf("please entry the id ,name and sex\n");
		scanf("%d %s %d",&id,name,&sex);
		memset(sql,0,sizeof(sql));
		sprintf(sql,"insert into demo values(%d,'%s',%d);",id,name,sex);
		ret=sqlite3_exec(ppdb,sql,NULL,NULL,&Errormsg);
		if(ret!=SQLITE_OK){
			printf("sqlite_error_insert_table: %s\n",sqlite3_errmsg(ppdb));
			exit(1);
		}
	}
	
	//select the data
	//the first method
	memset(sql,0,sizeof(sql));
	sprintf(sql,"select * from demo;");
	ret=sqlite3_exec(ppdb,sql,print,NULL,&Errormsg);
	if(ret!=SQLITE_OK){
		printf("sqlite_error_select_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	
	//the second method
	int row;
	int column;
	char**result;
	ret=sqlite3_get_table(ppdb,sql,&result,&row,&column,&Errormsg);
	if(ret!=SQLITE_OK){
		printf("sqlite_error_get_table: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	int j;
	int index=column;
	for(i=0;i<row;i++){
		for(j=0;j<column;j++){
			printf("%s = %s  ",result[i],result[index]);
			index++;
		}
		printf("\n");
	}
	
	//delete the data	
	memset(sql,0,sizeof(sql));	
	printf("please entry the delete id: ");
	scanf("%d",&id);
	sprintf(sql,"delete from demo where id=%d;",id);
	ret=sqlite3_exec(ppdb,sql,NULL,NULL,&Errormsg);
	if(ret!=SQLITE_OK){
		printf("sqlite_error_delete_data: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	//close the database
	ret=sqlite3_close(ppdb);
	if(ret!=SQLITE_OK){
		printf("sqlite_error_close_database: %s\n",sqlite3_errmsg(ppdb));
		exit(1);
	}
	return 0;
}





 

 

(12)关于SQLite几点情况

  • 目前没有可用于SQLite的网络服务器。
  • SQLite只提供数据库级IDE锁定;
  • SQLite没有用户账户概念;
  • SQLite支持多数的SQL92标准,不受支持的一些功能包括完全触发器支持和写视图。
Linux系统上使用SQLite 可以使用包管理器(如apt、yum)直接从官方软件源安装SQLite。命令,并指定要打开或创建的数据库文件路径。如果指定的数据库文件不存在,则会创建一个新的数据库。命令行中执行各种SQL语句。例如,我们可以创建表、插入数据、查询数据等。要打开或创建一个SQLite数据库,可以在终端中使用。如果数据库文件不存在,将会创建一个新的数据库文件。命令可以将外部文件中的数据导入到数据库表中。命令可以查看当前数据库中的所有表格。命令可以将查询结果导出到文件中。一旦打开了数据库,就可以在。命令可以查看指定表的模式。 阅读详情

相关推荐

嵌入式Linux系统下的SQLite3数据库移植与编程

本文介绍了如何在基于s5pv210的嵌入式Linux系统上移植和编程SQLite3数据库。通过按照上述步骤进行移植和编写应用程序,开发人员可以在嵌入式系统中使用SQLite3进行轻量级的数据库操作。本文将详细介绍如何在基于s5pv210的嵌入式Linux系统上进行SQLite3数据库的移植与编程。一旦SQLite3数据库引擎成功移植到嵌入式Linux系统中,可以通过编写应用程序来进行数据库操作。通过编写适当的SQL语句和相应的回调函数,可以实现更复杂的数据库操作,如更新数据、删除数据等。

TechGlide的博客 612

linux下sqlite安装及基本使用

个人学习总结的一点linux下sqlite使用的相关知识,学习过程中的小小记录。

qq_51368339的博客 2万+

Linux驱动学习--DB数据库介绍与sqlite的使用

一、引言 二、数据库介绍 三、SQL语言 ------> 1、DML、DDL的概念与区别 ------> 2、SQL中的各类语言 四、sqlite库 ------> 1、打开数据库 ------> 2、关闭数据库 ------> 3、执行squl语句 ------> 4、sqlite 常用命令 (Select、Update等) ------> 5、实例 一、引言 因项目中使用到了DB数据库,之前这块了解的很少,具体就来系统性的整理下 数据库介绍 先来看一张图 数据

文艺小少年的博客 540

linux 下的 sqlite数据库

易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂SQLite是一个的数据库,是自包含的。这也称为嵌入式数据库,这意味着数据库引擎作为应用程序的一部分运行。MySQL需要运行服务器,MySQL将需要客户端和服务器架构通过网络进行交互。

mx_jun的博客 2001

SQLite数据库管理工具(SQLiteStudio) v3.1.1 windows,mac,linux版集合

SQLite数据库管理工具(SQLiteStudio) v3.1.1 内含windows版 mac版 linux版

致远OA公文管理模块相关操作

致远oa协同办公系统 公文管理模板 相关操作

weixin_59666050的博客 4276

LINUX下使用SQLite查看.db数据库文件

Linux下使用SQLite查看.db数据库文件的具体方法以及命令介绍

又闻银铃声的博客 1万+

2025年人形机器人产业研究

人形机器人是一种模仿人类外形、动作和行为的机器人,旨在替代或辅助人类完成各种任务。其显著特征包括人类外形、动作模仿和智能交互能力。根据形态和功能,人形机器人可分为小型、中型、大型以及服务型、工业型、救援型和娱乐型等类别。发展历程经历了初始阶段、高度集成系统阶段和突破性进展阶段,技术不断进步。关键技术包括执行系统、控制系统和感知与交互系统,涉及机械结构、运动控制、平衡控制、任务执行控制以及感知与交互能力。主要研究方向包括外部仿人化和内部仿生,前者关注外观设计、动作控制和任务执行能力,后者致力于模拟人类核心机制

一名80后IT人的成长记录,记录自己在工作、学习中的点点滴滴,在成长的喜悦与忧心的故事里,铭记反脆弱的勇气。 1569

linux 下查看sqlite的 .db 数据库文件

转载▼ sqlite的.db文件打开:    在windows可以用firefox浏览器插件 sqlite manager。    在linux(本示例用centos)下:      1、先去sqlite主页http://www.sqlite.org/.跳转到下载页http://www.sqlite.org/download.html,下载linux版本的sqlite安装文件。

Sam 的专栏 1万+

054_小驰私房菜_Camx i2c读写相关备忘

Camera 对Ae、Af这些控制,实际都是,最终实际都是落实到hal下发相关的指令给驱动,那hal这边是怎么给驱动下发相关命令的呢?#小驰私房菜054# #Qcom Camx#可以参考看下下面相关代码内容。

149

SAP PCE 到底有没有 AI 能力:从标准功能、Joule、ABAP 扩展到项目落地的完整解读

摘要:SAP S/4HANA Cloud Private Edition(PCE)已深度集成AI能力,主要体现在三个方面:1)标准业务流程中的AI辅助功能(如财务分录生成、维修单据处理);2)通过Joule提供的自然语言交互入口,支持业务导航和部分事务处理;3)开发者可通过ABAP AI SDK与BTP平台集成实现扩展。PCE不是独立AI平台,企业级自定义AI需结合SAP BTP实现。AI能力已深度融入财务、制造等业务场景,但关键业务仍需人工审核。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 330

linux内核 数据库,简单讲解:linux内核数据库sqlite3的移植_华清远见

简单讲解:linux内核数据库sqlite3的移植SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时...

weixin_31861055的博客 368

基于Spring Boot + Vue 3的前后端分离教材订购系统设计与实现

随着高校信息化建设的不断深入,传统手工管理教材的方式已无法满足高效、准确、透明的需求。文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、教材管理、购物车、订单管理等),并提供关键代码片段。一个集中化、在线化的教材订购系统可以有效地解决这些问题,实现教材信息的统一管理、学生在线选书、订单自动汇总、财务清晰对账,极大地提升了管理效率和服务质量。系统采用了先进的前后端分离架构,实现了用户管理、教材管理、购物车、订单管理等核心功能,具有良好的可扩展性和可维护性。

2201_76125393的博客 330

Linux编辑db数据库文件,Linux下使用sqlite3操作.db数据文件

系统平台:Centos6.8编译安装:1、下载sqlite3安装包wget http://www.sqlite.org/2015/sqlite-autoconf-3081101.tar.gz2、解压安装包tar zxvf sqlite-autoconf-3081101.tar.gz3、依次执行下面的命令 ,就安装ok了cd sqlite-autoconf-3081101/./configurema...

weixin_34129429的博客 2124

极智芯 | 解读国产CPU之海光

大家好,我是极智视界,本文分享一下 解读国产CPU之海光。希望我的分享能对你的学习有一点帮助。

极智视界 3319

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

努力让自己发光,对的人才能迎着光而来 13万+

linux下qt的sqlite数据库教程,在Qt中使用SQLite数据库

前言SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。Qt5以上版本可以直接使用SQLite(Qt自带驱动)。用法1 准备引入SQL模块在Qt项目文件(.pro文件)中,加入SQL模块:QT += sql引用头文件在需要使用SQL的类定义中,引用相关头文件。例如:#include #include #include 2 使用1. 建立...

weixin_39632728的博客 1438

【Unity URP渲染管线下Shader的自定义物体半透明和投影半透明效果_半透明案例分享】

Unity Shader Graph URP渲染管线下的自定义半透明效果_半透明案例分享

暴走约伯的博客 3295

Linux下使用sqlite命令,linux中sqlite数据库的简单使用

一、数据库的安装1.网络安装:配置好网络源后sudo apt-get install sqlite32.使用给出的deb包安装:Sudo dpkg -i *.deb安装三个deb包使用源码包安装:解压:tar xzf sqlite-autoconf-3140100.tar.gz执行./configure执行make && make install3.执行sqlite3 -versi...

weixin_35796207的博客 3265

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

DB Browser for SQLite 数据库工具下载 安装使用

安装完成后,启动 DB Browser for SQLite,界面会显示「New Database」(新建数据库)和「Open Database」(打开已有。文件,将「DB Browser for SQLite」拖拽到「Applications」文件夹中,首次打开可能需要右键选择「打开」(绕过系统安全提示)。:下载后右键文件 → 「属性」→ 「权限」→ 勾选「允许作为程序执行文件」,然后双击即可运行。,或点击「Browse」自定义路径,然后点击「Next」。文件,弹出安装向导,点击「Next」。

zengliguang的专栏 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

linux系统怎么调用数据库,Linux系统中的sqlite数据库如何使用?

Hello喜欢Linux系统的小伙伴们,今天达内Linux培训官网的小编我将要为大家带来一篇关于Linux系统中的sqlite数据库如何使用的文章,对此感兴趣的小伙伴们快来和小编一起看一看吧。一、数据库的安装1. 网络安装:配置好网络源后sudo apt-get install sqlite32.使用给出的deb包安装:Sudo dpkg -i *.deb安装三个deb包使用源码包安装:解压:ta...

weixin_39994665的博客 498

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于JDBC下使用SQLite DB问题总结(Windows下和Linux下使用)

关于JDBC下使用SQLite DB问题总结 因为公司的服务器在Linux下,同时也需要在Windows下运行,所以这方面的工作必须做的仔细。以下几点收获可以给大伙分享,避免因为一些低级错误影响项目开发。 在Windows下SQLite JDBC 路径必须是小写,并且路径中需要添加/ 在Linux下SQLite JBDC路径严格区分大小写,并且路径中不需要添加/

Stop Tears 3824

SQLite3数据库——Linux应用

SQLite 是一款的数据库引擎,由 D. Richard Hipp 于 2000 年发布并置于公有领域。整个引擎仅一个 C 库,编译后< 1 MB,运行时< 64 kB RAM即可工作。支持 Windows/Linux/Unix 及 Tcl、C#、PHP、Java、ODBC 等主流语言绑定。在场景下性能优于 MySQL/PostgreSQL;高并发场景则相反。截至 2025 年 6 月,最新稳定版为 3.49.1,项目已持续活跃 25 年。数据库的用途数据的存取。

DK3314219995的博客 1242

【Linux基础】sqlite数据库

C语言sqlite数据库

福州最帅男模的博客 1262

linux之终端里sqlite数据库的使用

(6)sqlite3不支持删除一列信息,可以 把原来的表里面的需要的列复制到一个新表,重新命名:create table 新表名 as select 列名1,列名2,列名3,列名4 from 旧表名;(1)创建一个数据表:student 【create table student (id int primary key,name char,age int,sex char);二 .数据库命令是以 【.】 开头的;(3)【 .quit】或 【.exit 】 退出数据库控制界面。

m0_57678852的博客 974
上一篇: Shell程序中的函数定义
下一篇: Linux下的QT安装及初步使用过程(一)
Keep_Trying_Go
博客等级 码龄6年 8546粉丝 1230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值