首页 > 数据库 >Sqlite3的入门操作

Sqlite3的入门操作

时间:2023-08-17 11:58:25浏览次数:44  
标签:00 入门 db sqlite3 rc Sqlite3 操作 NULL zErrMsg

Sqlite3的下载

Sqlite3 整活有点东西,直接看图吧。

操作系统:windows 10



如果你是第一次用sqlite3,直接会给你干自闭。一般情况下你只会下载 序号2 的zip文件,然后写代码的时候,会发现头文件呢?没错,你又要回来下载 序号1 的zip文件。找了一份example代码,编译的时候有报错,链接失败。你就会考虑lib文件呢?想得到sqlite3.lib文件也没有那么简单,需要一顿操作。看这边文章吧 vs2017 vs2019配置sqlite3连接引擎(驱动)指南(一)vs2019篇 ,你可能会问这边文章是vs2017、vs2019编译的lib文件,你没有这些IDE怎么办?除了去下载,没有别的办法...
你以为这就完了吗? 不,代码运行成功后,想验证一下db文件中的内容。这时你又要回去下载 序号3 的zip文件。

example 代码

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

int main(int argc, char **argv)
{
	sqlite3 *db = NULL;
	char *zErrMsg = NULL;
	int rc = 0;
	const char *database_name = "AddressBook.db";

	rc = sqlite3_open(database_name, &db);
	if (rc)
	{
		fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
		sqlite3_close(db);
		return 1;

	}
	const char *sql_create = "DROP TABLE IF EXISTS telephone;"
								   "CREATE TABLE telephone("
								   "Name     TEXT     NOT NULL,"
								   "PhoneNum CHAR(11) NOT NULL,"
								   "Birthday TEXT,"
								   "Nation   TEXT DEFAULT 'China');";
	rc = sqlite3_exec(db, sql_create, NULL, NULL, &zErrMsg);
	if (rc != SQLITE_OK)
	{
		fprintf(stderr, "SQL error: %s\n", zErrMsg);
		sqlite3_free(zErrMsg);
		sqlite3_close(db);
		return 1;
	}
	const char *sql_insert = "INSERT INTO telephone(Name, PhoneNum, Birthday) VALUES('ZhanSan', '10086', '1990-01-01 12:00:00');"
							 "INSERT INTO telephone(Name, PhoneNum, Birthday) VALUES('LiSi', '10010', '1991-01-01 12:00:00');"
							 "INSERT INTO telephone(Name, PhoneNum, Birthday) VALUES('WangWu', '10000', '1992_01-01 12:00:00');";
	rc = sqlite3_exec(db, sql_insert, NULL, NULL, &zErrMsg);
	if (rc != SQLITE_OK)
	{
		fprintf(stderr, "SQL error: %s\n", zErrMsg);
		sqlite3_free(zErrMsg);
	}
	sqlite3_close(db);
	return 0;
}

Sqlite3的操作

  • 帮助 .help

  • 查询table .table

  • sql语句 例如 select * from telephone;

  • 显示模式 例如 .mode column

  • 显示create sql语句 .schema

  • 退出sqlite3 .quit

标签:00,入门,db,sqlite3,rc,Sqlite3,操作,NULL,zErrMsg
From: https://www.cnblogs.com/caojun97/p/17636900.html

相关文章

  • Django ORM模型一对一、一对多、多对多操作
    创建模型fromdjango.dbimportmodels#学生类classStudent(models.Model):id=models.AutoField(primary_key=True)sname=models.CharField(max_length=20)#一对多外键设置,'多'的模型类设置外键,注意需要带参数on_deletecid=models.ForeignKe......
  • 聊一下操作系统 macOS 与 Linux
    对于Windows操作系统大家都比较熟悉,也常拿它与Linux操作系统进行比较,两者之间的差异也很明显。但对于macOS和Linux的比较不太多,很多人认为它们很相似,因为这两种操作系统都可以运行Unix命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都是独一无二的存在,下面就让我们来......
  • 轻松入门云技能,一文解锁亚马逊云科技各类认证资讯
    云职场的00后,二十而已,仍在寻找运动服与格子衫之间的共同点;云职场的90后,三十而立,以实现WLB(work—lifebalance)作为目标;云职场的80后,四十不惑,是否真的找到了云职场的清醒法则?有人说:云职场就像围城外面的人想进去,里面的人想出去;有人说:云职场里看似人人清醒,其实,大家都有各自的迷惑? 《......
  • Spring-事务操作
       1、什么是事务          事务就是一系列的动作,它们被当作一个单独的工作单元,这些动作要么全部完成,要么全部不起作用。        案例:转钱业务          扣钱和加钱  --要么都执行要么都不执行        JDBC  --它模式事务自动提交......
  • MySQL基本命令及基本操作
    MySQL数据库基本操作原创 Cloud研习社 Cloud研习社 2023-08-1210:33 发表于山东收录于合集#一站式教程274个#计算机248个#mysql8个#linux292个#云计算285个教程每周二、四、六更新基本操作有:查看有哪些数据库、查看有哪些表、创建数据库、创建表、查看表信息、......
  • javaSpring操作事务
    1.什么是事务简单理解你:事务就是将一系列动作看成是一次工作单元,又涉及到套娃了举个栗子:转账操作,张三向李四转账100块钱,在转账途中,突然停电,但是账单已经发出去了,这个时候如果没有事务的话,那么张三向李四转账的100块钱将不翼而飞事务的作用,将张三和李四的的转账看成一个动作,要......
  • Redis 实现库存扣减操作
    在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。解决方案使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用数据库,但是将库存分层多份存到多条记录里面,扣减库存的时候路由一下,这样子增大了并发量,但是还......
  • Linux 操作必备 150 个命令,速度收藏~
    nux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。Linux命令功能说明线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的......
  • 聊一下操作系统 macOS 与 Linux
    对于Windows操作系统大家都比较熟悉,也常拿它与Linux操作系统进行比较,两者之间的差异也很明显。但对于macOS和Linux的比较不太多,很多人认为它们很相似,因为这两种操作系统都可以运行Unix命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都是独一无二的存在,下面就让我们......
  • 聊一下操作系统-macOS-与-Linux
    聊一下操作系统macOS与Linux对于Windows操作系统大家都比较熟悉,也常拿它与Linux操作系统进行比较,两者之间的差异也很明显。但对于macOS和Linux的比较不太多,很多人认为它们很相似,因为这两种操作系统都可以运行Unix命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都......