mysql - 在数据库中加载本地文件时忽略某些信息?
问题描述
在数据库中加载本地文件时,有没有办法忽略某些信息?
示例:我有一个包含 2 列“PHONE”和“VALIDATED”的文件,其中“VALIDATED”列的状态为“YES”或“NO”。
因为我不需要否定案例,所以我想忽略它们以节省空间并缩短查询时间。
有什么办法让我只加载手机VALIDATED = YES
吗?
数据库:MYSQL 6.3
导入:加载数据本地文件
解决方案
在Stack Overflow 用葡萄牙语交叉发布我的原始答案的翻译:
始终可以将所有数据加载到临时表中,然后仅将所需的行复制到目标表中。
假设一个表名为contacts
:
CREATE TEMPORARY TABLE contacts_temp LIKE contacts;
LOAD DATA LOCAL INFILE 'my_file' INTO TABLE contacts_temp;
INSERT INTO contacts (phones, validated, dt_imp)
SELECT phone, validated, dt_imp
FROM contacts_temp
WHERE validated = 'YES';
-- drop statement is only useful if you are planning to keep the
-- current session open
DROP TEMPORARY TABLE contacts_temp;
推荐阅读
- amazon-web-services - redis 使用 jedis 获取多个密钥的最佳方法
- spring-boot - 根据重复时间间隔的值从番石榴缓存中删除条目
- ansible - 关于使用 Ansible 更新包的问题
- java - 使用字符串而不是 java.lang.charsequence
- scala - 在 Spark 中找到最长的连续条纹
- c++ - 两个函数如何在时间复杂度问题上彼此不同
- firebase - 如何在flutter应用程序中将文本/文件数据存储/检索到firebase数据库
- batch-file - 批处理脚本错误级别输出未显示预期输出
- javascript - 将pdf转换为图像:角度8
- sql - SQL Plus 列溢出到下一行