数据库总结

  • SQL数据类型

1.整型

类型字节大小
TINGINT1
SMALLINT2
MEDIUMINT3
INT4
BIGINT8

 

 

 

 

 

 

 

2.浮点型

float

double

3.字符型

类型区别
char定长字符串,长度不够自动补空格
varchar变长字符串

 

 

 

 

4.text

存储文本

5.日期

类型格式
year1991
time10:01:10
date1991-01-10
datetime1991-01-10 10:01:10
timestamp1991-01-10 10:01:10

 

 

 

 

 

 

 

6.BLOB 

存储二进制

7.enum

枚举类型,字段值只能取一个

8.set

枚举类型,字段值可以取多个

  • 修改已存在的表

alter table 表名 add/drop/modify/change 字段名 / index 字段名 / unique index 字段名
  • 视图

视图是一张虚表,它是由数据库中的一张或多张表的某些列拼接起来的一张虚拟表,不占磁盘空间。

对视图中字段的数据进行修改、删除会直接修改对应的原表。

向视图插入数据时,如果没有给某张原表的某些字段赋值,并且这些字段要求是非空的,则插入操作会失败。

  • 存储过程

完成特定功能的sql语句集,已经编译好的,存储在数据库中,调用时用存储过程名,并传入参数。

  • 索引

什么是索引?

索引是一种数据结构,存储在数据库中,占用磁盘空间。

索引本质是一颗平衡树(非二叉),对表数据进行增删改查就会对这颗平衡树进行操作,查找次数为树的高度,每次进行增删改操作,都需要调整这颗平衡树,所以索引可以提高查询效率,但是,频繁增删改会降低操作效率。

为什么用索引?

索引存在的目的是可以提高查询效率。

索引有什么优缺点?

优点:提高查询效率。

缺点:频繁的增删改操作会减低效率。

索引有哪些分类?

索引分为聚集索引和非聚集索引。

对于InnoDB来说:

聚集索引:树的每个节点是主键的值,叶子节点是对应的数据记录。

非聚集索引:树的每个节点是除主键外的字段值,叶子节点是其对应的主键值。

通过聚集索引可以直接查找到数据。

通过非聚集索引查找到的是对应的主键值,然后再通过聚集索引查找到数据。

  • 触发器

由事件触发某个操作,这些事件包括insert、delete、update,触发时机可以在事件之前,也可以在事件之后。

  • 事务

事务的四个特性:

  • 原子性:

事务中的操作,要么都执行,要么都不执行。

  • 一致性:

事务提交前后,数据库满足完整性。

  • 隔离性:

多个事务并行执行时,相互不影响。

  • 持久性:

事务提交后,数据记录是永久保存的。

隔离级别:

  • 读未提交:

事务A已开始执行,但还未提交,此时,事务B查询了事务A修改的记录,然后,事务A回滚,这将造成事务B查询到的记录是无意义的,这个问题称为脏读。

  • 读已提交

事务A有两次查询数据记录,第一次查询结束,此时,事务B update了某些记录并且已提交,然后,事务A执行第二次查询,这将造成事务A中两次查询结果不一样,这个问题称为不可重复读。

  • 可重复读

事务A有两次查询某个范围的数据记录,第一次查询结束,此时,事务B 在这个范围内insert了某些数据记录或delete了某些记录并已提交,然后,事务A执行第二次查询,这将会造成事务A第二次查询的结果比第一次的多了或少了某些数据记录,就像出现了幻觉一样,这个问题称为幻读。

  • 可串行化

事务A与事务B是串行执行的,该级别下不会产生任何问题,但是效率最低。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值