学习记录——day35 数据库 sqlite3

ops/2024/10/20 18:55:24/

目录

sqlite3%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%A5%E5%8F%8Asqlite3%E5%87%BD%E6%95%B0%E5%BA%93-toc" style="margin-left:0px;">一、安装sqlite3数据库以及sqlite3函数库

二、数据库的结构

 三、常用数据库类型

sqlite3-toc" style="margin-left:40px;">1、sqlite3

2、mysql

sqlite3%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8-toc" style="margin-left:0px;">四、sqlite3数据库的使用

1、打开数据库

sqlite3%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E6%8C%87%E4%BB%A4%E7%9A%84%E4%BD%BF%E7%94%A8-toc" style="margin-left:40px;"> 2、sqlite3数据库中指令的使用

1)界面指令

2)操作指令

3)大小写敏感性

3、创建表单

4、约束类型相关

1)主键约束:primary key

2)默认约束:default

3)非空约束:not null

4)检测约束:check

5、向表单中添加数据

6、查看表单数据

 7、查看特定数据

8、修改表单中指定数据

9、删除表单中指定的数据

10、排序显示所有数据

11、范围查看

12、模糊查询

13、给字段表单添加新的字段

14、表单重命名

15、删除表单

16、字段名重命名

17、删除字段


sqlite3%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%A5%E5%8F%8Asqlite3%E5%87%BD%E6%95%B0%E5%BA%93">一、安装sqlite3数据库以及sqlite3函数库

sudo apt install sqlite3 //安装数据库

sudo apt install libsqlite3-dev //安装数据库的函数库

二、数据库的结构

        数据库是一种存放数据的的文件,但是拥有特殊的结构

第一层结构:数据库本身

第二层结构:数据库中存放了若干张表单

        每一张表单的字段结构各不相同

第三次结构:一张表单中,所有字段都能存放信息

        一组字段中的所有数据,就是一条记录

 三、常用数据库类型

sqlite3">1、sqlite3

        一个允许部署在本地的轻量级数据库,特别合适嵌入式开发

2、mysql

        一个部署在服务端的,需要网络连接的数据库。如果要部署在本地,夜需要安装一个mysql服务器。

        适合一些应用层程序开发

sqlite3%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8">四、sqlite3数据库的使用

1、打开数据库

        输入指令:sqlite3 数据库名.db

sqlite3%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E6%8C%87%E4%BB%A4%E7%9A%84%E4%BD%BF%E7%94%A8"> 2、sqlite3数据库中指令的使用

1)界面指令

        以点“.”开头,回车确认输入

        .table:查看当前数据库中所有表单的名字

.      

        .schema 表单名:查看当前数据库中指定的表单中的字段结构

                                      若没有指定,则查看所有

        

        .head(er) on 在查看表单时打开抬头

        

        .mode column  字段对齐

       

        .quit  保存并退出sqlite3

2)操作指令

        以分号“;”为指令结束的标志,再键入回车,否则sqlite3不认为这条指令结束了

3)大小写敏感性

        sqlite不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义。

3、创建表单

        create table 表单名

        {

                字段名1        数据类型1        约束类型1

                 ...                   ...                   ...

                字段名n        数据类型n        约束类型n

        }

字段名:变量名

数据类型:

        整型        INTERFGER

        浮点型     REAL

        字符串     TEXT

        ...

约束类型:对数据进行规定

4、约束类型相关

1)主键约束:primary key

        键:用于比较大小,确定数据存放位置的关键数据。这个数据不能重复,不能修改

               被主键约束的字段,成为了表单中的“键”,剩下的都是“值”

               被主键约束的字段,可以用 auto_increment/auto increment/auto increment 修饰

auto_increment/auto increment

功能

2)默认约束:default

        在添加新纪录的时候,如果没有为拥有默认约束的字段,填充数据的话,数据库会选用默认值填充

3)非空约束:not null

        在添加新记录的时候,如果没有为 非空约束 所修饰的字段,填充数据的话,则本次记录添加失败

4)检测约束:check

        在添加记录的时候,会检查被检查约束的字段所填充的数据,是否满足"检查条件",如果不满足则添加失败

5、向表单中添加数据

insert into 表单名(字段1,字段2...,字段n)values(数据1,数据2,...,数据n)

向表单中添加 字段1——字段n 的数据

如果有任意一个数据违反了约束,则添加失败

6、查看表单数据

查看指定

select 字段1,字段2,...字段n from 表单名

查看所有

select * from 表单名

insert指令 和 select指令可以配合使用实现拷贝

insert into 表单1(字段1,字段2,....,字段n) select 字段1,字段2,...,字段n from 表单2

        先查询出表单2中的所有指定字段的数据,再将这些数据,对应的添加到表单1中的每一个字段中去

 7、查看特定数据

通过where子句限制

        select * from 表单名 where 条件定位

        比如说,想要查看 姓名(字段)为"张三"(数据)的所有信息

        select * from stu where 姓名="张三"

8、修改表单中指定数据

update 表单名 set 字段名 = 新数据 where 条件定位

