数据库——开篇

news2024/9/20 22:39:49

一、数据存储方式

1、内存存数据:当程序运行结束,掉电,数据丢失。(数组、链表、变量等)

2、硬盘存数据:程序运行结束,掉电,数据不丢失。

(1)文件:对数据管理(增删改查)效率低。

(2)数据库:专业存储数据,可存大量数据。对数据管理效率高,使用方便。

二、常用数据库

1、关系型数据库:将复杂的数据结构简化为二维表格形式。

eg:大型:Oracle、DB2;中型:Mysql、SQLserver;小型:Sqlite。

2、非关系型数据库:以键值对存储,且结构不固定。

eg:(JSON)、Redis、MongoDB。

三、SQLITE

1、相关命令

【.help】可查看所有命令;【.tables】查看数据库中的表;【.headers on/off】开启/关闭表头;

【mode column】列对齐;【.width 列宽1 列宽2】设置列宽;【.shema 表名】查看表的结构。

2、SQL语句

每句后面必须有一个分号。

sqlite数据类型:①NULL:空,无值。②INTEGER(INT):带符号整数,可变字节(1、2、3、4、6、8)。③REAL(DOUBLE、FLOAT):浮点值,8字节IEEE浮点数字。④TEXT(CHARACTER(20)):文本字符串,数据库编码存储。⑤BLOB:bolb数据,根据输入数据存储。

(1)创建表

create table 表名(列名1 数据类型,列名2 数据类型,列名3 数据类型);

(2)插入数据

insert into 表名 values(值1,值2,值3);

(3)查询

select 列名1,列名2 from 表名;

select *(通配符 表示所有) from 表明;

        条件查找

select * from 表名 where 列名 关系运算符(> = < != >= <=) 值;

select * from 表名 where 列名 关系运算符 值     and/or    列名 关系运算符 值;

        模糊查找

select *from 表名 where 列名 like 已知信息%;

【_】只能通配一个字符;【%】通配多个字符。

(4)排序

select *from 表名 order by 列名 ASC(升序)/DESC(降序)

(5)删除一行

delete from 表名 where 列名 关系运算符 值;

        删除表

drop 表名;

(6)修改

update 表名 set 列名 关系运算符 新值 where 列名 关系运算符 值;

(7)设置键值自动增长列

create table 表名(列名 INTEGER PRIMARY KEY AUTOINCREMENT,列名 数据类型,列名 数据类型);

(8)查询当前时间(年月日时分秒)

select datetime("now","+8 hours");

(9)多表联查

①交叉连接:CROSS JOIN;   (x行、y行,产生x*y行,笛卡尔积。)

②内连接:INNER JOIN; 

select  */(列名1 列名2) from 表名1 INNER JOIN 表名2 ON 条件;

③外连接:OUTER JOIN。(左、右、全)

左外连接:select *from 表名1 LEFT OUTER JOIN 表名2 ON 条件;

3、sqlite函数接口

int sqlite3_open(const char *filename(数据库名称) , sqlite3 **pdb(保存数据库句柄中的地址))

功能:打开数据库,如果不存在,则创建。

返回值:成功为SQLITE_OK;失败返回错误码【sqlite3_errmsg()】。

int sqlite3_exec(sqlite3 *pdb(数据库句柄) , const char *sql(要执行的sql语句首地址) , int(*callback)(void *arg , int column_cnt , char ** column_value , char  **column_name) (回调函数), void *arg , char **errmsg)

功能:执行sql语句。

返回值:成功为SQLITE_OK;失败返回错误码【sqlite3_errmsg()】。

参数:int(*callback)(void *arg(传递的参数) , int column_cnt(查找到的数据的列数) , char ** column_value(查找到的行数据的每一列值的地址的集合) , char  **column_name(查找到的行数据的每一列的列名的地址的集合))

在使用sqlite3——exec执行select语句时,每查找到一条数据,则调用一次回调。

例如:1)

2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2086737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

盘点2024年wind录屏好用工具,这四款打工人常备!

