sqlite3 数据库安装

1. 本地安装

sudo dpkg -i *.deb

2.在线安装

sudo apt-get install sqlite3

  SQLITE3 基本命令

两种命令

1.以 . 开头的称之为系统命令

.help 帮助

.quit 退出

.exit 退出

.databases 查看打开的数据库(显示数据库的名字和路径)

.table 查看当前数据库的表格

2. 以 , 结尾的 sql命令

创建一张数据库表 stu :

creat table stu(Id Integer, name char, score Integer );

查看表的结构图:

.schema

在数据表中插入数据(完全插入 所有参数必须都有)

insert into +数据表名 values(相应数据)

在数据表中插入数据(部分插入 部分参数就行)

insert into +数据表名((参数名一,。。。。。, 参数名N)values(参数值一, 。。。。,参数值N))

查看数据表中的内容(查询全部内容)

select * from +数据表名

查询数据表中的内容 (查询部分内容)

select name, sroce from +数据表名

查询数据表内容 (查询特定内容)

select * from +数据表名 where 参数=?;(一个限定条件)

select * from +数据表名 where 参数1=? and 参数2=?;(两个限定条件必须同时满足)

select * from +数据表名 where 参数1=? or 参数2=?;(两个限定条件满足一个就行)

删数据表中的内容

delete frm +数据表名 ;(删除整个数据表)

delete from +数据表名 where 参数=?;(删除特定内容)

其他和查询内容都一样 依然可以使用and 和or

设置数据表中的内容

update +数据表名 set 参数1=?where 参数2=?;

update +数据表名 set 参数1=?, 参数2=?where 参数3=? ;

删除数据表

drop table 数据表名

给数据表重命名

alter table +原的数据表名 rename to 要改成的数据表名

给数据库添加一列统计信息

alter table +数据表名 add column 要添加的统计信息 要添加的信息的类型;

sqlite不支持删除一列信息

所以只能间接删除 步骤如下:

1.创建一张新表

2.删除原有的表

3.将新表的名字改成原来的表的名字

这样旧表的内容会自动写入到新表中

         API()

头文件:#include <stdlib.h>

编译指令·: gcc 文件名.c -lsqlite3

int sqlite3_open(const char *filename, sqlite3 **ppDb);

作用:打开一个数据库

参数:filename 数据库路径

ppDb 代表数据库的操作句柄(指针)

返回值: 成功返回 SQLITE_OK 失败返回错误码

int sqlite3_close(sqlite3 *db);

作用:关闭数据库

参数: db操作数据库的指针

返回值:成功返回SQLITE_OK 失败返回错误码

const char *sqlite3_errmsg(sqlite3 *db)

功能 :通过db句柄 得到数据库操作的错误信息

int sqlite3_exec{

sqlite3 *db;

const char *sql;

int (*callback)(void *, int char **, char **);

void *arg;

char **errmsg;

};

功能:执行一条sql语句

参数: db 数据库操作句柄

sql:一条sql语句(末尾的分号可省略)

callback:回调函数 是一个函数指针类型 传递的参数是函数名(只有sql为查询语句时 才会执行回调函数)

arg:表示给回调函数传递的参数

errmsg 错误信息

返回值 成功SQLITE_OK

typedef int (*sqlite3_callback)(void *para, int f_num, char **f_value, char **f_name)

功能:每找到一条记录自动执行一次回调函数

para:传递给回调函数的参数

f_num: 记录中包含的字段数目

f_value:包含每个字段值的指针数组

f_name 包含每个字段名称的指针数组

成功返回0 失败返回-1

int sqlite3_get_table(sqlite3 *db, const char *sql, char ***resultp, int nrow, int *ncolum, char **errmsg)

db:数据库句柄

resultp: 用来指向sql执行结果的指针

nrow:满足条件的记录的数目

ncolumn: 每条记录包含的字段数

errmsg:错误信息指针的地址

返回值: 成功返回0 失败返回错误码

代码示例

功能: 建立一个数据库 对其能进行删减改查的操作

