PRIMARY KEY INVERTED VALUE (l_orderkey,l_linenumber) PRIMARY KEY INVERTED HASH (l_orderkey,l_linenumber)
HANA除了直接建表外,也可以通过已存在的表创建新表,示例如下:
1 2 3 4 5
/*依据某个已经存在的表创建另外的新表。HANA SQL提供了两类方法*/ --方法一:创建的表与源表数据类型、约束完全相同。例如: CREATETABLE T_ACCOUNTS LIKE ACCOUNTS WITHNO DATA --方法二:创建的表字段类型和NULL/NOT NULL属性相同 CREATETABLE T_ACCOUNTS1 AS (SELECT*FROM ACCOUNTS) WITH DATA
修改表
修改表名
1 2 3 4 5 6 7 8
--01.语法:RENAME TABLE <old_table_name> TO <new_table_name> --02.描述:RENAME TABLE 语句在同一个Schema下,将表名修改为 new_table_name。 --03.示例: CREATETABLE mySchema.A (A INTPRIMARYKEY, B INT); --显示模式 mySchema 下表名的列表: SELECT TABLE_NAME FROM TABLES WHERE SCHEMA_NAME ='MYSCHEMA'; --表 mySchema.A 重命名为 B: RENAME TABLE mySchema.A TO B;--注:修改后B还是在mySchema里
--SAP HANA的索引都是保存在内存中。 --创建索引: --语法: CREATE [UNIQUE] [BTREE | CPBTREE] INDEX <index_name> ON<table_name> (<column_name_order>, ...) [ASC|DESC] --创建测试表: createrowtable test_index (id INT,name nvarchar(10), remark nvarchar(10)); create index indextest1 on test_index(name); CREATE CPBTREE INDEX indextest2 ON test_index(id, name DESC);
--创建唯一键索引: createunique index indextest4 on test_index(id); createunique index indextest3 on test_index(name,remark);
--删除索引:DROP INDEX <index_name> drop index indextest2;--删除索引indextest2 --查询索引: select*from indexes where table_name ='EMP'; --查询员工表中使用的索引 select*from index_columns where table_name ='EMP'; --查询索引列 select*from m_rs_indexes where table_name ='EMP'; --查询索引的统计信息(B-tree and CPB-tree) select*from fulltext_indexes where table_name ='EMP'; --查询Fulltext 索引 select*from m_fulltext_queues; --查看fulltext 索引队列的状态
Dummy
Dummy是HANA中内置的一张虚拟表,可以用来测试函数或者是临时调用,方法很多,后面会详细解释。
1 2
-- 查询当前日期,当前时间 selectcurrent_date "date",current_time "time" from dummy;