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也就是所谓的被删除的数据,就查不出来了