数据库总结

数据库总结

1.常见的三种引擎

InnoDB:支持事务处理,支持外键,(支持行级锁和表级锁),有64TB的存储限制。若需要对事务的完整性要求比较高,需要实现并发控制,则选择InnoDB
MyISAM:不支持事务和外键(仅支持表级锁),插入速度快,空间和内存的使用比较低,若表主要使用于数据的插入与读取,则选择MyISAM
MEMORY:不支持事务和外键,所有的数据都在内存中,数据处理速度很快,但安全性不高,若表需要很快的读写速度,则需要选择MEMORY。

2.数据库的三大范式

  • 第一范式(1NF)保证每一列不可再分
  • 第二范式(2NF):在满足1NF的条件下,多个主键时,每一列都和主键相关,而不能和部分主键相关。
  • 第三范式(3NF):在满足1NF和2NF的条件下,确保表中的每一列数据都和主键直接相关,不能间接相关。

规范性 和 性能不可兼得

3.char、Varchar、text的区别

  • char:长度固定,最大长度255;
  • varchar:可变长度,最大长度65535
  • text:不设置长度,存储长度比较大的字段

4.drop、delete的区别

  • drop:从数据库中删除表,所有的数据行、索引、权限、触发器都会被删除,不能回滚。
  • delete:删除表的全部或一部分数据行,每删除一行,都会在事务日志中进行记录,执行delete后用户需要提交(commit)或回滚(rollback)来执行删除或撤消删除。

5.左外连接、右外连接和内连

  • 内联:(select * from 左表 join 右表 where …;
    结果集相当于取交集,左表和右表共有的属性
  • 左外连接:(select * from 左表 left join 右表 where…;
    结果集以左表为准,包含左表的全部记录和右表符合连接条件的记录,如果左表在右表中没有匹配,则对应的列为null。
  • 右外连接:(select * from 左表 right join 右表 where…;
    结果集以右表为准,包含右表的全部记录和左表符合连接条件的记录,如果右表在左表中没有匹配,则对应的列为null。

索引

索引

  • 索引是对数据库表中的数据进行排序的数据结构,以协助快速查询、更新数据库表中的数据。

索引的分类

  • 主键索引:一个表中,最多有一个主键索引,主键索引的列不可重复也不能为null,效率较高。
  • 唯一索引:一个表中,可以有多个唯一索引,唯一索引的列不可重复但可以为null,效率较高。
  • 普通索引:一个表中,可有多个普通索引,普通索引的列可以重复值。
  • 全文索引:文章字段或有大量文字的字段进行检索,可使用全文索引机制(存储引擎必须是MyISAM)。

索引的优缺点

1. 为什么使用索引(优点)
  • 提高数据查询效率。
  • 通过创建唯一索引,保证数据库表中每一行数据的唯一性。
2.怎么不在所有的列上都添加索引(缺点)
  • 当对表中的数据进行增加、删除和修改时,索引需要动态维护,降低了数据的维护速度。
  • 索引需要占用一定的物理空间,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值