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 都是一样的 
都是关系型数据库

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

相关推荐
7年老菜鸡15 分钟前
策略模式(C++)三分钟读懂
c++·qt·策略模式
Ni-Guvara24 分钟前
函数对象笔记
c++·算法
似霰28 分钟前
安卓智能指针sp、wp、RefBase浅析
android·c++·binder
芊寻(嵌入式)38 分钟前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
獨枭40 分钟前
C++ 项目中使用 .dll 和 .def 文件的操作指南
c++
霁月风43 分钟前
设计模式——观察者模式
c++·观察者模式·设计模式
橘色的喵44 分钟前
C++编程:避免因编译优化引发的多线程死锁问题
c++·多线程·memory·死锁·内存屏障·内存栅栏·memory barrier
何曾参静谧1 小时前
「C/C++」C/C++ 之 变量作用域详解
c语言·开发语言·c++
AI街潜水的八角1 小时前
基于C++的决策树C4.5机器学习算法(不调包)
c++·算法·决策树·机器学习
JSU_曾是此间年少2 小时前
数据结构——线性表与链表
数据结构·c++·算法