mysql 导入txt文件 详解

   mysql 导入txt文件注意的地方

           今天做了一个功能, 功能大致是这样:  

                      将txt客户手机号导入到mysql中,然后去重复,去重之后查询 手机号不在主库中的手机号。

          注意:window下 txt文件是  有换行和回车符的  /r/n所以要去除掉。  linux下就不需要了  直接在linux下导入没有换行回车符。

        

  先将数据导入到mysql表中  。

        1.在  mysql  安装目录的bin目录下 按住  shift   ,点击在此处运行命令,mysql -u root -p

        2.  回车 ,输入密码 进入到mysql,  

        3.show databases; 查看所有的数据库 ,

        4.引用数据库 use XXX;

        5.  show tables;

        6, 将txt文件插入   load data infile "d:\users.txt" ignore  into table mobilesms_his_test_ss(MOBILE);

             *:txt文件 是这样

             *:ignore  这个是去重 ,大家可以测试下 。 mobile 要建立唯一索引 ,建立唯一索引不会的建议大家去搜下

                 好吧,我截图给大家看,,截图没法看0.0  index_his_test(名) MOBILE(栏位) Unique(索引类型) BTREE(索引方法)

        7.插入的数据这时候是在window下进行的,所以要去除空格和换行符 /r/n

          
UPDATE mobilesms_his_test SET MOBILE = REPLACE (REPLACE (MOBILE, CHAR(10), ''),CHAR (13),'');


        8.数据更新之后  然后 筛选数据  这里有两种方式  一种是 not exists  ,还有就是 not in ,顺便把两种方法给大家看看,当然结果是一样的,但是not exists效率却相对较高。

                  not exists用法 

                   

 SELECT
			count(MOBILE) 
		FROM
			mobilesms_his_test ty
		WHERE
			NOT EXISTS (
				SELECT
					ts_rel.MOBILE
				FROM
					mobilesms_bak ts_rel
				WHERE
					ts_rel.MOBILE = ty.MOBILE
			);


                   not in 用法  

 

SELECT
		count(MOBILE),
		MOBILE
	    FROM
		mobilesms_his_test
	    WHERE
		MOBILE NOT IN (
			SELECT
				MOBILE
			FROM
				mobilesms_bak
		);


     扩展:数据插入之后想清楚数据,TRUNCATE TABLE mobilesms_his_test_ss;

      总结:这样结果就出来了,当然遇到什么问题大家可以留言 ,互相讨论,互相进步。

     

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值