数据库基础知识

1、SQL:结构化查询语句,用于存取数据、查询更新和管理关系数据库系统


2、数据库三范式:
列不能被拆分/非主键列完全依赖主键,不能依赖主键的一部分/非主键列只依赖于主键,不能依赖其他非主键


3、binlog录入模式
statement-记录sql语句,需保存上下文信息,但使用函数时无法记录复制
row-保存哪条记录被修改,信息多
mixed-普通操作使用statement,无法记录时用row


4、数据库存储引擎
数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。
mysql核心为插件式存储引擎
InnoDB:支持事物安全表,支持行锁定和外键


5、索引
特殊文件,包含对数据表里所有记录的引用指针
alter table innodb1 add sex char(1)
explain select * from innodb where sex=‘男’
join
primary key 唯一不可重复 不可为null
unique key 唯一不可重复 可为null
key 普通非唯一索引
fulltext key 全文搜索索引
create index index_name on table_name(column_list)
可对表增加普通索引或unique索引,但是不能创建primary key 索引
删除索引:
alter table user_index drop key name;
alter table user_index drop primary key;


6、id int auto_increment Primary_key,
auto_increment 自增序号


7、前缀索引
index(field(10)) 使用字段值的前10个字符建立索引,默认使用字段的全部内容建立索引
使用select count(*)/count(distance_left(password,prefixlen))
最左前缀原则
最左优先:在创建多列索引时,根据业务需求,where子句中使用最频繁的一列放在最左边


8、聚簇索引和非聚簇索引


9、事务
ACID原子性/一致性/隔离性/持久性
原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
一致性: 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;
隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;
持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。


10、脏读/幻读/不可重复读
脏读:某一事务在另一事务更新数据之前读数据,但是该数据被回滚,导致该事务读到的数据不正确
不可重复读:一个事务两次查询数据不一致,可能是由于两次查询之间插入了更新数据的事务
幻读:事务两次查询中数据笔数不一致。在事务两次查询之间另一事务在中间插入了几列数据

在这里插入图片描述
https://blog.csdn.net/ThinkWon/article/details/104778621

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值