mysql整型数据导出到excel最后几位变成0了

mysql整型数据导出到excel最后几位变成0了

问题:数据直接导出到excel或者csv,当字段类型是bigint的时候,会显示成科学计数格式。双击单元格后,发现数据的后面几位都显示为0了,显然已经和原来数据库的数据不一致了。
解决方法:

1.需要将bigint数据(即id字段)转换为char类型,并且前面加一个逗号,方便excel直接显示全部数字

select concat("'",cast(id as char)) from 表名 

上面concat就是拼接逗号和id,cast是将id转换为char类型(之前是bigint类型)

2.导出数据到excel

(1)方法一:可以借助pycharm
在这里插入图片描述
在这里插入图片描述

(2)方法二:登录mysql,直接使用SQL语言导出

select concat("'",cast(id as char)) from 表名 into outfile '/var/lib/mysql-files/XXX.xlsx'

这里注意,文件的存放路径不能随意写,不然会报错:

ERROR 1290 (HY000): running with the --secure-file-priv

原因是secure_file_priv 设置了指定目录,需要在指定的目录下进行数据导出

文件路径需要查询

mysql> show variables like '%secure%';

在这里插入图片描述
如果想修改路径,需要在mysql的配置文件(一般默认位置/etc/mysql/mysql.conf.d/mysqld.cnf)中添加:

secure_file_priv=文件存放路径

然后重启mysql服务,注意文件存放的目录权限需要和mysql的权限一致。不一致的话需要修改权限:

chmod -R mysql:mysql 目录
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值