3步搞定純真IP資料匯入到MySQL的方法詳解

來源:互聯網
上載者:User

前提: 你會用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意思是,如果表已存在,匯入前清空表中資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.