sqlite | c++ | demo

sqlite 过得的废话 就不细说了

接下来,主要讲 安装sqlite 然后写一个demo ,然后再shell 命令操作sqlite

bash 复制代码
#安装 sqlite 程序 以及开发包	我的linux 环境是centos
sudo yum install sqlite-3.7.17-8.el7_7.1.x86_64 sqlite-devel

#输入 sqlite3 测试是否安装成功  libsqlite3.so 	/usr/lib64/libsqlite3.so
sqlite3
 
find / -name libsqlite3.so
c++ 复制代码
#include <iostream>
#include <sqlite3.h>
using namespace std;

static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{
	int i;
	for(i=0; i<argc; i++)
	{
		cout<<azColName[i]<<" = " << (argv[i] ? argv[i] : "NULL")<<"\n";
	}
	cout<<"\n";
	return 0;
}
  
int main()
{
	const int STATEMENTS = 8;
	sqlite3 *db;
	char *zErrMsg = 0;
	const char *pSQL[STATEMENTS];
	int rc;
  
	rc = sqlite3_open("familyGuy.db", &db);

	if( rc )
	{
		cout<<"Can't open database: "<<sqlite3_errmsg(db)<<"\n";
	} 
	else
	{
		cout<<"Open database successfully\n\n";
	}

	pSQL[0] = "create table myTable (FirstName varchar(30), LastName varchar(30), Age smallint, Hometown varchar(30), Job varchar(30))";

	pSQL[1] = "insert into myTable (FirstName, LastName, Age, Hometown, Job) values ('Peter', 'Griffin', 41, 'Quahog', 'Brewery')";
	
	pSQL[2] = "insert into myTable (FirstName, LastName, Age, Hometown, Job) values ('Lois', 'Griffin', 40, 'Newport', 'Piano Teacher')";
	
	pSQL[3] = "insert into myTable (FirstName, LastName, Age, Hometown, Job) values ('Joseph', 'Swanson', 39, 'Quahog', 'Police Officer')";
	
	pSQL[4] = "insert into myTable (FirstName, LastName, Age, Hometown, Job) values ('Glenn', 'Quagmire', 41, 'Quahog', 'Pilot')";

	pSQL[5] = "select * from myTable";
	
	pSQL[6] = "delete from myTable"; 

	pSQL[7] = "drop table myTable";

	for(int i = 0; i < STATEMENTS; i++)
	{
		rc = sqlite3_exec(db, pSQL[i], callback, 0, &zErrMsg);
		if( rc!=SQLITE_OK )
		{
			cout<<"SQL error: "<<sqlite3_errmsg(db)<<"\n";
			sqlite3_free(zErrMsg);
			break;
		}
	}

	sqlite3_close(db);

	return 0;
}
bash 复制代码
g++  test.cpp -o test  -std=c++11 -lsqlite3

./test

#####注意这是一个创(机制是先找再创) 库familyGuy.db 建表myTable
#####插入四条记录,然后打印所有该表所有内容最后删表

demoe 的链接在下方
c++demo

#########################

然后在shell 中查看数据库

bash 复制代码
###首先要进入 你创建demo 的路径 因为数据库是在该目录常见的 但要###注意  /root 路径下也会有该数据库
####接着进入 sqlite 数据库
sqlite3 familyGuy.db

####查看都有哪些数据库
.database

####接着查看表
select * from myTable;

####再做简单的筛选
select * from myTable where FirstName = 'Peter';

###############################
注意 sql 语法 和mysql  oracle 都是一样的 
都是关系型数据库

############################################

相关推荐
kyle~3 小时前
机器视觉---熔池相机(穿透强光的视觉感知)
c++·数码相机·计算机视觉·机器人·焊接机器人
宏笋3 小时前
C++ Coroutines(协程) 详解
c++
王老师青少年编程3 小时前
csp信奥赛C++高频考点专项训练之前缀和&差分 --【一维前缀和】:求区间和
c++·前缀和·csp·高频考点·信奥赛·求和区间和
kyle~4 小时前
机器人时间链路---工程流程示例
c++·3d·机器人·ros2
汉克老师6 小时前
GESP6级C++考试语法知识(十七、数据结构(三、认识队列 Queue))
数据结构·c++·队列·gesp6级·gesp六级·数组模拟队列
j_xxx404_7 小时前
Linux进程信号捕捉与操作系统运行本质深度解析
linux·运维·服务器·开发语言·c++·人工智能·ai
vx-程序开发8 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
啊董dong9 小时前
noi-2026年5月12号小测验
数据结构·c++·算法
咩咦10 小时前
C++学习笔记24:构造函数初始化列表
c++·学习笔记·类和对象·构造函数·初始化列表·const引用
计算机安禾10 小时前
【c++面向对象编程】第43篇:可变参数模板(C++11):优雅处理不定长参数
java·开发语言·c++