嘿&#xff0c;朋友们&#xff0c;今天我要给大家分享一下关于Windows自带录屏系统以及几款热门录屏软件的使用方法和体验感。录屏功能对于很多小伙伴来说可是个宝贝&#xff0c;无论你是要录制游戏过程、制作教学视频还是记录生活小确幸&#xff0c;都能派上用场。接下来&…

HAL库:串口 不定长数据接收 + 循环收发缓冲区 + 空闲中断 收发数据

目录 HAL库&#xff1a;不定长数据接收 循环收发缓冲区 空闲中断 收发数据 串口&#xff1a;多指针定位收发循环使用缓冲区设计 文件架构&#xff1a; 程序部分大体思路 Uart.h Uart.c stm32fxx_It.c main.c HAL库&#xff1a;不定长数据接收 循环收发缓冲区 空闲中…

SOCKS5代理配置中的常见问题:故障排除指南

SOCKS5代理是一种灵活的网络代理协议&#xff0c;被广泛用于提高网络隐私、访问受限内容、绕过网络限制等。然而&#xff0c;用户在配置SOCKS5代理时经常会遇到各种问题&#xff0c;这些问题可能会影响网络连接的稳定性和安全性。 了解这些常见问题及其解决方案可以帮助用户更…

水陆双雄:赛艇与VELO Angel Revo Halo坐垫的平衡共舞~

在广阔的水域上&#xff0c;赛艇运动员们以划桨为笔&#xff0c;书写着速度与激情的篇章。每一桨的挥动&#xff0c;都是力量与技巧的完美结合。而在自行车运动中&#xff0c;VELO Angel Revo Halo坐垫则如同骑行者的守护神&#xff0c;以科技与环保之名&#xff0c;为长途跋涉…

【开学季】你需要这样一个桌面倒计时 时刻提醒你不负韶华

【开学季】你需要这样一个桌面倒计时 时刻提醒你不负韶华。又到开学季了&#xff0c;莘莘学子陆续的回归到校园&#xff0c;开启人生价值的提升。 时光荏苒&#xff0c;岁月如梭&#xff0c;转眼间又是开学季。这个季节&#xff0c;总是承载着太多的期待与梦想&#xff0c;它像…

推荐2024年新手友好的4款音乐剪辑软件!

最近我开始接触音乐剪辑&#xff0c;想把一些歌曲进行剪辑创作&#xff1b;于是在网上好多了很多的音频剪辑软件进行试用&#xff0c;一番下来&#xff0c;发现了4款使用起来体验感比较好的专业剪辑工具&#xff0c;在这里跟大家分享分享。这些工具都可以被应用于歌曲创作&…

样式(3)----修改主题颜色

楔子&#xff1a;做软件时&#xff0c;经常有这样的需求&#xff0c;这样配色不合适&#xff1f;或者像动态的修改样式&#xff1f;那问题来了&#xff1a;怎样修软件界面的主题、修改皮肤&#xff1f; 方法1&#xff1a;使用第三方控件&#xff0c;直接更换主题&#xff0c;p…

电商库存API:商家数字化转型的加速器

在电商行业&#xff0c;库存管理是运营的核心之一。随着业务的扩展和消费者需求的多样化&#xff0c;传统的库存管理方法已经难以满足现代电商的需求。这时&#xff0c;电商库存API应运而生&#xff0c;为商家提供了一种高效、灵活的库存管理手段。 一、对接电商库存API的重要…

如何用SpringBoot搭建摇滚乐鉴赏网站?一步步教你实现音乐分享与社区互动!

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

高效产品设计:十大关键经验教程

在当今这个竞争异常激烈的市场环境中&#xff0c;产品系统设计的效率已经迅速成为企业能否取得成功的关键因素之一。随着消费者需求的不断变化和技术发展的日新月异&#xff0c;企业必须快速响应市场动态&#xff0c;以便在激烈的竞争中保持优势。而一套高效的产品系统设计方法…

js逆向——异步栈分析(上)

