• MySQL导出数据为csv的方法(亲测)


    最方便的还是用工具导出

    mysql命令行导出,windows和linux都行,下面以windows为例:

    登录mysql
    1.查看导出权限

    5.0mysql默认是不给导出数据到文件的,8.0有默认导出路径,我们可以查看secure_file_prive的路径
    SHOW VARIABLES LIKE “%secure%”;
    在这里插入图片描述

    可以看到secure_file_prive的值,大概有三种

    secure_file_prive=null,不允许导出文件
    secure_file_priv=/path/ ,只允许导出到指定路径
    secure_file_priv="" ,允许导出到任何路径
    
    • 1
    • 2
    • 3

    我们可以进入打开mysql的配置文件进行修改
    Windows版可以打开my.ini,Linux打开/etc/my.cnf,在里面修改或添加secure_file_priv的值
    8.0把路径注释掉,新写一个更保险
    5.0本身没有secure_file_priv参数,添加上去就行
    在这里插入图片描述
    修改完重启mysql服务
    在这里插入图片描述重启服务之后再登录mysql执行show variables like “%secure%”;查看是否已经修改成功
    在这里插入图片描述
    导出csv文件,不带表头

    fields terminated by描述字段的分隔符,默认情况下是tab字符(\t)
    enclosed by描述的是字段值的括起字符。下面sql里没有括起字符
    escaped by描述的转义字符。默认的是反斜杠(backslash:\ )
    lines terminated by : 行与行之间的分隔

    我用的sqlyog执行的,路径需要\\,navicat可能用\就行,只要不报路径不存在就行

    SELECT * FROM test INTO OUTFILE "E:\\test\\a.csv" FIELDS TERMINATED BY "," ENCLOSED BY ''  
     LINES TERMINATED BY '\n' 
    
    • 1
    • 2

    在这里插入图片描述

    注意
    csv文件不能提前存在,否则报错

    在这里插入图片描述
    导出的路径数据库需要有权限访问,不然报错:访问受限

    查询结果导出为xls
    xlsx也可以,如果xlsx文件打不开,是安装过wps的原因,需要修改注册表。
    excle类型可以省略后面的参数,证明excle为默认类型

    SELECT `Stars`,COUNT(`Variety`)  FROM `rating` GROUP BY `Stars` INTO OUTFILE "E:\\MySQL\\MySQL Server 8.0\\Uploads\\c.xls" 
    
    • 1

    使用mysqldump导出

    相当于备份,spj是库名,s是表名
    mysqldump -uroot -p123456 spj s> C:\backup\s.sql

    补充

    使用mysql命令导出

    mysql spj -uroot -p123456 -e “select * from s;” > C:\backup\s.txt

  • 相关阅读:
    【无标题】
    5V升压充电8.4V芯片
    【应用SLAM技术建立二维栅格化地图】
    【Android知识笔记】UI体系(四)
    git中的分支运用(branch建立、 conflict处理)
    YZ系列工具:YZ11:VBA_窗体缩放
    Jitpack发布Android库带文档和源码
    实现paho.mqtt.cpp库编译
    MFC/QT 一些快要遗忘的细节:
    全量知识系统问题及SmartChat给出的答复 之18 生存拓扑控制+因子分析实现自然语言处理中的特征提取及语义关联
  • 原文地址:https://blog.csdn.net/qq_39331255/article/details/126779405