暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql load用法

IT那活儿 2021-12-08
2828
点击上方“IT那活儿”,关注后了解更多精彩内容!!!

mysql load用法

1. 简单导出参数
2. 导入参数
3. 选定字段导入
4. 表新增字段导入
4.1 新增两个字段。
4.2 对于新增的字段,被设置为null值。
5. 生成自定义字段数据
如果需要对新增字段进行处理,可在 LOAD 时通过 MySQL支持的函数 或给定 固定值 自行定义数据,对于文件中存在的字段也可做函数处理。
6. load定长数据
定长数据导入需要明确每列数据占用的字符个数,以下直接使用 rpad 对现有的表数据填充空格的方式生成定长数据用作示例使用。
6.1 导出定长数据:
6.2 导入定长数据:


load总结


1. 默认情况下导入的顺序以文本文件 列-从左到右,行-从上到下 的顺序导入。
2. 如果表结构和文本数据不一致,建议将文本文件中的各列依次顺序编号并与表中字段建立 mapping 关系,以防数据导入到错误的字段。
3. 对于待导入的文本文件较大的场景,建议将文件 按行拆分 为多个小文件,如用 split 拆分。
4. 对文件导入后建议执行以下语句验证导入的数据是否有 Warning,ERROR 以及导入的数据量。
5. GET DIAGNOSTICS @p1=NUMBER,@p2=ROW_COUNT。
6. select @p1 AS ERROR_COUNT,@p2 as ROW_COUNT。
7. 文本文件数据与表结构存在过大的差异或数据需要做清洗转换,建议还是用专业的 ETL 工具或先粗略导入 MySQL 中再进行加工转换处理。

问题分析


1. secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录。
2. secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
3. secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
4. secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。
解决办法:
打开my.cnf 或 my.ini,加入以下语句后重启mysql。
secure_file_priv=''
重启数据后生效。

本 文 来 源:IT那活儿微信公众号(上海新炬王翦团队)


更多精彩干货分享

点击下方名片关注

IT那活儿

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论