Mysql小结

1,Mysql常见命令

SELECT 从数据库中提取数据
UPDATE  更新数据库中的数据
DELETE 从数据库中删除数据 
INSERT INTO 将新数据插入数据库
CREATE DATABASE 创建一个新的数据库
ALTER DATABASE     修改数据库
CREATE TABLE     创建一个新表
ALTER TABLE     修改表
DROP TABLE        删除表
CREATE INDEX    创建索引(搜索键)
DROP INDEX    删除索引

2,Mysql常见数据类型

3,char和varchar的使用细节

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

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

查询速度:char>varchar

4,select查询语句

1).常用运算符

 2).字符串相关函数

 3).日期相关函数

 4).SQL查询语法

from子句:指定查询数据的表

where子句:查询数据的过滤条件

group by子句:对匹配where子句的查询结果进行分组

having子句:对分组后的结果进行条件限制

order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)。 

limit子句:对查询的显示结果限制数目

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数据库事务的几个重要操作:

1-- 开始事务
START TRANSACTION
2-- 设置保存点
SAVEPOINT a

3.-- 回退
ROLLBACK TO a

4-- 如果直接rollback 则回退到事务开始的状态
ROLLBACK

5.-- 提交事务

commit

事务隔离级别:

img

InnoDB默认的隔离级别是RR 。

mvcc

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

 MVCC实现原理:

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

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值