首页 > 数据库 >Sqlite3:增删改查

Sqlite3:增删改查

时间:2023-08-21 11:12:00浏览次数:62  
标签:sqlite3 name int db 改查 char 增删 Sqlite3 NULL

条件介绍

1)已存在一个数据库AddressBook.db 以及 其中的一张表telephone

2)telephone表格式:

Name     TEXT     NOT NULL
PhoneNum CHAR(11) NOT NULL
Birthday TEXT
Nation   TEXT DEFAULT 'China'

insert

目的:新增两行记录

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

int main(int argc, char **argv)
{
	sqlite3 *db = NULL;
	char *err_msg = 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;

	}
	char sql[512] = { 0 };
	snprintf(sql, sizeof(sql), "insert telephone(Name,PhoneNum,Birthday,Nation) value('ZhaoLiu','10015','1993-01-01 12:00:00','US');"
							   "insert telephone(Name,PhoneNum,Birthday,Nation) value('QianMing','10018','1994-01-01 12:00:00','UK');");
	rc = sqlite3_exec(db, sql, NULL, NULL, &err_msg);
	if (rc)
	{
		fprintf(stderr, "SQL error: %s\n", err_msg);
		sqlite3_free(err_msg);
		sqlite3_close(db);
		return 1;
	}
	sqlite3_close(db);
	return 0;
}

验证结果是否新增2行:

delete

目的:删除1行,这一行中 Name=QianMing

int main(int argc, char **argv)
{
	sqlite3 *db = NULL;
	char *err_msg = 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;

	}
	char sql[512] = { 0 };
	snprintf(sql, sizeof(sql), "delete from telephone where name='QianMing'");
	rc = sqlite3_exec(db, sql, NULL, NULL, &err_msg);
	if (rc)
	{
		fprintf(stderr, "SQL error: %s\n", err_msg);
		sqlite3_free(err_msg);
		sqlite3_close(db);
		return 1;
	}
	sqlite3_close(db);

	return 0;
}

验证是否删除成功:

update

目的:更改 WangWuBirthday1992-01-01 12:00:00

标签:sqlite3,name,int,db,改查,char,增删,Sqlite3,NULL
From: https://www.cnblogs.com/caojun97/p/17639606.html

相关文章

  • Sqlite3的入门操作
    Sqlite3的下载Sqlite3整活有点东西,直接看图吧。操作系统:windows10如果你是第一次用sqlite3,直接会给你干自闭。一般情况下你只会下载序号2的zip文件,然后写代码的时候,会发现头文件呢?没错,你又要回来下载序号1的zip文件。找了一份example代码,编译的时候有报错,链接失败。你......
  • SQLite数据库实现数据增删改查
    当前文章介绍的设计的主要功能是利用SQLite数据库实现宠物投喂器上传数据的存储,并且支持数据的增删改查操作。其中,宠物投喂器上传的数据包括投喂间隔时间、水温、剩余重量等参数。实现功能:创建SQLite数据库表,用于存储宠物投喂器上传的数据。实现对数据库表中数据的插入操作,即将......
  • 一个十分简单的增删改查系统(含MYSQL数据库安装教程)
    一个十分简单的增删改查系统(nodejs+vue)该系统采用前后端分离的方式,实现最基本的增、删、改、查功能。前端使用vue框架搭建,后端使用nodejs,数据库用mysql1.准备工作1.1安装nodejs下载nodejs,官网如下Node.js(nodejs.org)选择长期维护版,下载之后直接下一步下一步就行了......
  • 【Java 初阶】 Mysql 增删改查
    ......
  • sqlite3 db "delete from apps where title='Typora';"&&killall Dock
    command+shift+G进入访达前往->输入/private/var/folders 搜索:com.apple.dock.launchpad  仔细看了下执行的命令就发现了sqlite3db这个东西,可以深入了解下  ......
  • MySQL 管理表(增删改查)
    MySQL管理表:增加行:添加一行:insertintouservalues(42,"bbb","x",1003,1003,"teacher","/home/jingyaya3","/bin/bash");#添加所有列insertintotarena.user(name,uid,shell)values("aaa",1002,"/sbin/no......
  • 四、SpringBoot实现增删改查
    一、新建项目二、代码编写项目结构先在resource文件夹中创建application.yml编写数据库连接配置spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://106.15.105.2:3306/oms?serverTimezone=GMT%2B8&characterEncoding=utf8&us......
  • 线性表-顺序表的操作(增删查改,扩容,缩容)
    SeqList.h#include<stdio.h>#include<stdlib.h>typedefstructSeqList{ int*data; intsize; intcapacity;}SL;//顺序表的初始化voidSeqListInit(SL*ps);//顺序表的遍历voidSeqListPrint(SL*ps);//释放空间voidSeqDestroy(SL*ps);//缩容voi......
  • 如何在BL302控制器上安装和使用SQLite3数据库
    本文主要讲述了在钡铼技术BL302嵌入式arm控制器上运行SQLite3数据库的命令示例。SQLite3是一个轻型的嵌入式数据库,不需要安装数据库服务器进程,占用资源低且处理速度快。首先,需要将对应版本的SQLite3文件复制到设备的/usr/目录下,并解压缩。然后进入/usr/lib目录,创建两个链......
  • 数据库增删改查语句(入门)
    数据库增删改查语句一、增加insertinto...values1、insertinto表名(列名1,列名2,...列名n) values(值1,值2,...值n);(写列名插入数据)2、insertinto表名values(值1,值2,...值n);(不写列名插入数据)二、删除delete1、deletefrom表名;(删除表中所有数据)2、deletefrom表名where列=值;(根......