MySQL学习:连接查询、数据类型、视图、触发器、函数、存储过程、三范式、事物

数据类型

常用的数据类型

整数类型  tiny(1字节)  smallint(2字节)

mediumint(3字节)  int(4字节)  bigint(8字节)

浮点型 double(总长度,小数位) float  decimal

字符串 char  varchar  text   longtext

char最大长度是255

varchar 能够存储的字节数是65535

1、结构varchar类型的第一个字节不存储数据

2、varchar 前两个字节存储数据长度

3、有效位就剩下了65532,编码格式决定了能存储多少个字符

4、行中列的在总字节长度不能超过65535

 如果要存储长文本,使用text类型

char和varchar的区别

1、char是定长的,varchar是变长的

char(20) 存入abcd,占了20个字符位

varchar(20) 变长的 存入abcd  占了4个字符位

2、char的性能更好 varchar需要计算字符数

3、使用场景

char;身份证号、手机号、学号、订单号等

varchar;介绍信息、地址、姓名、店名等

text用来记录长文本,不需要设置长度

日期

1、date;只能记录年月日

2、time;只能记录时分秒

3、datetime:年月日时分秒

视图  view 是一个已经编译好的SQL语句

创建视图

视图中不存储数据,数据还是存储在表中

--         视图中不存储数据,数据还是存储在表中

触发器 trigger

相当于一个事件,一旦表中发生了指定事件,该触发器就会自动运行

触发器可以通过三种操作出发,增删改

触发时机 before  after

尽量不用触发器,会影响正常业务逻辑

Java逻辑代码完成触发器工作

函数 now() max聚合函数 if()

自定义函数

日期函数

SELECT NOW();返回当前的日期和时间

       SELECT CURDATE();返回当前的日期

SELECT CURTIME();返回当前的时间

SELECT CURRENT_TIMESTAMP;返回当前的日期和时间

存储过程 procedure

三范式

1、每一列的数据不可分割的(不可以分割)

2、每一列的数据完全依赖主键(不可以部份依赖)

3、不可以传递依赖

事物

ACID是指数据库事务管理中的四个重要特性,

用于确保数据库系统的可靠性和一致性。

这四大特性分别是:

1、原子性(Atomicity):事务内的操作是一个整体, 要么执行成功, 要么执行失败

2、一致性(Consistency):事务执行前后, 数据库状态保持一致

3、隔离性(Isolation):多个事务并发时, 事务之间不能相互影响

4、持久性(Durability):事务一旦执行成功,数据库会保证事务处理一定会持久化到数据库中

并发访问数据混乱

  1. 脏读:一个事务读取到了另一个事务修改未提交的记录
  2. 幻读:当事务不是独立执行时出现的一种现象
  3. 不可重复读:一个事务两次读取的记录数据不一致

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值