MyISAM和InnoDB 大意了 我没有闪

it2023-10-23  79

开始前接一下上篇文章 数据库常用的命令 下面就是一些常用查看数据库 表 结构 的创建语句,可方便移植

SHOW CREATE DATABASE [数据库名] --查看数据库的创建语句

SHOW CREATE TABLE [表名称] --查看数据表的定义语句

DESC [表名称] --显示数据表的结构

数据库引擎

InnoDB存储引擎(默认使用)MyISAM存储引擎 (早些年使用)MEMORY存储引擎ARCHIVE存储引擎

附上区别

这里我们主要聊一聊innoDB 和 MYISAM

MYISAMINNODB简介事务支持不支持支持就是提交的两个操作,要不都成功,要不都失败数据行锁定不支持支持可以只锁定一行数据,相比锁一张表,效率更高外键约束不支持支持在数据库级别关联一张表全文索引支持不支持其实就是在一片大的文章里找里面的某一字段,(类似在百度输入框输入查找容,百度能把某些文章里包含的所查字段也找出来)表空间的大小较小较大约为其2倍所占内存

SO:

MYISAM 节约空间 速度较快INNODB 安全性高,事务的处理,多表用户操作。

数据库在物理空间存储位置 存放在mysql安装data目录下

INNODB引擎和MYISAM引擎在物理文件上区别

innodb 在数据库表中有*.frm文件,以及ibd文件

MYISAM对应文件为: *.frm -------- 表结构的定义文件 *.myd ------- 数据文件(data) *.MYI --------索引文件(index)




有时间就看一眼(哈哈) 最后我们再学点sql命令

修改表名 ALTER TABLE [旧表名] RENAME AS [新表明]

增加表字段 ALTER TABLE [表名] ADD 字段名 列属性

修改表字段(重命名,修改约束) ALTER TABLE [表名] CHANGE 字段名 列属性 ----重命名 ALTER TABLE [表名] MODIFY 字段名 [要改成新字段名] 新约束 -----修改约束 总结: change:用来字段重命名 modify:修改自段类型与约束

删除字段名 ALTER TABLE [表名] DROP 字段名

删除表 DROP TABLE IF EXISTS [表名]–最好要先判断是否存在 注:所以 创建删除最好加上判断(IF EXISTS,IF NOT EXISTS),以免报错

删除表中所有数据 DELETE FROM [表名] --------清空后自增至不归0 也就是在插入数据自增列会从6开始

TRUNCATE TABLE [表名] ---------这种方式自增值回归0 了解: DELETE删除问题 ,重启数据库后的现象,了解即可

INNODB引擎 自增列会从一开始(存在内存当中,即断电即失)MYISAM 引擎,继续从上一个增量开始(因为是存在文件中的 不会丢失)

最后:说一下sql关键字大小写是不敏感的,所以推荐使用小写

最新回复(0)