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

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

相关推荐
数据库小学妹1 小时前
国产数据库怎么选?兼容、迁移、核心案例与融合架构四道关
数据库·架构·国产数据库·数据库迁移·融合数据库
IvorySQL2 小时前
PostgreSQL 日报| PgBouncer 修复三个 CVE 漏洞(10 月 15 日)
数据库·postgresql·区块链
饺子大魔王的男人2 小时前
后台表格、查询、流程总在重复写?我用ToolJet把PostgreSQL直接做成可远程访问的业务系统
数据库·postgresql
朱涛的自习室2 小时前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
Gauss松鼠会2 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
杨云龙UP3 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路3 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
凯歌的博客4 小时前
DuckDB 是一款进程内的分析型数据库
数据库·ai编程
dishugj4 小时前
Oracle物理体系结构
数据库·oracle