## Raw D1 Database query `d1.database.raw(strdatabase_id, DatabaseRawParams**kwargs) -> SyncSinglePage[DatabaseRawResponse]` **post** `/accounts/{account_id}/d1/database/{database_id}/raw` Returns the query result rows as arrays rather than objects. This is a performance-optimized version of the /query endpoint. ### Parameters - `account_id: str` Account identifier tag. - `database_id: str` D1 database identifier (UUID). - `sql: str` Your SQL query. Supports multiple statements, joined by semicolons, which will be executed as a batch. - `params: Optional[SequenceNotStr[str]]` ### Returns - `class DatabaseRawResponse: …` - `meta: Optional[Meta]` - `changed_db: Optional[bool]` Denotes if the database has been altered in some way, like deleting rows. - `changes: Optional[float]` Rough indication of how many rows were modified by the query, as provided by SQLite's `sqlite3_total_changes()`. - `duration: Optional[float]` The duration of the SQL query execution inside the database. Does not include any network communication. - `last_row_id: Optional[float]` The row ID of the last inserted row in a table with an `INTEGER PRIMARY KEY` as provided by SQLite. Tables created with `WITHOUT ROWID` do not populate this. - `rows_read: Optional[float]` Number of rows read during the SQL query execution, including indices (not all rows are necessarily returned). - `rows_written: Optional[float]` Number of rows written during the SQL query execution, including indices. - `served_by_colo: Optional[str]` The three letters airport code of the colo that handled the query. - `served_by_primary: Optional[bool]` Denotes if the query has been handled by the database primary instance. - `served_by_region: Optional[Literal["WNAM", "ENAM", "WEUR", 3 more]]` Region location hint of the database instance that handled the query. - `"WNAM"` - `"ENAM"` - `"WEUR"` - `"EEUR"` - `"APAC"` - `"OC"` - `size_after: Optional[float]` Size of the database after the query committed, in bytes. - `timings: Optional[MetaTimings]` Various durations for the query. - `sql_duration_ms: Optional[float]` The duration of the SQL query execution inside the database. Does not include any network communication. - `results: Optional[Results]` - `columns: Optional[List[str]]` - `rows: Optional[List[List[Union[float, str, object]]]]` - `float` - `str` - `object` - `success: Optional[bool]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.d1.database.raw( database_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", account_id="023e105f4ecef8ad9ca31a8372d0c353", sql="SELECT * FROM myTable WHERE field = ? OR field = ?;", ) page = page.result[0] print(page.meta) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": [ { "meta": { "changed_db": true, "changes": 0, "duration": 0, "last_row_id": 0, "rows_read": 0, "rows_written": 0, "served_by_colo": "LHR", "served_by_primary": true, "served_by_region": "EEUR", "size_after": 0, "timings": { "sql_duration_ms": 0 } }, "results": { "columns": [ "string" ], "rows": [ [ 0 ] ] }, "success": true } ], "success": true } ```