SQL · Schema

SQL Query

JSON Schema representing a SQL query request as used by SQL-over-HTTP APIs and database connectivity tools

ANSI StandardData ManagementDatabaseISO StandardQuery LanguageRelational DatabaseSQL

Properties

Name Type Description
sql string The SQL statement to execute
parameters array Ordered list of parameter values for parameterized queries (? placeholders or $1, $2, etc.)
namedParameters object Named parameter key/value pairs for named placeholder queries (:name or @name style)
maxRows integer Maximum number of rows to return from a SELECT query
timeout integer Query execution timeout in milliseconds
database string Target database or schema name when the connection supports multiple
View JSON Schema on GitHub

JSON Schema

sql-query-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12",
  "$id": "https://www.iso.org/schemas/sql-query",
  "title": "SQL Query",
  "description": "JSON Schema representing a SQL query request as used by SQL-over-HTTP APIs and database connectivity tools",
  "type": "object",
  "properties": {
    "sql": {
      "type": "string",
      "description": "The SQL statement to execute",
      "example": "SELECT id, name, email FROM users WHERE active = true ORDER BY name LIMIT 100"
    },
    "parameters": {
      "type": "array",
      "description": "Ordered list of parameter values for parameterized queries (? placeholders or $1, $2, etc.)",
      "items": {
        "oneOf": [
          { "type": "string" },
          { "type": "number" },
          { "type": "boolean" },
          { "type": "null" }
        ]
      },
      "example": [true, 100]
    },
    "namedParameters": {
      "type": "object",
      "description": "Named parameter key/value pairs for named placeholder queries (:name or @name style)",
      "additionalProperties": {
        "oneOf": [
          { "type": "string" },
          { "type": "number" },
          { "type": "boolean" },
          { "type": "null" }
        ]
      },
      "example": { "active": true, "limit": 100 }
    },
    "maxRows": {
      "type": "integer",
      "description": "Maximum number of rows to return from a SELECT query",
      "minimum": 1,
      "example": 1000
    },
    "timeout": {
      "type": "integer",
      "description": "Query execution timeout in milliseconds",
      "minimum": 0,
      "example": 30000
    },
    "database": {
      "type": "string",
      "description": "Target database or schema name when the connection supports multiple",
      "example": "production"
    }
  },
  "required": ["sql"]
}