SQL语法介绍
load data infile 'file_list' into table db_name.tbl_name [options];
在加载时通过options
中的data_format
语法参数指定为宽松模式加载,具体语法如下:
load data infile 'file_list' into table db_name.tbl_name data_format 5 [options];
宽松模式加载的特点
加载默认按照data_format 3
方式加载,指定data_format 5
时按照宽松模式规则加载,data_format 3
相当于严格模式,不合法的数据一律跳过,宽松模式下遵循能入库则入库的“宽松”原则,即使数据本身不合法,也会按照一定的规则去处理。
宽松模式加载的文本解析规则
与data_format 3
不一致的解析规则:
- 数据中有空值时,入库为null,不是default值,设定default值对加载结果没有影响;
- 数值类型越界数据入库为null,字符类型超宽数据自动截断入库;
- 指定auto_fill参数,在少列的时候自动补齐,无论列定义是否有default值,都用null值补齐。
与data_format 3
一致的解析规则:
- 行分隔符、列分隔符、包围符不允许重复,否则报错;
- 不支持转义符;
- 支持有包围符和无包围符混合的情况;
- 数据中有空格时,默认去掉前后空格,包围符内部有空格时,保留为数据;
- 支持最长行数据不超过4M,超过4M报错。