You are viewing an older version of this section. View current production version.
Join the SingleStore Community Today
Get expert advice, develop skills, and connect with others.

query

Info

MemSQL Helios does not support this command.

A convenience wrapper for executing arbitrary SQL queries on a node on this host.

Usage

A convenience wrapper for executing arbitrary SQL queries on a node on this host

Usage:
  memsqlctl query [flags]

Flags:
  -h, --help                   Help for query
      --host string            The cluster-addressable hostname for the node
      --memsql-id string       The MemSQL ID of the node to query
  -p, --password STRING        The user's password for connecting to MemSQL
      --port PORT              The cluster-addressable port for the node
      --row-timeout duration   Maximum time to wait for each row in the result (e.g., 30s, 10m, 1.5h); defaults to 1 minute (default 1m0s)
  -e, --sql string             The SQL query to run
      --user string            The MemSQL database user

Global Flags:
  -c, --config FILE_PATH                     Path to the memsqctl config file
      --default-install-dir DIRECTORY_PATH   Path to the default install directory
  -j, --json                                 Print output in JSON format
      --node-metadata-file FILE_PATH         Path to the node metadata file
      --parallelism POSITIVE_INTEGER         Maximum amount of operations to be run in parallel
      --ssl-ca FILE_PATH                     Path to the CA certificate file in PEM format to authenticate the MemSQL server certificate
      --timeout duration                     Maximum time for operation to complete (e.g., 30s, 10m, 1.5h)
  -v, --verbosity count                      Increase logging verbosity
  -y, --yes                                  Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default

Remarks

This command is interactive unless you use either the --yes or --json flags to override interactive behavior.

The memsqlctl query command is equivalent to the memsql-admin query command.

Output

The following shows how to use the query command to run SHOW DATABASES against the master aggregator on the local host machine.

$ sudo memsqlctl query --sql "SHOW DATABASES"
+-------+------------+--------+------+---------------+---------+
| Index | MemSQL ID  |  Role  | Port | Process State | Version |
+-------+------------+--------+------+---------------+---------+
| 1     | 29EB592436 | Master | 3306 | Running       | 6.5.14  |
| 2     | 035F453938 | Leaf   | 3307 | Running       | 6.5.14  |
+-------+------------+--------+------+---------------+---------+
Select an option: 1
+--------------------+
|      Database      |
+--------------------+
| cluster            |
| information_schema |
| memsql             |
+--------------------+

Another example executes the same query on the master aggregator from its local host machine without specifying the memsql-id of the master aggregator node and printing the output in JSON format.

$ sudo memsqlctl list-nodes -q -r master | xargs -I % sudo memsqlctl query --sql "SHOW DATABASES" --memsql-id % --json
{
  "columns": [
    "Database"
  ],
  "rows": [
    {
      "Database": "cluster"
    },
    {
      "Database": "information_schema"
    },
    {
      "Database": "memsql"
    }
  ]
}