SQLLine
You can run sqlline.py on the server to perform SQL operations on HBase. The SQLLine APIs of Phoenix are the same as those of the open-source community. For details, see http://phoenix.apache.org/.
Table 1 lists common SQLline syntax, Table 2 lists common functions, and Phoenix Command Line describes how to use commands.
| Command | Description | Example |
|---|---|---|
| CREATE TABLE | Creates a table. | CREATE TABLE MY_TABLE(id BIGINT not null primary key, name VARCHAR); |
| ALTER | Alters a table or a view. | ALTER TABLE MY_TABLE DROP COLUMN name; |
| DROP TABLE | Deletes a table. | DROP TABLE MY_TABLE; |
| UPSERT VALUES | Inserts or changes data. | UPSERT INTO MY_TABLE VALUES(1,'abc'); |
| SELECT | Queries data. | SELECT * FROM MY_TABLE; |
| CREATE INDEX | Creates a global index. | CREATE INDEX MY_IDX ON MY_TABLE(name); |
| CREATE LOCAL INDEX | Creates a local index. | CREATE LOCAL INDEX MY_LOCAL_IDX ON MY_TABLE(id,name); |
| ALTER INDEX | Changes the index status. | ALTER INDEX MY_IDX ON MY_TABLE DISABLE; |
| DROP INDEX | Deletes an index. | DROP INDEX MY_IDX ON MY_TABLE; |
| EXPLAIN | Displays an execution plan. | EXPLAIN SELECT name FROM MY_TABLE; |
| CREATE SEQUENCE | Creates a sequence. | CREATE SEQUENCE MY_SEQUENCE; |
| DROP SEQUENCE | Deletes a sequence. | DROP SEQUENCE MY_SEQUENCE; |
| CREATE VIEW | Creates a view. | CREATE VIEW MY_VIEW AS SELECT * FROM MY_TABLE; |
| DROP VIEW | Deletes a view. | DROP VIEW MY_VIEW; |
| CREATE SCHEMA | Creates a schema. | CREATE SCHEMA MY_SCHEMA; |
| USE | Modifies the default schema. | USE MY_SCHEMA; |
| DROP SCHEMA | Deletes a schema. | DROP SCHEMA MY_SCHEMA; |
| Function Type | Function | Description | Example |
|---|---|---|---|
| String functions | SUBSTR | Extracts a part of a string. | SUBSTR('[Hello]', 2, 5) |
| INSTR | Queries the position of the first occurrence of a string in another string. | INSTR('Hello World', 'World') | |
| TRIM | Removes whitespaces from both ends of a string. | TRIM(' Hello ') | |
| LTRIM | Removes whitespaces found on the left-hand side of the string. | LTRIM(' Hello') | |
| RTRIM | Removes whitespaces found on the right-hand side of the string. | RTRIM('Hello ') | |
| LPAD | Left-pads a string with another string. | LPAD('John',30,'*') | |
| LENGTH | Gets the length of a given string. | LENGTH('Hello') | |
| UPPER | Converts all the characters in a string to uppercase characters. | UPPER('Hello') | |
| LOWER | Converts all the characters in a string to lowercase characters. | LOWER('HELLO') | |
| REVERSE | Reverses a string. | REVERSE('Hello') | |
| REGEXP_SPLIT | Splits a string using a regular expression. | REGEXP_SPLIT('ONE,TWO,THREE', ',') | |
| REGEXP_REPLACE | Returns a string by applying a regular expression and replacing the matches with the replacement string. | REGEXP_REPLACE('abc123ABC', '[0-9]+', '#') | |
| REGEXP_SUBSTR | Returns a substring from a string based on a regular expression pattern. | REGEXP_SUBSTR('na1-appsrv35-sj35', '[^-]+') | |
| Aggregate functions | AVG | Gets the average value. | AVG(X) |
| COUNT | Gets the number of data records. | COUNT(*) | |
| MAX | Gets the maximum value. | MAX(NAME) | |
| MIN | Gets the minimum value. | MIN(NAME) | |
| SUM | Gets the sum of all values. | SUM(X) | |
| STDDEV_POP | Gets the population standard deviation of all values. | STDDEV_POP( X ) | |
| STDDEV_SAMP | Gets the sample standard deviation of all values. | STDDEV_SAMP( X ) | |
| NTH_VALUE | Gets the Nth value in each distinct group ordered according to the ORDER BY specification. | NTH_VALUE( name, 2 ) WITHIN GROUP (ORDER BY salary DESC) | |
| Time and date functions | NOW | Returns the current date. | NOW() |
| CURRENT_TIME | Returns the current time. | CURRENT_TIME() | |
| CURRENT_DATE | Returns the current date. | CURRENT_DATE() | |
| TO_DATE | Parses a string and returns a date. | TO_DATE('1970-01-01', 'yyyy-MM-dd', 'GMT+1') | |
| TO_TIME | Converts the given string into a TIME instance. | TO_TIME('1970-01-01', 'yyyy-MM-dd', 'GMT+1') | |
| TO_TIMESTAMP | Converts the given string into a TIMESTAMP instance. | TO_TIMESTAMP('1970-01-01', 'yyyy-MM-dd', 'GMT+1') | |
| YEAR | Returns the year of the specified date. | YEAR(TO_DATE('2015-6-05')) | |
| MONTH | Returns the month of the specified date. | MONTH(TO_TIMESTAMP('2015-6-05')) | |
| WEEK | Returns the week of the specified date. | WEEK(TO_TIME('2010-6-15')) | |
| HOUR | Returns the hour of the specified date. | HOUR(TO_TIMESTAMP('2015-6-05')) | |
| MINUTE | Returns the minute of the specified date. | MINUTE(TO_TIME('2015-6-05')) | |
| SECOND | Returns the second of the specified date. | SECOND(TO_DATE('2015-6-05')) | |
| Numeric functions | ROUND | Rounds the numeric or timestamp expression to the nearest scale or time unit specified. | ROUND(2.56) |
| CEIL | Rounds any fractional value up to the next even multiple. | CEIL(2.34) | |
| FLOOR | Rounds any fractional value down to the previous even multiple. | FLOOR(2.34) | |
| TRUNC | Rounds any fractional value down to the previous even multiple (same as FLOOR). | TRUNC(2.34) | |
| TO_NUMBER | Formats a string as a number. | TO_NUMBER('-123.33') | |
| RAND | Returns a random number. | RAND() | |
| Math functions | ABS | Returns the absolute value of the given numeric expression. | ABS(-1) |
| SQRT |
| SQRT(1.1) | |
| EXP |
| EXP(-1) | |
| POWER |
| POWER(2, 3) | |
| LN |
| LN(3) | |
| LOG |
| LOG(2, 3) | |
| Array functions | ARRAY_ELEM | Uses the array subscript notation to access an array element. | ARRAY_ELEM(ARRAY[1,2,3], 1) |
| ARRAY_PREPEND | Appends the given element to the beginning of the array. | ARRAY_APPEND(ARRAY[1,2,3], 4) | |
| ARRAY_CAT | Concatenates the input arrays and returns the result. | ARRAY_CAT(ARRAY[1,2], ARRAY[3,4]) | |
| ARRAY_FILL | Fills an array with values. | ARRAY_FILL(1, 3) | |
| ARRAY_TO_STRING | Converts the elements of an array to a string and joins them using the specified delimiter. | ARRAY_TO_STRING(ARRAY['a','b','c'], ',') | |
| ANY | Used on the right-hand side of a comparison expression to test that any array element satisfies the comparison expression against the left-hand side. | 10 > ANY(my_array) | |
| ALL | Used on the right-hand side of a comparison expression to test that all array elements satisfy the comparison expression against the left-hand side. | 10 > ALL(my_array) | |
| Other functions | MD5 | Computes the MD5 hash of the argument. | MD5(my_column) |
| ENCODE | Encodes the expression according to the encoding format provided. | ENCODE(myNumber, 'BASE62') | |
| DECODE | Decodes the expression according to the encoding format provided. | DECODE('000000008512af277ffffff8', 'HEX') |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.




