The Query Workbench provides a rich graphical user interface to perform query development.
Using the Query Workbench, you can conveniently explore data, create, edit, run, and save N1QL queries, view and save query results, and explore the document structures in a bucket - all in a single window.
- A single, integrated visual interface to perform query development and testing.
- Easy viewing and editing of complex queries by providing features such as multi-line formatting, copy-and-paste, syntax coloring, auto completion of N1QL keywords and bucket and field names, and easy cursor movement.
- View the structure of the documents in a bucket by using the N1QL INFER command. You no longer have to select the documents at random and guess the structure of the document.
- Display query results in multiple formats: JSON, table, and tree. You can also save the query results to a file on disk.
The Query Workbench is supported on Windows, Linux, and Mac OS X platforms.
- N1QL Editor
- Bucket Analysis
- Auto-completion - When entering a keyword in the N1QL editor, if you enter the tab key or Ctrl+Space, the tool offers a list of matching N1QL keywords and bucket names that are close to what you have typed so far. For names that have a space or a hyphen (-), the auto-complete option includes back quotes around the name. If you expand a bucket in the Bucket Analyzer, the tool learns and includes the field names from the schema of the expanded bucket.
- Query history - The tool maintains a history of all the queries executed. Use the arrow keys at the top of the editor to navigate through the history. If you edit a previous query and execute it, the new query is stored at the end of the history. The history is persistent across browser sessions. Use the Clear History button if you wish to start over. The query history only saves queries; due to limited browser storage it does not save query results. Thus, when you restart the browser or reload the page, you can see your old queries, but you must re-execute the queries if you want to see their results.
Note: Clearing the browser history clears the history maintained by the N1QL Editor as well.
- Support for N1QL INFER statements - In the Enterprise Edition, the tool supports the N1QL INFER statement.
- Save query - You can save a query to an external text file using the Save Query button. By default, the query is saved as a text file (.txt) in the Downloads directory.
Note: When using Safari, clicking Save loads the data into a new window. You have to save the file manually using the menu.
- Fully Queryable Buckets: Contain a primary index or a primary index and secondary indexes.
- Queryable on Indexed Fields: Do not contain a primary index, but have one or more secondary indexes.
- Non-Indexed Buckets: Do not contain any indexes. These buckets do not support queries. You must first define an index before querying these buckets.
where options is a JSON object, specifying values for one or more of sample_size, similarity_metric, num_sample_values, or dictionary_threshold.
INFER bucket-name [ WITH options ];
- JSON (default), where the results are formatted to make the data easy to read. You can also expand and collapse objects and array values using the small arrow icons next to the line numbers.
- Table, where the results are presented in a tabular format. The tool converts the JSON documents to HTML tables, and presents sub-objects or sub-arrays as sub-tables. This format works well for queries that return an array of objects, like select `beer-sample`.* from `beer-sample`;. You can hover the mouse pointer over a data value to see the path to that value in a tool tip.
- Tree (or list), where the results are presented in a tree (or list or outline) format. Each sub-object or sub-array is displayed as a sub-list. You can hover the mouse pointer over a data value to see the path to that value in a tool tip.
Canceling Running Queries
You can cancel running queries using the Cancel button on the Query Workbench. When you cancel a running query, it stops the activity on the server side as well.