例如:将姓名为"张三"的成绩,改成50分

update stu set 成绩=50 where 姓名="张三"

9、删除表单中指定的数据

delete from 表单名 where 条件定位

如果不写 where 条件定位,会将表单中的所有数据删除

为防止数据的误删,基本不用delete指令

一般会在表单中加上一个字段叫做“delete”,值只有0或非0

查询的时候,只要在最后加上 where delete=0,被标记删除的数据(delete= 1)就不会显示

10、排序显示所有数据

order by 字段名

默认升序

order by 字段名 desc

降序

11、范围查看

limit x offset y

从第y行开始,显示x条记录,y从0开始

若无offset,则默认从0开始

select、limit、order可配合使用查看某一表单中某一字段数据最高/最低的几个

select * from 表单名 order by 字段名 desc limit 3

12、模糊查询

like子句 % _  * ? like 子句 % _ (* ?)
使用like的时候,使用 _ 表示1个字符的站位,使用 % 表示 0~n个字符的占位
例如:
    select * from stu where name like "徐_"
        查询姓徐的,并且名字只有1个字的 
    select * from stu where name like "_徐_"
        查询名字3个字的,并且中间那个字是 徐 
    select * from stu where name like "徐%"
        查询姓徐的,名字有几个字无所谓,哪怕只有徐,没有名字也行
    select * from stu where name like "%徐%"
        查询所有名字中带 徐 的

13、给字段表单添加新的字段

alter table 表单名 add column 字段名 数据类型 约束类型

14、表单重命名

alter table 原表单名 rename 同 新表单名

15、删除表单

drop table 表单名

16、字段名重命名

sqlite3不支持直接重命名字段,mysql支持

sqlite3要实现字段重命名需要通过逻辑实现

1)修改原表单名为一个任意的名字

2)以原表单原名创建一个新的表单,除要修改的字段名外,其余皆与原表单相同

3)使用 insert + select 将原表单的数据拷贝到新表单中去

4)删除原表单

17、删除字段

sqlite3不支持直接删除字段,mysql支持

sqlite3要实现字段删除需要通过逻辑实现

1)修改原表单名为一个任意的名字

2)以原表单原名创建一个新的表单,除要删除的字段名外,其余皆与原表单相同

3)使用 insert + select 将原表单的需要数据拷贝到新表单中去

4)删除原表单


http://www.ppmy.cn/ops/98097.html

相关文章

网络协议(概念版)

通讯:首先要得知对方的IP地址。 最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收。 如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理;如果目标MAC地址不是自己,…

项目问题 | CentOS 7停止维护导致yum失效的解决办法

目录 centos停止维护意味着yum相关源伴随失效。 报错: 解决方案:将图中四个文件替换掉/etc/yum.repos.d/目录下同名文件 资源提交在博客头部,博客结尾也提供文件源码内容 CentOS-Base.repo CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.rep…

【JVM】详解Java中的垃圾回收

概念 在传统的编程语言中,内存的管理通常需要由开发人员手动进行分配和释放。这种手动管理容易导致一系列问题,例如内存溢出(内存不足时继续申请内存)和内存泄漏(已不再使用的内存未被释放)。这些问题可能…

EXCEL——Vlookup17个高级用法

大纲 一、基本语法 1、参数详解 二、入门篇 1、单条件查找 2、屏蔽查找返回的错误值 三、进阶篇 1、反向查找 2、包含查找 3、区间查找 4、含通配符查找 5、多列查找 6、多区域查找 四、高级篇 1、多条件查找 2、合并单元格查找 3、带合并单元格的多条件查找 …

迁移学习代码复现

一、前言 说来可能令人难以置信,迁移学习技术在实践中是非常简单的,我们仅需要保留训练好的神经网络整体或者部分网络,再在使用迁移学习的情况下把保留的模型重新加载到内存中,就完成了迁移的过程。之后,我们就可以像训练普通神经网络那样训练迁移过来的神经网络了。 我们…

Go语言基础--嵌套循环(多重循环)

嵌套循环可以让你在一个循环内部再嵌套另一个或多个循环。这种结构在处理多维数据(如二维数组、矩阵)或需要遍历多个集合时非常有用。 for 初始化语句1; 条件判断1; 更新语句1 { // 外层循环体 for 初始化语句2; 条件判断2; 更新语句2 { // 内层循…

Clearpool 推出 Ozean:专注 RWA 的高性能创新区块链

引言 真实资产(Real-World Assets, RWA)指的是诸如房地产、债券、股票等在现实世界中存在并具有价值的资产。随着 DeFi 的发展,加密创新者们开始探索如何将传统金融市场中的资产引入区块链世界,以扩展 DeFi 的应用范围。然而&…

pgsql清理表的oids选项

1. 生成脚本 SELECTn.nspname as "Schema",c.relname as "Table",c.relhasoids as "With OIDs", ALTER TABLE || n.nspname ||. || c.relname || SET WITHOUT OIDS; FROMpg_class cJOIN pg_namespace n ON n.oid c.relnamespace WHEREc.relk…