广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    3步搞定纯真IP数据导入到MySQL的方法详解

    2018-06-01 14:45:39 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    前提: 你会用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意思是,如果表已存在,导入前清空表中数据。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告