SnowSQL is a command-line tool for interactive query experience with the Snowflake Elastic Data Warehouse cloud service.
Need of SnowSQL
What is the need of introducing a command-line SQL tool when there is already various SQL tools are available? The answer is simple
- Need of modern command-line tool designed for the cloud that is easy to use, built on high-security standards, and is tightly integrated with the actual core Snowflake elastic cloud data service.
- It has more powerful scripting capabilities.
SnowSQL tool is entirely built-in Python and leverages Snowflake’s Python Connector
Existing generic command-line SQL tools do not have sufficient scripting features and Slowflake’s approach is to consider the command line tool as part of the overall cloud service. SnowSQL is an extension of the Snowflake Elastic DW service.
SnowSQL can be downloaded from Snowflake UI after logging into the Snowflake account.
There are a few capabilities of SnowSQL that we would like to highlight.
SnowSQL offers a wide range of commands. As a general rule, all SnowSQL command starts with the character ‘!’. Please refer here for a complete list of supported commands.
Auto Complete and Syntax Highlighting
With the context-sensitive auto-complete feature, SnowSQL users are released of cumbersome and error-prone typing of long object names. Instead, they can complete SQL keywords and functions using the suggestions provided by the tool. Highlighting of the SQL statements in different colors provides better readability.
The auto-update feature enables users to always updated with both Snowflake’s and SnowSQL’s latest features to streamline the end-user experience. The upgrade is a transparent process and happens as a background process.
Secure Connection and Encryption
SnowSQL secures connections to Snowflake using TLS (Transport Layer Security) with OCSP (Online Certificate Status Protocol) checks. The auto-upgrade binaries are always validated by using the RSA signature. In addition to secured connection, SnowSQL provides end-to-end security of data movement to and from Snowflake using AES (Advanced Encryption Standard) for Snowflake’s PUT and GET commands.