当前位置: 数据库>mysql
3步搞定纯真IP数据导入到MySQL的方法详解
来源: 互联网 发布时间:2014-09-06
本文导语: 前提: 你会用vi。 很明显,本文是在Linux下测试通过的。本文用的是MySQL命令行工具,如果你不会,用phpMyAdmin应该也可以。 第1步: 下载纯真IP数据,解压存成ip.txt。 详解:这一步不用详解了吧。如果你这一步都不会,下面就...
前提: 你会用vi。 很明显,本文是在Linux下测试通过的。本文用的是MySQL命令行工具,如果你不会,用phpMyAdmin应该也可以。
第1步: 下载纯真IP数据,解压存成ip.txt。
详解:这一步不用详解了吧。如果你这一步都不会,下面就不用看了。
第2步: 用vi 编辑 ip.txt。
# vi ip.txt
在vi界面下输入如下命令:
:%s/s+/;/
一共重复输入3次。
存盘退出:
:wq
详解:ip.txt有4列。分别是起始ip,结束ip,地区,说明。列之间用不等数量的空格间隔。为了将此文本文件到入到mysql,需要处理掉这些空格。但是只能处理掉前3列的空格,最后一列中的空格要保留。vi中输入的命令意思是,把每一行第一个和其连续的空格替换成字符';'。
%s代表全局搜索替换。s代表空格。+代表尽可能多地匹配前面的字符。;代表替换成';'
第3步: 导入MySQL
创建MySQL表
CREATE TABLE `ips` . `ip` (
`ip_start` VARCHAR ( 16 ) NOT NULL ,
`ip_end` VARCHAR ( 16 ) NULL ,
`region` VARCHAR ( 128 ) NULL ,
`comments` VARCHAR ( 512 ) NULL
) ENGINE = MYISAM
为避免出现乱码, region和comments字段的Collation设为gbk_chinese_ci
导入ip.txt到ips数据库的ip表
# mysqlimport -p你的密码 --local --delete --fields-terminated-by=';' ips ip.txt
完成!
详解:mysqlimport可以导入一个文本文件到数据库的表中。前提是表的名字与文本文件名相同,并且表的字段与文本文件也对应起来。
--fields-terminated-by=';' 意思是字段用';'间隔开来。
--delete意思是,如果表已存在,导入前清空表中数据。
第1步: 下载纯真IP数据,解压存成ip.txt。
详解:这一步不用详解了吧。如果你这一步都不会,下面就不用看了。
第2步: 用vi 编辑 ip.txt。
# vi ip.txt
在vi界面下输入如下命令:
:%s/s+/;/
一共重复输入3次。
存盘退出:
:wq
详解:ip.txt有4列。分别是起始ip,结束ip,地区,说明。列之间用不等数量的空格间隔。为了将此文本文件到入到mysql,需要处理掉这些空格。但是只能处理掉前3列的空格,最后一列中的空格要保留。vi中输入的命令意思是,把每一行第一个和其连续的空格替换成字符';'。
%s代表全局搜索替换。s代表空格。+代表尽可能多地匹配前面的字符。;代表替换成';'
第3步: 导入MySQL
创建MySQL表
代码如下:
CREATE TABLE `ips` . `ip` (
`ip_start` VARCHAR ( 16 ) NOT NULL ,
`ip_end` VARCHAR ( 16 ) NULL ,
`region` VARCHAR ( 128 ) NULL ,
`comments` VARCHAR ( 512 ) NULL
) ENGINE = MYISAM
为避免出现乱码, region和comments字段的Collation设为gbk_chinese_ci
导入ip.txt到ips数据库的ip表
# mysqlimport -p你的密码 --local --delete --fields-terminated-by=';' ips ip.txt
完成!
详解:mysqlimport可以导入一个文本文件到数据库的表中。前提是表的名字与文本文件名相同,并且表的字段与文本文件也对应起来。
--fields-terminated-by=';' 意思是字段用';'间隔开来。
--delete意思是,如果表已存在,导入前清空表中数据。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。