首页 > 数据库 > > LOAD--载入数据
在数据库迁移或者数据备份时,需要进行数据导入导出,GaussDB 100支持使用“LOAD”命令导入数据。
LOAD DATA INFILE "file_name" INTO TABLE table_name
[ REPLACE | IGNORE ]
[{ FIELDS | COLUMNS } ENCLOSED BY 'ascii_char' [ OPTIONALLY ]]
[{ FIELDS | COLUMNS } TERMINATED BY 'string']
[{ LINES | ROWS } TERMINATED BY 'string']
[ TRAILING COLUMNS( COLUMN1[ , COLUMN2, ... ] ) ]
[ IGNORE uint64_num { LINES | ROWS }]
[ CHARSET string ]
[ THREADS uint32_threads ]
[ ERRORS uint32_num ]
[ NOLOGGING ]
[ NULL2SPACE ]
[ DEBUG ]
[ SET col_name = expr,... ];
file_name
被导入的文件路径和文件名。
table_name
导入的表名。
REPLACE
指定REPLACE时,新行将代替有相同唯一键值的现有行。
IGNORE
指定IGNORE时,导入数据时跳过与现有行唯一键值重复的输入行。
FIELDS
指定每一列的格式。
COLUMNS
FIELDS的同义词。
ENCLOSED BY
指定列的包含符号。
ascii_char
每一列的包含符号,默认不设定包含符。
取值范围:单个ASCII字符,或者空字符串('',表示不设定包含符)。
10进制ASCII字符取值范围为0~127。
16进制ASCII字符取值范围为\x00~\x7F。
常见转义字符请参见表1。
OPTIONALLY
仅对字符串和二进制类型增加符号,默认为单引号。
TERMINATED BY
指定列的分隔字符串。
string
列分隔字符串,默认为“,”。
取值范围:单个或多个ASCII字符,该字符串长度不能超过10。
10进制ASCII字符取值范围为0~127。
16进制ASCII字符取值范围为\x00~\x7F。
常见转义字符请参见表1。
LINES
一条记录有多行,则可以使用LINES来指定行的结束符。
ROWS
LINES的同义词。
string
行尾结束符,默认为\n。
取值范围:单个ASCII字符。
10进制ASCII字符取值范围为0~127。
16进制ASCII字符取值范围为\x00~\x7F。
常见转义字符请参见表1。
TRAILING COLUMNS( column_name[ , ... ] )
指定列名导入数据,其中column_name为列名,至少指定一个列名。
SET col_name = expr, ...
SET子句用于提供不是来源于输入文件的值,必须位于LOAD命令的末尾处。
其中col_name表示列名,expr为表达式,表达式中可对列名字段进行运算,并且只能含有位于赋值操作符左侧的列名称。set子句中需要至少指定一列及对应表达式。
SET子句设置的列不能重复,不能是“TRAILING COLUMNS”子句中指定的列。
IGNORE uint64_num
指定忽略的行数,uint64_num表示忽略前uint64_num行,默认值为0。
CHARSET
指定**数据的字符集。
string
当前仅支持UTF8无BOM字符集(CHARSET = UTF8)和GBK字符集(CHARSET = GBK),默认UTF8无BOM字符集。
THREADS
指定并行导入的线程数。
uint32_threads
表示并行导入的线程数,默认值1,多线程并发是为了提高效率,允许错误条数统计有误差,同时会记录详细错误行号信息,不影响后续的导入。
取值范围:[1, 128]。
ERRORS
指定允许出错的sql语句数。
uint32_num
表示允许出错的sql语句数,默认为0。
NOLOGGING
表示**数据不记录redo日志和undo日志。必须将目标表设置为append only,才能使用此选项。
NULL2SPACE
若导入的列数据为空,其类型为CHAR、LOB等字符型并且要求NOT NULL时,将**一个空格字符代替NULL。
DEBUG
此选项会将工具运行过程中的调试信息打印到屏幕上。
转义字符 | 意义 | ASCII码值(十进制) | 16进制值 |
|---|---|---|---|
\a | 响铃(BEL) | 007 | \x07 |
\f | 换页(FF),将当前位置移到下页开头 | 012 | \x0C |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 | \x0A |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 | \x0D |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 | \x09 |
\v | 垂直制表(VT) | 011 | \x0B |
\\ | 代表一个反斜线字符''\' | 092 | \x5C |
'' (两个单引号) | 代表一个单引号(撇号)字符 | 039 | \x27 |
\" | 代表一个双引号字符 | 034 | \x22 |
\? | 代表一个问号 | 063 | \x3F |
\0 | 空字符(NULL) | 000 | \x00 |
\ooo | 1到3位八进制数所代表的任意字符 | 三位八进制 | - |
\xhh | 1到2位十六进制所代表的任意字符 | 二位十六进制 | - |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3151573/ ,如需转载,请注明出处,否则将追究法律责任。