美文网首页
Phoenix SQL使用注意事项

Phoenix SQL使用注意事项

作者: EAST4021 | 来源:发表于2019-06-25 15:23 被阅读0次

    1 背景

    Phoenix SQL的一些语法与mysql等数据库的语法有所不同,以下是我在使用过程中遇到的一些问题。

    2 问题

    1. 库名、表名、字段名都需要加双引号,否则会被自动转换为大写,造成不可预知的错误。
    2. 插入使用upsert命令,而不是insert
    UPSERT INTO TEST VALUES('foo','bar',3);
    UPSERT INTO TEST(NAME,ID) VALUES('foo',123);
    UPSERT INTO TEST(ID, COUNTER) VALUES(123, 0) ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1;
    UPSERT INTO TEST(ID, MY_COL) VALUES(123, 0) ON DUPLICATE KEY IGNORE;
    
    1. 没有update命令,可以采用覆盖更新。
      主键相同的数据,新插入的数据会自动覆盖原来的数据
    UPSERT INTO test.targetTable(col1, col2) SELECT col3, col4 FROM test.sourceTable WHERE col5 < 100
    UPSERT INTO foo SELECT * FROM bar;
    
    1. 字符串转数字函数TO_NUMBER
    2. 字符串拆分函数regexp_split("col",'\.')

    参考资料

    1. 官方文档-快速入门:https://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html
    2. 官方文档-语法:https://phoenix.apache.org/language/index.html
    3. 官方文档-函数:https://phoenix.apache.org/language/functions.html
    4. 官方文档-数据类型:https://phoenix.apache.org/language/datatypes.html

    相关文章

      网友评论

          本文标题:Phoenix SQL使用注意事项

          本文链接:https://www.haomeiwen.com/subject/vwotcctx.html