数据库Sqlite3
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相关推荐
- Python3.9数据库SQLite3学起(6)
Python3.9数据库SQLite3学起(6) 学生分数管理系统 系统搭建框架如下: 一.几个函数的创建 1.check函数--查重函数 2.menu_func函数--功能菜单 3.search_f ...
- 网络编程(wireshare抓数据包及分析、三次握手与四次挥手、数据库sqlite3及操作)笔记-day15
前言 今天整理了网络编程的下篇,主要归纳了wireshark抓数据包及分析.TCP安全可靠原因分析(三次握手.四次挥手).数据库sqlite3及操作(shell脚本和C语言对数据库的增.删.改.查及关 ...
- 数据库sqlite3的安装与应用
嵌入式数据库 一.ubuntu18.04 sqlite3安装 1.安装sqlite3 2. 安装sqlite3可视化工具sqlitebrowser 二.数据库基础知识(对于使用数据库作用不大,选看吧) ...
- Python数据库sqlite3详解(python使用sqlite3数据库编程案例)
python使用sqlite3数据库编程案例 提到数据库,大家第一时间想到的可能是 sql 数据库, 这种数据库非常好用,但是对于新手就不是很容易上手, 需要熟悉一段时间才可以大概掌握.这种数据库在大 ...
- Python基础092:Python内置数据库: sqlite3
Python内置数据库: sqlite3 SQLite简介 前置知识点复习 python中实践 sqlite 查询记录 注意事项 总结 SQLite简介 SQLite是一种嵌入式数据库,它的数据库就是 ...
- 文件数据库sqlite3 C++ 线程安全和并发
转载:文件数据库sqlite3 C++ 线程安全和并发 - 车臣 - 博客园 转载:SQLite 线程安全和并发 - zzfx - 博客园(线程安全和并发) 转载:SQLite 多线程模型实测分析 - ...
- Android中如何使用命令行查看内嵌数据库SQLite3
转载博客:http://www.linuxidc.com/Linux/2011-06/37135.htm 在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令. [1]在Andro ...
- 查看android数据库sqlite3中的表及数据、直接编辑数据库
具体的操作过程如下: 1> 找到adb并运行: 一般位于android sdk的的tools/(老版本)或者 platform-tools/ (新版本) 2. 切换到该目录,运行 ./adb h ...
- django默认数据库sqlite3改为mysql
来个自用的完整版的 """ Django settings for mysite project.Generated by 'django-admin startproj ...
最新文章
- python 爬虫框架_Python网络爬虫-scrapy框架的使用
- Vincross孙天齐:人机界面的突破将引发科技革命
- iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器
- qt creator 官中 不完整_C++跨平台框架Qt和wxWidgets哪个好?对比图告诉你!
- 中国基座污水泵市场趋势报告、技术动态创新及市场预测
- Javascript -- 精通String
- PyCharm无法找到已安装的Python类库的解决方法
- document.getElementsByName , document.getElementsByTagName ,document.createElement
- 034 Maven中的dependencyManagement和dependencies区别
- atomic原子类实现机制_原子操作CAS及其实现类
- 使用Windows自带工具校验文件MD5
- 华为、小米、OPPO三大厂商字体对比 这款更加舒适易读
- CardView 整理
- BOSS直聘简历导出为PDF文档
- 解决新版edge浏览器首页被搜狗、haoqq等垃圾搜索引擎捆绑问题,并将启动首页设为edge自带新标签页
- 用计算机怎么谈黑人团队,光遇黑人抬棺乐谱怎么弹奏 计算机演奏乐谱16
- R语言 by()用法
- 《勇士传说》横版卷轴动作类游戏笔记目录
- unity中脚本之间传递信息的方式
- 键盘拆开重新安装步骤_如何拆解与并重新组装你的笔记本电脑
热门文章
- [Android] (在ScrollView里嵌套view)重叠view里面的onTouchEvent的调用方法
- Oracle Internal Event:10200 Consistent Read诊断事件
- CString 类型和引用
- Word——Word中粘贴Visio图只显示下面一部分
- Dreamweaver cs3快捷键大全
- ORDER BY NEWID()【原创】
- 2006年2月8日 再见,Borland
- php如何导入数据,““php中如何将execl的数据导入到数据库中
- mysql教程目录_MySql目录(二)
- android+4.4+稳定性,新系统新UI!台电A10h四核安卓4.4.2性能测试