0
点赞
收藏
分享

微信扫一扫

Mysql小结

Villagers 2022-01-20 阅读 73
mysqllinqsql

1,Mysql常见命令

2,Mysql常见数据类型

3,char和varchar的使用细节

1.如果数据是定长,推荐使用char,比如MD5的密码,手机号,身份证号等。

2.如果一个字段的长度是不确定的,推荐使用varchar。

查询速度:char>varchar

4,select查询语句

1).常用运算符

 2).字符串相关函数

 3).日期相关函数

 4).SQL查询语法

5.MySQL 常见完整性约束

  • PRIMARY KEY 主码约束(主键)

  • UNIQUE 唯一性约束

  • NOT NULL 非空值约束

  • AUTO_INCREMENT 用于整数列默认自增1

  • UNSIGNED 无符号整数

  • DEFAULT default_value 默认值约束

  • FOREIGN KEY 外键约束

  • DEFAULT cur_timestamp 创建新记录时默认保存当前时间(仅适用timestamp数据列)

  • ON UPDATE cur_timestamp 修改记录时默认保存当前时间(仅适用timestamp数据列)

  • CHARACTER SET name 指定字符集(仅适用字符串)

6.索引

B+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构,InnoDB存储引擎就是用B+Tree实现其索引结构。

7.MyISAM和InnoDB对比

1.InnoDB存储引擎的特点

  • 支持行锁和外键约束,因此可以支持写并发

  • 对于AUTO_INCREMENT类型的字段,必须包含只有该字段的索引

  • DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除

  • 主键索引采用聚集索引

  • 支持事务(Transaction):

  • 需要执行大量的增、删、改操作(insert、delete、update语句),出于事务安全方面的考虑,InnoDB是更好的选择

2.MyISAM存储引擎的特点

  • 不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性、一致性、隔离性、持久性)

  • 不支持外键,支持表锁,每次锁住的是整张表,MyISAM的表锁有读锁和写锁(两个锁都是表级别)

  • 采用非聚集索引,索引文件的数据域存储指向数据文件的指针。

  • 支持全文索引和空间索引

  • 对于AUTO_INCREMENT类型的字段,可以和其他字段一起建立联合索引

  • 如果需要执行大量的select语句,出于性能方面的考虑,MyISAM存储引擎是更好的选择。

8.事务与锁

mysql数据库事务的几个重要操作:

事务隔离级别:

img

InnoDB默认的隔离级别是RR 。

mvcc

MVCC全称Multi-Version Concurrency Control,即多版本的并发控制协议,MVCC 的目的就是多版本并发控制,在数据库中的实现,就是为了==解决读写冲突==。

 MVCC实现原理:

MVCC实现原理主要是依赖记录中的 ==3个隐式字段==,==undo日志== ,==Read View== 来实现.

 

举报

相关推荐

0 条评论