day40——数据库 sqlite3

1 安装sqlite3数据库以及sqlite3函数库

1:sudo apt install sqlite3 //安装数据库
2:sudo apt install libsqlite3-dev // 安装数据库的函数库

2 什么是数据库

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

第一层结构:数据库本身

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

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

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

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

最终,很多很多条件,格式不同的记录,组成了一个完整的数据库

3 常用数据库类型

① sqlite3:一个允许部署在本地的轻量级数据库

特别适合用于嵌入式开发

② mysql:是一个部署在服务端的,需要网络连接的数据。

如果一定要部署在本地的话,也是需要安装一个mysql服务器的

适合一些应用层程序开发

4 如何操作sqlite3数据库

4.1 打开数据库

输入指令:sqlite3 数据库名.db,出现以下画面就OK了

4.2 sqlite3数据库中的指令规则

1:显示指令

必须以 . 开头,回车确认输入

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

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

如果没有写表单名,则表示查看所有表单的字段结构

.head(er) on 在查看数据的时候,打开抬头

.mode column 以字段对齐的形式显示数据

2:操作指令

必须以 ;结尾,然后再键入回车,如果没有 ; 的话,sqlite3不会认定这条指令结束了

如果忘记敲 ; 了,换一行再补一个 ; 也是没有问题的

3:数据库中的指令 大小写无所谓

4.3 创建表单

create table 表单名(
    字段名1	数据类型		约束类型		, 
    ......								,
    字段名n	数据类型		约束类型		
);

字段名:变量名

数据类型:

整形 INTERGER

浮点型 REAL

字符串 TEXT

约束类型:什么是约束?

在添加数据的时候,必要的为这些数据添加一些取值范围,保证这些数据不会过于离谱,添加取值范围这个事,就是依赖约束实现的

① 主键约束 :primary key

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

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

被主键约束的字段,还有一个修饰词: auto increment

功能为:在添加新记录的时候,如果被 auto increment 所修饰的字段,没有填充数据的话,则数据库会根据最近一次填充的数据,自增1后,为当前数据填充

② 默认约束: default 默认值

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

③ 非空约束:not null

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

④ 检查约束:check(检查条件)

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

例如:为 字段"成绩" 添加检查约束,约束条件为成绩的取值范围在 0~150分之间

check(成绩>=0 AND 成绩<=150)

再例如:为字段"性别"添加检查约束,要求性别只能是 "男" 或者 "女"

check(性别="男" OR 性别="女")

练习

Plain Text

自动换行

在数据库中创建如下表单
姓名 字符串类型 要求非空
学号 整形,要求主键自增
成绩 整形,要求0~150
性别  字符串类型,要求只能是男或者女,并且默认男

4.4 向表单中添加数据

insert into 表单名(字段1,字段2,....,字段n) values(数据1,数据2,...,数据 n)
    为表单中添加一条新的记录,但是只填充 字段1 ~ 字段n 这几个字段的数据
    如果有任何字段对应的数据,违反了约束,则添加失败

4.5 查看表单中数据

select 字段1,字段2,...,字段n from 表单名
    查看指定表单中的指定字段的所有数据
select * from 表单名
    查看指定表单中的所有字段的所有数据

insert 指令和 select 指令可以配合使用

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

4.6 查看某个特定的数据

where子句:
    只要有任何附加的查询条件的时候,在英语语法应该写条件的地方写上 where 条件
 
    比如说,想要查看 姓名为"张三"的所有信息
select * from stu where 姓名="张三"

4.7 修改表单中指定数据

update 表单名 set 字段名=新数据 where条件定位
    例如:将姓名为"张三"的成绩,改成50分
update stu set 成绩=50 where 姓名="张三"

4.8 删除表单中的指定数据

delete from 表单名 where 条件定位
千万小心:如果不写 where 条件定位的话,会将表单中所有数据全都删除
一般来说,为了防止数据的误删,基本上不用delete指令
一般会在表单中添加一个字段叫做 "delete" ,他的值只有0或者非0
查询的时候,只要在最后加上 where delete=0,这样一来 delete=1也就是所谓的被删除的数据,就查不出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值