MySQL--存储引擎及图形化管理工具

一、存储引擎种类

1.分类:MyISAM、InnoDB、MEMORY、Archive

①InnoDB存储引擎(8.0)

特点:

从MySQL5.5版本之后,MySQL的默认内置存储引擎已经是InnoDB了,他的主要特点有:

(1)支持事务。

(2)使用行级锁,可以支持更高的并发;

(3)支持外键;

②MyISAM存储引擎

特点:

在5.5版本之前,MyISAM是MySQL的默认存储引擎,该存储引擎并发性差,不支持事务,所以使用场景比较少,主要特点为:

(1)不支持事务;

(2)不支持外键,如果强行增加外键,不会提示错误,只是外键不起作用;

(3)默认表级锁,所以并发度很差,加锁快,锁冲突较少,所以不太容易发生死锁;

(4)数据库所在主机如果宕机,MyISAM的数据文件容易损坏,而且难恢复;

MEMORY存储引擎

特点:将数据库存在内存中和市场上的Redis,memcached等思想类似,为了提高数据的访问速度;

主要特点:(1)支持的数据类型有限制。比如:不支持Text和BloB类型,对于字符串类型的数据,只支持固定长度的行,varchar会被自动存储为char类型;

                   (2)仅支持select和insert操作,存入的数据就只能查询做修改和删除;

                   (3)只支持自增键上的索引,不支持其他索引;

Archive存储引擎

特点:Archive引擎适合的场景有限,由于其支持压缩故主要用来做日志,流水等数据的归档;

主要特点:(1)支持zlib压缩,数据在插入表之前,会被先压缩

                (2)仅支持select和insert操作,存入的数据就只能查询做修改和删除;

                (3)只支持自增键上的索引,不支持其他索引;

2.select version(); #查看版本

show engines; #查看支持的引擎

3.mysql 8.0版本默认引擎是InnoDB;

mysql 5.5版本默认引擎是MyISAM;

4.(1)在mysql5.5版本中插入一个记录,插入一个没有的人和序号,则能运行出来,那么违反了外键约束,MyISAM的引擎不支持外键;

(2)在mysql 8.0版本中插入一条记录,插入一个没有的人和序号,则能运行出来(报错),这个InnoDB支持外键;

5.什么是事务?

        事务对应生活中用户的操作就是一个业务。事务是用户操作数据库的基本单元,1个事务是由1到多条sql语句组成

    (组成事务的sql命令的多少取决于业务的复杂程度)。组成事务的一组sql命令,要么一起成功,要么一起失败。

        事务是为了保证业务操作的完整性和数据的安全一致性。

6.事务的特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

7.表级锁和行级锁

(1)表级(依次操作,不能同时操作)

直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许

(2)行级

某一条记录进行锁定,两个记录不冲突,可同时操作,若有冲突,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。

二、修改表存储引擎

语法:

     show create table 表名; #查看当前表的存储引擎

修改已创建过的表:alter table 表名 ENGINE = 修改的存储引擎;

(二)创建表时指定存储引擎

     CREATE TABLE 表名(

          列名1 数据类型 [完整性约束条件],

          列名2 数据类型 [完整性约束条件],

           ……

          列名n 数据类型 [完整性约束条件],

     )ENGINE=INNODB;

  注:建议创表时直接指定存储引擎

(三)1、修改MySQL8.0版本的引擎

(1)alter table 表名 engine= myisam;

运行出来报错了不允许修改,因为有外键约束

(2)用创建表示指定存储引擎修改:

CREATE TABLE 表名(

          列名1 数据类型 [完整性约束条件],

          列名2 数据类型 [完整性约束条件],

           ……

          列名n 数据类型 [完整性约束条件],

     )engine=myisam;

2.修改MySQL5.5版本的引擎

(1)alter table 表名 engine= InnoDB;

运行成功,没有报错

(2)验证InnoDB引擎有没有用:

先插入一条数据,插入没有的人和序号

若插入成功,说明InnoDB引擎是没有用的

注:建议创表时直接指定存储引擎

3、创建完表后再修改引擎效果很差;要在创建外键表时,直接写一个存储引擎

三、图形化管理工具

1、种类

(1)phpMyAdmin(http://www.phpmyadmin.net/)

(2)SQLyog(http://sqlyog.en.softonic.com/ )

(3)Database Master

(4)Navicat

2、连接

(1)连接本地MySQL(正常连接)

(2)连接远程MySQL:点ssh 然后填写信息

3、生成E-R图模型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

layroy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值