【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详解 做了一个较为详细的介绍,不知道对你有没有帮助呢

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

相关推荐
NineData1 分钟前
NineData 智能数据管理平台新功能发布|2026 年 3 月
数据库·oracle·架构·dba·ninedata·数据复制·数据迁移工具
小陈工6 分钟前
2026年4月7日技术资讯洞察:下一代数据库融合、AI基础设施竞赛与异步编程实战
开发语言·前端·数据库·人工智能·python
❀͜͡傀儡师6 分钟前
k8s部署的Nexus 3 数据库损坏恢复指南:从删除损坏数据库到完整数据重建
数据库·kubernetes·nexus3
恋猫de小郭28 分钟前
Android 上为什么主题字体对 Flutter 不生效,对 Compose 生效?Flutter 中文字体问题修复
android·前端·flutter
三少爷的鞋32 分钟前
不要让调用方承担你本该承担的复杂度 —— Android Data 层设计原则
android
李李李勃谦42 分钟前
Flutter 框架跨平台鸿蒙开发 - 创意灵感收集
android·flutter·harmonyos
StackNoOverflow1 小时前
Spring Security权限控制框架详解
java·数据库·sql
不愿透露姓名的大鹏1 小时前
Oracle归档日志爆满急救指南
linux·数据库·oracle·dba
a里啊里啊1 小时前
Redis面试题记录
数据库·redis·缓存
数据知道1 小时前
claw-code 源码分析:OmX `$team` / `$ralph`——把 AI 辅助开发从偶发灵感变成可重复流水线
数据库·人工智能·mysql·ai·claude code·claw code