【SQLite】SQLite数据库使用与案例(二)

1.什么是主键和外键?

良好的数据库编程规范应该要保证每条记录的唯一性,为此,增加了主键约束,也就是说,每张表都必须有一个主键,用来标识记录的唯一性

主键:Primary Key,唯一标示一条记录的字段,具有以下特点:

  • 名字:xxx_id
  • 类型:Integer
  • 自动增长
  • 准确数值由数据库决定,程序员不用关心
  • 主键可以是一个字段或多个字段
  • 主键字段默认就包含了not null 和 unique 两个约束

主键的设计原则

  • 主键应当是对用户没有意义的
  • 永远也不要更新主键
  • 主键不应包含动态变化的数据
  • 主键应当由计算机自动生成

外键:Foreign Key,对应其他关系表的标示,利用外键 可以和另外一个表建立起"关系"

  • 方便数据维护
  • 节约存储空间

2.数据库三大范式

通俗的理解数据库三大范式,对于数据库设计大有好处。

1.第一范式(1NF):数据库表中的字段都是单一属性的,不可再分

2.第二范式(2NF):第二范式建立在满足第一范式的基础上,数据表里的每一条数据记录,都是可唯一标识的,而且所有的非主键字段,都必须完全依赖主键,不能只依赖主键的一部分

3.第三范式(3NF):第三范式建立在满足第二范式的基础上,所有非主键之间不能有依赖关系,它们是互相独立的,只跟主键有直接关系

注意:

第二范式(2NF)和第三范式(3NF)的概念很容易混淆,区分它们的关键点在于,2NF:非主键字段是否完全依赖于主键,还是依赖于主键的一部分;3NF:非主键字段是直接依赖于主键,还是直接依赖于非主键字段

3.常用的语句、运算符使用

1.WHERE子句

用来过滤记录

实例:查找typeid<3的数据

 2.AND/OR运算符

用于编译多个条件来缩小在 SQLite 语句中所选的数据

 and两边的条件都需要为真,or只要有一个为真即可

 

3.UPDATE语句

用于修改表中已有的记录

 

 4.DELETE语句

用于删除表中已有的数据

可以删除指定行或全部数据

5. LIKE子句

用来匹配通配符指定模式的文本值

查找包含2的id

语句描述
WHERE SALARY LIKE '200%'查找以 200 开头的任意值
WHERE SALARY LIKE '%200%'查找任意位置包含 200 的任意值
WHERE SALARY LIKE '_00%'查找第二位和第三位为 00 的任意值
WHERE SALARY LIKE '2_%_%'查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY LIKE '%2'查找以 2 结尾的任意值
WHERE SALARY LIKE '_2%3'查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY LIKE '2___3'查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

6.综合运用,如查询“语文”课程比“数学”课程成绩低的所有学生的学号

4.drop和delete的区别

  • drop删除表结构及数据,delete只删除数据
  • drop不可回滚,delete可回滚
  • drop不可带where,delete可带where
  • drop删除速度快,delete删除速度慢,需要逐行删除

总结:不再需要一张表的时候,用drop
想删除部分数据行时候,用delete

5.varchar和char的区别

Char是一种固定长度的类型,varchar是一种可变长度的类型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

logani

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值