【MySQL】存储引擎 - CSV详解

📢博客主页:https://blog.csdn.net/2301_779549673

📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📢本文由 JohnKi 原创,首发于 CSDN🙉

📢未来很长,值得我们全力奔赴更美好的生活✨

文章目录


CSV逗号分隔值(Comma-Separated Values)的缩写,以纯文本形式存储表格数据。

🏳️‍🌈一、创建 CSV 表

在MySQL8.0中 InnoDB 是默认引擎,所以在创建表时需要指定 ENGINE=CSV

创建 CSV 表时,服务器会创建三个文件,其中以 .cSV 为扩展名的文件用于以逗号分隔值的格式保存数据

扩展名为 .CSM 的文件,用于存储表的状态和表中的行数;以 .sdi 为后缀的表信息描述文件(JSON格式)

🏳️‍🌈二、CSV表中的数据

向表中插入数据

由于 .CSV 是⽂件格式的⽂件,我们在命令⾏查看⽂件内容如下:


CSV 格式可以被 Microsoft Excel 等电⼦表格应⽤程序读取和写⼊

🏳️‍🌈三、CSV 表的修复和检查

CSV 存储引擎⽀持使⽤ CHECK TABLEREPAIR TABLE 语句来验证或修复损坏的 CSV 表

当⽤⽂本编辑器打开t_csv.CSV⽂件,并写⼊⼀条新数据,如下所⽰:

复制代码
root@guangchen-vm:/var/lib/mysql/test_db# vim t_csv.CSV #编辑CSV⽂件
1,"record one"
2,"record two"
3,"record three" # ⼿动写⼊⼀条新数据, 保存并退出

再次执⾏查询语句发现没有第三条数据,

这是由于.CSM⽂件中并没有记录新增的⾏,可以使⽤ REPAIR TABLE 语句修改表内容和CSM⽂件

检查损坏的表时会返回错误,例如把t_csv.CSV⽂件的内容进⾏修改

复制代码
root@guangchen-vm:/var/lib/mysql/test_db# vim t_csv.CSV #编辑
1,"record one"
2,"record two"
3 					# 删除内容,构造⼀个错误格式的CSV数据

运⾏检查语句提⽰错误

运⾏修复语句后,错误的数据被删除


注意 :在修复期时,只有从CSV 文件第一行到第一个损坏行的行被复制到新表中,从第一个损坏的行到表末尾的所有其他行都会被删除,即使是有效数据。

🏳️‍🌈四、CSV表限制

  • CSV 存储引擎不支持索引;
  • CSV 存储引擎不支持分区
  • 使用 CSV 存储引擎创建的表中的所有列都必须为 NOT NULL。

👥总结

本篇博文对 【MySQL】存储引擎 - CSV详解 做了一个较为详细的介绍,不知道对你有没有帮助呢

觉得博主写得还不错的三连支持下吧!会继续努力的~

相关推荐
oradh31 分钟前
Oracle 11g rac IP地址修改(public ip、vip、scan ip、priviate ip)
数据库·tcp/ip·oracle·rac ip地址修改
__Witheart__40 分钟前
3568 Android otg模式下adb热拔插不识别
android·adb·rockchip
YOU OU42 分钟前
Redis哨兵 & 集群
数据库·redis·sentinel
小罗水1 小时前
第8章 文档解析与文本切片
数据库·spring·spring cloud·微服务
瞬间&永恒~1 小时前
【MySQL】 主从复制多拓扑搭建实验
运维·数据库·mysql·云原生
han_hanker2 小时前
sql语法 DECODE, CASE ... WHEN
数据库·sql·oracle
井川廊咏2 小时前
vi 删除指定范围的行,不用再反复按 dd
数据库·mysql
小码农 - 初2 小时前
MySQL前言
mysql
明天…ling3 小时前
Upload-Labs (Pass1-Pass21) 完整通关思路与源码分析
android·网络安全·渗透测试·burpsuite·upload-labs·文件上传绕过·靶场复现
__Witheart__3 小时前
3568 Android ntp校时使用
android·rockchip