sqlload使用小结!
2016-10-31 09:10
148 查看
sql
load的一点小总结
sqlldr userid=lgone/tiger
control=a.ctl
LOAD DATA
INFILE 't.dat' //
要导入的文件
// INFILE 'tt.date' //
导入多个文件
// INFILE * // 要导入的内容就在control文件里
下面的BEGINDATA后面就是导入的内容
INTO TABLE table_name //
指定装入的表
BADFILE 'c:\bad.txt' //
指定坏文件地址
*************
以下是4种装入表的方式
APPEND // 原先的表有数据
就加在后面
// INSERT // 装载空表 如果原先的表有数据 sqlloader会停止
默认值
// REPLACE // 原先的表有数据
原先的数据会全部删除
// TRUNCATE // 指定的内容和replace的相同
会用truncate语句删除现存数据
************* 指定的TERMINATED可以在表的开头
也可在表的内部字段部分
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'"'
// 装载这种数据:
10,lg,"""lg""","lg,lg"
// 在表中结果: 10 lg "lg"
lg,lg
// TERMINATED BY X '09' // 以十六进制格式 '09'
表示的
// TERMINATED BY WRITESPACE // 装载这种数据: 10 lg
lg
TRAILING NULLCOLS *************
表的字段没有对应的值时允许为空
*************
下面是表的字段
(
col_1 , col_2 ,col_filler FILLER // FILLER 关键字
此列的数值不会被装载
// 如: lg,lg,not 结果 lg
lg
)
// 当没声明FIELDS TERMINATED BY ','
时
// (
// col_1 [interger external] TERMINATED BY ','
,
// col_2 [date "dd-mon-yyy"] TERMINATED BY ','
,
// col_3 [char] TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'lg'
// )
// 当没声明FIELDS TERMINATED BY
','用位置告诉字段装载数据
// (
// col_1 position(1:2),
// col_2 position(3:10),
// col_3 position(*:16), //
这个字段的开始位置在前一字段的结束位置
// col_4 position(1:16),
// col_5 position(3:10) char(8) //
指定字段的类型
// )
BEGINDATA // 对应开始的 INFILE *
要导入的内容就在control文件里
10,Sql,what
20,lg,show
=====================================================================================
////////////
注意begindata后的数值前面不能有空格
1 ***** 普通装载
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'"'
(DEPTNO,
DNAME,
LOC
)
BEGINDATA
10,Sales,"""USA"""
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
50,"Finance","",Virginia // loc
列将为空
60,"Finance",,Virginia // loc
列将为空
2 ***** FIELDS TERMINATED BY WHITESPACE 和 FIELDS TERMINATED BY
x'09' 的情况
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY
WHITESPACE
-- FIELDS TERMINATED BY
x'09'
(DEPTNO,
DNAME,
LOC
)
BEGINDATA
10 Sales Virginia
3 ***** 指定不装载那一列
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'"'
( DEPTNO,
FILLER_1 FILLER, // 下面的 "Something Not To Be Loaded"
将不会被装载
DNAME,
LOC
)
BEGINDATA
20,Something Not To Be
Loaded,Accounting,"Virginia,USA"
4 ***** position的列子
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
( DEPTNO position(1:2),
DNAME position(*:16), //
这个字段的开始位置在前一字段的结束位置
LOC position(*:29),
ENTIRE_LINE
position(1:29)
)
BEGINDATA
10Accounting Virginia,USA
5 ***** 使用函数 日期的一种表达 TRAILING
NULLCOLS的使用
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS //
其实下面的ENTIRE_LINE在BEGINDATA后面的数据中是没有直接对应
// 的列的值的 如果第一行改为 10,Sales,Virginia,1/5/2000,,
就不用TRAILING NULLCOLS了
(DEPTNO,
DNAME "upper(:dname)", //
使用函数
LOC "upper(:loc)",
LAST_UPDATED date 'dd/mm/yyyy', // 日期的一种表达方式
还有'dd-mon-yyyy' 等
ENTIRE_LINE
":deptno||:dname||:loc||:last_updated"
)
load的一点小总结
sqlldr userid=lgone/tiger
control=a.ctl
LOAD DATA
INFILE 't.dat' //
要导入的文件
// INFILE 'tt.date' //
导入多个文件
// INFILE * // 要导入的内容就在control文件里
下面的BEGINDATA后面就是导入的内容
INTO TABLE table_name //
指定装入的表
BADFILE 'c:\bad.txt' //
指定坏文件地址
*************
以下是4种装入表的方式
APPEND // 原先的表有数据
就加在后面
// INSERT // 装载空表 如果原先的表有数据 sqlloader会停止
默认值
// REPLACE // 原先的表有数据
原先的数据会全部删除
// TRUNCATE // 指定的内容和replace的相同
会用truncate语句删除现存数据
************* 指定的TERMINATED可以在表的开头
也可在表的内部字段部分
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'"'
// 装载这种数据:
10,lg,"""lg""","lg,lg"
// 在表中结果: 10 lg "lg"
lg,lg
// TERMINATED BY X '09' // 以十六进制格式 '09'
表示的
// TERMINATED BY WRITESPACE // 装载这种数据: 10 lg
lg
TRAILING NULLCOLS *************
表的字段没有对应的值时允许为空
*************
下面是表的字段
(
col_1 , col_2 ,col_filler FILLER // FILLER 关键字
此列的数值不会被装载
// 如: lg,lg,not 结果 lg
lg
)
// 当没声明FIELDS TERMINATED BY ','
时
// (
// col_1 [interger external] TERMINATED BY ','
,
// col_2 [date "dd-mon-yyy"] TERMINATED BY ','
,
// col_3 [char] TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'lg'
// )
// 当没声明FIELDS TERMINATED BY
','用位置告诉字段装载数据
// (
// col_1 position(1:2),
// col_2 position(3:10),
// col_3 position(*:16), //
这个字段的开始位置在前一字段的结束位置
// col_4 position(1:16),
// col_5 position(3:10) char(8) //
指定字段的类型
// )
BEGINDATA // 对应开始的 INFILE *
要导入的内容就在control文件里
10,Sql,what
20,lg,show
=====================================================================================
////////////
注意begindata后的数值前面不能有空格
1 ***** 普通装载
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'"'
(DEPTNO,
DNAME,
LOC
)
BEGINDATA
10,Sales,"""USA"""
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
50,"Finance","",Virginia // loc
列将为空
60,"Finance",,Virginia // loc
列将为空
2 ***** FIELDS TERMINATED BY WHITESPACE 和 FIELDS TERMINATED BY
x'09' 的情况
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY
WHITESPACE
-- FIELDS TERMINATED BY
x'09'
(DEPTNO,
DNAME,
LOC
)
BEGINDATA
10 Sales Virginia
3 ***** 指定不装载那一列
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY
'"'
( DEPTNO,
FILLER_1 FILLER, // 下面的 "Something Not To Be Loaded"
将不会被装载
DNAME,
LOC
)
BEGINDATA
20,Something Not To Be
Loaded,Accounting,"Virginia,USA"
4 ***** position的列子
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
( DEPTNO position(1:2),
DNAME position(*:16), //
这个字段的开始位置在前一字段的结束位置
LOC position(*:29),
ENTIRE_LINE
position(1:29)
)
BEGINDATA
10Accounting Virginia,USA
5 ***** 使用函数 日期的一种表达 TRAILING
NULLCOLS的使用
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS //
其实下面的ENTIRE_LINE在BEGINDATA后面的数据中是没有直接对应
// 的列的值的 如果第一行改为 10,Sales,Virginia,1/5/2000,,
就不用TRAILING NULLCOLS了
(DEPTNO,
DNAME "upper(:dname)", //
使用函数
LOC "upper(:loc)",
LAST_UPDATED date 'dd/mm/yyyy', // 日期的一种表达方式
还有'dd-mon-yyyy' 等
ENTIRE_LINE
":deptno||:dname||:loc||:last_updated"
)
相关文章推荐
- sqlload使用小结
- DBGrideh使用小结(一)
- 创建,测试和使用Web服务的小结
- TChart使用经验小结
- vi编辑器的学习使用(小结)
- c#.NET使用小结(1)
- SQL SERVER SQL Agent服务使用技巧小结
- ASP.NET中TreeView控件使用小结
- 水日报表的使用小结
- treeview的使用小结
- XML文档搜索使用小结
- 使用弹出窗口的技巧小结
- Web Services 中 Web Method 的使用小结(一)
- TestDirector安装使用过程小结
- Ant使用小结
- jbuilder8开发环境使用小结
- SQL Server 最佳实践分析器使用小结
- 在JAVA中使用文档对象模型DOM经验小结[转载]
- ASP.NET中TreeView控件使用小结
- C# OleDbCommand 和 OleDbDataReader 使用小结