【MySQL】将表导出CSV(可以使用excel打开)

1、准备工作

查看数据库:

复制代码
show databases;

切换数据库:

复制代码
use 数据库名;

查看表名字

复制代码
show tables;

2、单个表导出

需要替换导出csv文件目录和表名

sql 复制代码
SELECT *
INTO OUTFILE '目录/文件名.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM 表名;

如果表太大,excel无法打开,可以显示导出的行数,例如10000行

sql 复制代码
SELECT *
INTO OUTFILE '目录/文件名.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM 表名
LIMIT 10000;

3、导出全部表

当表太多的时候,可以使用下面的方法,一次性导出全部表;

需要替换数据库名。

sql 复制代码
DELIMITER //
 
CREATE PROCEDURE ExportAllTablesToCSV()
BEGIN
    DECLARE done INT DEFAULT FALSE;
    DECLARE tName VARCHAR(255);
    DECLARE tCursor CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = '数据库名';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
 
    OPEN tCursor;
        read_loop: LOOP
            FETCH tCursor INTO tName;
            IF done THEN
                LEAVE read_loop;
            END IF;
 
            SET @stmt = CONCAT('SELECT * FROM ', tName, ' INTO OUTFILE \'', tName, '.csv\' FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\'');
            PREPARE s1 FROM @stmt;
            EXECUTE s1;
            DEALLOCATE PREPARE s1;
        END LOOP;
    CLOSE tCursor;
END //
 
DELIMITER ;
 
CALL ExportAllTablesToCSV();

4、修复

如果在导出时,报错:

复制代码
Table '表名' is marked as crashed and should be repaired

检查表:

复制代码
check table 表名;

修复表:

复制代码
repair table 表名;
相关推荐
川石课堂软件测试3 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
1024奇点11 小时前
【仓颉语言入门 · 第二篇 第 12 课】
开发语言·数据库·ide·mysql·开源
冰暮流星11 小时前
mysql之insert优化
数据库·mysql
北方的银狐-Zero11 小时前
OntoL 7.0|面向工业多智能体的语义本体套件,让异构系统真正 “看懂彼此”——OntoL的本体产品矩阵
人工智能·mysql·sqlite·1024程序员节·本体论·本体产品
瑞克-桑切斯12 小时前
4、MySQL 索引与事务
数据库·mysql
二宝哥12 小时前
【问题】本地启动springboot项目启动flowable引擎会提示数据库脚本错误,同事本地启动没有报错(MySQL表明大小写敏感参数)
数据库·mysql
瑞克-桑切斯13 小时前
2、 MySQL 主从复制与读写分离
数据库·mysql
秋饼14 小时前
MySQL 分库分表完全指南:ShardingSphere-JDBC 实战、分片键选型、场景边界、20 个生产坑与 30 道面试点
java·mysql·面试·shardingsphere·分库分表·后端架构
JavaPub-rodert15 小时前
王仕宇分享:把 MySQL 排障做成 AI Agent,慢 SQL、锁等待、连接数和主从异常都能自动查
人工智能·sql·mysql