案例1&#xff1a; 受害者网站&#xff1a;https://m.ctyun.cn/wap/main/auth/login 首先抓包分析一波 发现是xhr请求&#xff0c;可以跟栈调试&#xff0c;相对还是容易一些 前面三个一般是send,ajax,xmlhttprequest这种封装好的发包的库&#xff0c;一般不用在意&#xff…

图像数据处理25

六、 图像分割 6.2区域生长 6.2.1区域生长的基本概念&#xff1a;可以理解成先选择一个像素区域&#xff0c;然后将其邻接区域中相似程度高的像素合并进去&#xff0c;直到找不到可以合并的像素为止。其的主要优点是能够较为精准地将具有相同特征的联通区域分割出来。 6.2.2…

农产品品牌优化:软硬兼施,全网突围成焦点

农产品品牌想要在全网范围内脱颖而出&#xff0c;‌单靠传统的“硬实力”——如优质的产品质量、‌丰富的种植经验或是先进的生产技术&#xff0c;‌已经远远不够。‌在这个多元化的市场竞争中&#xff0c;‌软实力成为了决定品牌能否远航的关键。‌ 农产品讲究品牌软实力&…

【大模型】chatglm系列模型基础

前言&#xff1a;2022年11月&#xff0c;斯坦福大学大模型中心对全球30个主流大模型进行了全方位的评测2&#xff0c;GLM-130B 是亚洲唯一入选的大模型。GLM-130B 在准确性和恶意性指标上与 GPT-3 175B持平。chatglm1&#xff0c;2&#xff0c;3代在模型架构上基本一样&#xf…

day-43 有效的数独

思路 暴力解法&#xff1a;1.判断每行是否有重复的数字;2.判断每列是否有重复的数字&#xff1b;3.判断每一个以粗实线分隔的 3x3 宫内是否有重复的数字 解题过程 如果以上三种情况都不存在重复的数字&#xff0c;则返回true Code class Solution {public boolean isValidSu…

4G手机智能遥控开关

什么是4G手机智能遥控开关 4G手机智能遥控开关作为现代智能家居与工业自动化的重要组成部分&#xff0c;提供了便捷、高效的远程控制方案。它利用4G通信技术&#xff0c;允许用户随时随地通过智能手机或其他移动设备控制电器设备的开关状态&#xff0c;适用于家庭、办公、工业等…

读《Visual Whole-Body for Loco-Manipulation》①train

这个新项目比那些强化学习入门项目好配置多了。。。 不过需要搞个wandb账号&#xff0c;一开始运行时需要api key args Namespace(checkpoint-1,colsNone,compute_device_id0,debugFalse,experiment_nameNone,exptidSOME_YOUR_DESCRIPTION_debug,flat_terrainFalse,flexFalse…

认知杂谈43

今天分享 有人说的一段争议性的话 I I 年轻&#xff1a;潜力如海&#xff0c;挑战重重&#xff0c;绝非轻易挥霍的资本 I 咱都觉得年轻好像一张白纸&#xff0c;能在上面画出精彩人生呢。可实际上&#xff0c;年轻可不是啥简单的好事儿&#xff0c;它更像是个宝库&#xff0…

以太坊恐慌!支出不透明,不喜欢DeFi?创始人V神亮资辟谣!个人净资产90%为ETH!

以太坊&#xff08;Ethereum&#xff09;作为区块链领域的佼佼者&#xff0c;一直吸引着全球投资者和开发者的目光。然而&#xff0c;近期围绕以太坊基金会&#xff08;Ethereum Foundation&#xff09;及其创始人V神&#xff08;Vitalik Buterin&#xff09;的一系列争议&…

Word文档被锁定无法编辑怎么办?一键快速移除Word编辑限制

有没有遇到这种情况&#xff1f;打开Word文档后&#xff0c;准备对Word软件进行文档的编辑时&#xff0c;发现文档有部分内容无法进行编辑了&#xff0c;不知道怎么回事&#xff0c;其实这是因为无法编辑区域被锁定了&#xff0c;所以无法进行编辑&#xff0c;那么应该怎么解除…