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

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

相关推荐
云泽8087 小时前
函数模板与类模板:C++泛型编程核心解析
java·开发语言·c++
R-G-B11 小时前
【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出
c++·mfc·mfc静态文本框输出字符串·mfc静态文本框连续输出字符串·mfc静态文本框换行输出字符串
FFZero113 小时前
【C++/Lua联合开发】 (二) Lua调用C++函数
c++·junit·lua
码界奇点13 小时前
Django视图从基础到高级的全面解析
数据库·django·sqlite·web·python3.11
CoderCodingNo14 小时前
【GESP】C++四级真题 luogu-B4068 [GESP202412 四级] Recamán
开发语言·c++·算法
一个不知名程序员www14 小时前
算法学习入门---双指针(C++)
c++·算法
Maple_land14 小时前
常见Linux环境变量深度解析
linux·运维·服务器·c++·centos
Larry_Yanan14 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互
Want59515 小时前
C/C++大雪纷飞①
c语言·开发语言·c++
Mr_WangAndy15 小时前
C++设计模式_行为型模式_策略模式Strategy
c++·设计模式·策略模式·依赖倒置原则