Oracle 导入 txt (oracle 10) 百万数据导入 txt
索引
- 1.1.1,Oracle 百萬數(shù)據(jù)導(dǎo)入 txt
- 1.1.2,準備工作
- 1.1.3,首先我們創(chuàng)建個測試賬戶
- #1.1.4,寫個測試表
- 1.1.5,編寫自動入庫腳本 ctl
- 1.1.6,示例1 編寫.ctl 控制器
- 1.1.7,執(zhí)行腳本
- 1.1.8從新測試
- 用到的 sql
- 1.1.9python處理數(shù)據(jù)
- 1.2參考:
1.1.1,Oracle 百萬數(shù)據(jù)導(dǎo)入 txt
1.1.2,準備工作
用到的數(shù)據(jù),軟件,環(huán)境
100萬+手機號 txt;
oracle 10;
sqlldr ;
plsqldev.exe ;
python 3.6;
windows 10;
數(shù)據(jù)量大動手比較難受 。
這個txt 有很多垃圾數(shù)據(jù) 用oracle來弄的話還真沒試過 正好手頭有python環(huán)境 正則加list處理挺方便的
1.1.3,首先我們創(chuàng)建個測試賬戶
--創(chuàng)建用戶 create user spring identified by spring; --分配管理員權(quán)限 grant dba to spring; --回收權(quán)限 --revoke dba from pring;效果圖
#1.1.4,寫個測試表
// 新建一張名叫表phone的表 create table phone (id NUMBER,--//idphone VARCHAR2(11)--//手機號 )效果圖
1.1.5,編寫自動入庫腳本 ctl
#1.首先說下SQL*LODER>ctl語法幾個參數(shù):
| load data | 把load data寫開頭 "加載數(shù)據(jù)" | “在日常運維中,會經(jīng)常遇到將文件中數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,如果是.sql文件,直接采用source方式即可;如果是.csv、.txt文件,可以采用 load data 方式。這兩種方式都十分熟悉,這里說一種特殊情況:” |
| characterset utf8 | 字符集utf8" | “表的存儲格式” |
| INFILE | INFILE 'I:/NavicatforMySQL/phone.txt' | “你要導(dǎo)入的文件放哪了?用的時候 記得 路徑是被單引號包起來的” |
| Append into table [表名] | Append into table phone | “字面意思,如果表有數(shù)據(jù)就在他后表追加新的數(shù)據(jù)。。。 追加數(shù)據(jù)到什么表” |
| fields terminated by | fields terminated by "" 匹配空格 | 文本文件是沒有格式的,“”的意思是告訴oracle,這個前面是一個字段,后面是另一個字段,整個一行是一個記錄。這樣導(dǎo)入的數(shù)據(jù)表才不會亂 要是 1,2,3 這樣的數(shù)據(jù) 就這樣寫 “,” |
1.1.6,示例1 編寫.ctl 控制器
--編寫 insert.ctl 文件 load data characterset utf8 INFILE 'I:/NavicatforMySQL/phone.txt' Append into table phone fields terminated by "" ( phone )效果圖
mermaid語法說明
1.1.7,執(zhí)行腳本
語法
userid=用戶名/密碼@數(shù)據(jù)庫實例名 control=腳本名
示例
執(zhí)行結(jié)果
1.1.8從新測試
清空數(shù)據(jù)庫
truncate table [表名];
delete from [表名];
用到的 sql
用truncate、delete都可以清空表中數(shù)據(jù)。 SQL如下: truncate table [表名]; delete from [表名];delete與truncate的區(qū)別: delete:會產(chǎn)生rollback,如果刪除大數(shù)據(jù)量的表速度會很慢,同時會占用很多的rollback segments。 truncate: 是DDL操作,不產(chǎn)生rollback,速度快truncate table phone1.1.9python處理數(shù)據(jù)
部分代碼 – 這是去重
Python數(shù)據(jù)結(jié)構(gòu)之一——list(列表)
集合:由一個或多個確定的元素所構(gòu)成的整體。若x是集合A的元素,則記作x∈A。
集合中的元素有三個特征:
1. 確定性:集合中的元素必須是確定的;
2. 互異性:集合中的元素互不相同,例如:集合A={1,a},則a不能等于1);
3. 無序性:集合中的元素沒有先后之分,例如:集合{3,4,5}和{3,5,4}算作同一個集合。
Python 3.x中的set特征與數(shù)學中類似。我們之前學過list、tuple以及dict。其實,set與dict大致相同,但set沒有Value,只有key。因此,set只是一組key的集合。由于key不能重復(fù),所以,在set中,沒有重復(fù)的key。
import shutil readPath='20170912.txt' writePath='cnews.test2.txt' phone=set() #list outfiile=open(writePath,'a+',encoding='utf-8') f=open(readPath,'r',encoding='utf-8') for line in f: #逐行讀取if line not in phone: #看phone里有沒有這行outfiile.write(line) #沒有就寫phone.add(line) #加上效果圖
未完》》》》
1.2參考:
https://blog.csdn.net/qq_37059087/article/details/79742945
https://www.cnblogs.com/fzz9/p/8341984.html
https://www.cnblogs.com/SmallWZQ/p/8488744.html
https://blog.csdn.net/t_zht/article/details/83377165
http://tool.oschina.net/uploads/apidocs/jquery/regexp.html
總結(jié)
以上是生活随笔為你收集整理的Oracle 导入 txt (oracle 10) 百万数据导入 txt的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ogr 缓冲区_OGR入门.pdf
- 下一篇: 生成DES的S盒