您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

LOAD TABLE ENCRYPTED 子句

LOAD TABLE 语句支持 column-spec 关键字 ENCRYPTED。

必须按以下顺序遵循 LOAD TABLE 语句中的列名:

  • <null-specs>

  • 语法

    | ENCRYPTED(’ [, ‘’ ] )

    参数

  • data-type 输入文件字段应转换到的目标数据类型,作为 AES_ENCRYPT 函数的输入。 应该与 AES_DECRYPT 函数的输出数据类型相同。

  • key-string 用于对数据进行加密的加密密钥。此密钥必须为字符串。要获取原始值,请使用同一密钥对值进行解密。此参数区分大小写,即使是在不区分大小写的数据库中也是如此。 与大多数口令一样,应为其选择不容易被猜到的密钥值。请选择满足以下条件的值:长度至少为 16 个字符,混合使用大小写字母并包含数字和特殊字符。每次要对数据进行解密时,都需要使用此密钥。警告请保护密钥;将密钥副本存储在一个安全位置。丢失密钥将导致加密数据完全无法访问,而完全无法访问的加密数据是无法进行恢复的。

  • algorithm-string 用于对数据进行加密的算法。此参数是可选的,但必须使用相同的算法对数据进行加密和解密。目前,缺省算法为 AES,因为它是唯一受支持的算法。AES 是一种数据块加密算法,美国国家标准与技术协会(National Institute of Standards and Technology,简称 NIST)选择它作为新的数据块编码器高级加密标准(Advanced Encryption Standard,简称 AES)。

    用法

    ENCRYPTED 列指定允许指定加密密钥和/或用于对载入列中的数据进行加密的算法。这种装载操作的目标列应为 VARBINARY 类型。指定其它数据类型将返回错误。

    示例

    LOAD TABLE 
    

    (

    ,

    NULL('nil')

    ENCRYPTED(varchar(6),'tHefiRstkEy') ,

    ENCRYPTED(bigint,'thEseconDkeY','AES')

    )

    FROM '/path/to/the/input/file'

    FORMAT ascii

    DELIMITED BY ';'

    ROW DELIMITED BY '\0xa'

    QUOTES OFF

    ESCAPES OFF

    其中 LOAD TABLE 语句的输入文件的格式为:

    a;b;c;
    

    d;e;f;

    g;h;i;