数据库Sqlite3相关推荐

  1. Python3.9数据库SQLite3学起(6)

    Python3.9数据库SQLite3学起(6) 学生分数管理系统 系统搭建框架如下: 一.几个函数的创建 1.check函数--查重函数 2.menu_func函数--功能菜单 3.search_f ...

  2. 网络编程(wireshare抓数据包及分析、三次握手与四次挥手、数据库sqlite3及操作)笔记-day15

    前言 今天整理了网络编程的下篇,主要归纳了wireshark抓数据包及分析.TCP安全可靠原因分析(三次握手.四次挥手).数据库sqlite3及操作(shell脚本和C语言对数据库的增.删.改.查及关 ...

  3. 数据库sqlite3的安装与应用

    嵌入式数据库 一.ubuntu18.04 sqlite3安装 1.安装sqlite3 2. 安装sqlite3可视化工具sqlitebrowser 二.数据库基础知识(对于使用数据库作用不大,选看吧) ...

  4. Python数据库sqlite3详解(python使用sqlite3数据库编程案例)

    python使用sqlite3数据库编程案例 提到数据库,大家第一时间想到的可能是 sql 数据库, 这种数据库非常好用,但是对于新手就不是很容易上手, 需要熟悉一段时间才可以大概掌握.这种数据库在大 ...

  5. Python基础092:Python内置数据库: sqlite3

    Python内置数据库: sqlite3 SQLite简介 前置知识点复习 python中实践 sqlite 查询记录 注意事项 总结 SQLite简介 SQLite是一种嵌入式数据库,它的数据库就是 ...

  6. 文件数据库sqlite3 C++ 线程安全和并发

    转载:文件数据库sqlite3 C++ 线程安全和并发 - 车臣 - 博客园 转载:SQLite 线程安全和并发 - zzfx - 博客园(线程安全和并发) 转载:SQLite 多线程模型实测分析 - ...

  7. Android中如何使用命令行查看内嵌数据库SQLite3

    转载博客:http://www.linuxidc.com/Linux/2011-06/37135.htm 在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令. [1]在Andro ...

  8. 查看android数据库sqlite3中的表及数据、直接编辑数据库

    具体的操作过程如下: 1> 找到adb并运行: 一般位于android sdk的的tools/(老版本)或者 platform-tools/ (新版本) 2. 切换到该目录,运行 ./adb h ...

  9. django默认数据库sqlite3改为mysql

    来个自用的完整版的 """ Django settings for mysite project.Generated by 'django-admin startproj ...

最新文章

  1. python 爬虫框架_Python网络爬虫-scrapy框架的使用
  2. Vincross孙天齐:人机界面的突破将引发科技革命
  3. iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器
  4. qt creator 官中 不完整_C++跨平台框架Qt和wxWidgets哪个好?对比图告诉你!
  5. 中国基座污水泵市场趋势报告、技术动态创新及市场预测
  6. Javascript -- 精通String
  7. PyCharm无法找到已安装的Python类库的解决方法
  8. document.getElementsByName , document.getElementsByTagName ,document.createElement
  9. 034 Maven中的dependencyManagement和dependencies区别
  10. atomic原子类实现机制_原子操作CAS及其实现类
  11. 使用Windows自带工具校验文件MD5
  12. 华为、小米、OPPO三大厂商字体对比 这款更加舒适易读
  13. CardView 整理
  14. BOSS直聘简历导出为PDF文档
  15. 解决新版edge浏览器首页被搜狗、haoqq等垃圾搜索引擎捆绑问题,并将启动首页设为edge自带新标签页
  16. 用计算机怎么谈黑人团队,光遇黑人抬棺乐谱怎么弹奏 计算机演奏乐谱16
  17. R语言 by()用法
  18. 《勇士传说》横版卷轴动作类游戏笔记目录
  19. unity中脚本之间传递信息的方式
  20. 键盘拆开重新安装步骤_如何拆解与并重新组装你的笔记本电脑

热门文章

  1. [Android] (在ScrollView里嵌套view)重叠view里面的onTouchEvent的调用方法
  2. Oracle Internal Event:10200 Consistent Read诊断事件
  3. CString 类型和引用
  4. Word——Word中粘贴Visio图只显示下面一部分
  5. Dreamweaver cs3快捷键大全
  6. ORDER BY NEWID()【原创】
  7. 2006年2月8日 再见,Borland
  8. php如何导入数据,““php中如何将execl的数据导入到数据库中
  9. mysql教程目录_MySql目录(二)
  10. android+4.4+稳定性,新系统新UI!台电A10h四核安卓4.4.2性能测试