mysql导入数据,涉及到时间转换,乱码问题解决
2017-06-26 20:40
495 查看
表结构:
drop table if exists `qi_an_log`;
CREATE TABLE `qian_log` (
`dt` LONG NOT NULL COMMENT '产生日期,格式yyyy-MM-dd',
`METHOD_NAME` varchar(30) NOT NULL COMMENT '渠道名称或者接口名称',
`src_ip` varchar(45) DEFAULT NULL,
`ip` varchar(45) DEFAULT NULL,
`mobile` varchar(30) DEFAULT NULL,
`id_no` varchar(30) DEFAULT NULL,
`user_name` varchar(32) DEFAULT NULL COMMENT '姓名',
`log_date` datetime DEFAULT NULL COMMENT '日期',
`ret_code` tinyint(4) DEFAULT NULL DEFAULT '1' COMMENT '默认值1-激活,0-非激活',
`is_exist` tinyint(4) DEFAULT NULL DEFAULT '0' COMMENT '默认值0-未删除,1-删除'
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导入数据';
1. 编码格式问题解决:
show variables like 'char%';
然后
set character_set_database=utf8;
2. 涉及到分隔符
3. 导入日期
日期完全可以使用varchar表示,不影响使用,且不易出错。
alter table `check_post01` add column `log_date` VARCHAR(45) DEFAULT NULL COMMENT '日期';
update qi_an_log set dt=REPLACE(dt,'"','');
update `qi_an_log` set log_date= FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ); ;
涉及时间格式转换
select FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ) from `qi_an_log`;
drop table if exists `qi_an_log`;
CREATE TABLE `qian_log` (
`dt` LONG NOT NULL COMMENT '产生日期,格式yyyy-MM-dd',
`METHOD_NAME` varchar(30) NOT NULL COMMENT '渠道名称或者接口名称',
`src_ip` varchar(45) DEFAULT NULL,
`ip` varchar(45) DEFAULT NULL,
`mobile` varchar(30) DEFAULT NULL,
`id_no` varchar(30) DEFAULT NULL,
`user_name` varchar(32) DEFAULT NULL COMMENT '姓名',
`log_date` datetime DEFAULT NULL COMMENT '日期',
`ret_code` tinyint(4) DEFAULT NULL DEFAULT '1' COMMENT '默认值1-激活,0-非激活',
`is_exist` tinyint(4) DEFAULT NULL DEFAULT '0' COMMENT '默认值0-未删除,1-删除'
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导入数据';
1. 编码格式问题解决:
show variables like 'char%';
然后
set character_set_database=utf8;
2. 涉及到分隔符
load data local infile 'D:/document/log/test11.csv' into table qian_log FIELDS TERMINATED BY ',' (dt,METHOD_NAME,src_ip,ip,mobile,id_no,user_name,ret_code,is_exist) ;
3. 导入日期
日期完全可以使用varchar表示,不影响使用,且不易出错。
alter table `check_post01` add column `log_date` VARCHAR(45) DEFAULT NULL COMMENT '日期';
update qi_an_log set dt=REPLACE(dt,'"','');
update `qi_an_log` set log_date= FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ); ;
涉及时间格式转换
select FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ) from `qi_an_log`;
相关文章推荐
- mysql导入csv中文数据乱码问题分析与解决
- Mysql导入excel数据,解决某些字符乱码问题
- 如何解决mysql导入数据乱码问题
- 解决mysql导入导出数据乱码问题
- 解决mysql导入导出数据乱码问题
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- 如何解决mysql导入数据乱码问题
- Mysql导入数据时乱码问题解决办法
- MySQL导入数据乱码、出错等问题的解决办法
- mysql 解决导入数据乱码问题
- 再谈乱码问题,如何解决MYSQL数据中文乱码问题
- 完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题
- 解决数据库导入mysql时中文乱码问题
- 如何解决MYSQL数据中文乱码问题
- Mysql导出导入乱码问题解决
- 帮助类解决日期时间问题(包含从Mysql中查出来的数据后面多了个0的问题,以友好的方式显示时间的问题)
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用
- 再谈乱码问题,如何解决MYSQL数据中文乱码问题
- [MYSQL]将数据从5.0版本导入到4.1.7版本中出现乱码问题解决方案