本文介绍Hubble语句中的模式对象名。
模式对象名用于命名Hubble中所有的模式对象,包括database
、table
、index
、column
等。在SQL语句中,可以通过标识符来引用这些对象。
标识符可以被引号包裹,即select * from t
也可以写成 select * from "t"
。
select * from "cust_info" WHERE "cust_info".cust_name = 'liudehua';
在创建表的时候,表名也可以被引号包裹起来
create table "user_info"(
cust_no string primary key,
cust_name varchar(30) not null,
cust_card_no varchar(18),
cust_phoneno decimal(15),
cust_address varchar(30),
cust_type varchar(10),
index(cust_card_no)
);
表中的字段也可以用引号包裹
create table user_cust(
cust_no string primary key,
cust_name varchar(30) not null,
cust_card_no varchar(18),
"cust_phoneno" decimal(15),
cust_address varchar(30),
cust_type varchar(10),
index(cust_card_no)
);
在查询语句中,别名部分可以用标识符或者字符串:
select 1 as "one col",
2 as "two col";
one col | two col
----------+----------
1 | 2
对象名字有时可以被限定或者省略。例如在创建表的时候可以省略数据库限定名:
create table a (b int);
如果之前没有使用 USE指定到特定的数据库,会报No database selected错误,此时可以指定数据库限定名:
create table test.a (b int);
.
的左右两端可以出现空格,table_name.colname
等同于 table_name . colname
。
如要应用这个模式对象,请使用:
table_name.colname
或
"table_name"."colname"
或
table_name."colname"
或
"table_name".colname