Add and import records
Use Data Explorer to add a record or inspect imported rows. For CSV import, select the database, review the detected types and validate the plan before confirming the write. Preview records stay in the browser; live imports need a connected service.
Screenshots show the current local console with sample data. They do not show live credentials or confirm a production change.
- Choose the source fileSelect the target database and a CSV or workbook.
- Review the detected fieldsCheck types, keys and sample values.
- Validate and confirmCorrect reported errors before approving the write.
- Inspect accepted recordsRead the receipt, then check rows in the target table.
1. Open a table and import records
Open Import data for the selected database and choose a CSV file or Excel workbook. The importer proposes column types and relationships before writing. The screenshots use two product records; uploading and validating them does not create a database.
- Choose the source CSV and target database.
- Review the detected fields, types and target table.
- Validate the plan and correct reported errors.
- Review the validation result; confirm the import only when the plan is correct.
A local preview uses sample data. A live import needs a connected service, and its receipt is the evidence of what was accepted.
2. Resolve validation errors
Check column names, native datatypes, required values, primary keys, and referenced records. Duplicate keys are rejected by the current local catalog. Do not assume that a live write endpoint has the same insert-versus-upsert behavior; check the write API documentation.
Decide how empty cells, dates and large integers should be represented before confirming. Keep postcodes and zero-padded IDs as text when their formatting matters. Use the validation preview to inspect actual values instead of relying only on inferred types.
3. Add a single record
Use the Record button in the table's toolbar to enter one record. The form validates it against the current table definition. There is no need to use a SQL editor for a local preview record.
The local Workbench's sample SQL is read-only. Use a connected, supported SQL endpoint or row API for production INSERT, UPDATE, and DELETE operations; the engine examples below are preserved for that workflow.
4. Check what was accepted
Choose Validate all rows. A ready result shows the number checked and the creation order. If validation fails, fix the named field, key or reference before proceeding. The confirmation checkbox authorizes writes; inspect the receipt afterward because a failed import may have loaded some rows.
5. Verify the result
Use the Data view to inspect records, filter fields, sort, or switch to JSON. Open in Workbench prepares a query for the selected table. Review the returned rows and their types; a saved browser record does not prove a production write succeeded.
For a live import, check the response from the ingest endpoint and run a bounded read or count against the target table. Use namespace.table where the API requires a fully qualified name.
Choose the API for larger imports
Console and service limits can differ. For production batches, newline-delimited JSON (NDJSON), vectors or scheduled ingestion, use the insert guide and the limits reported by the live endpoint.
Do not assume a bulk import is a transaction. If a live upload fails after accepting rows, inspect its response before retrying. Row writes keyed by primary key may replace an existing row; choose an endpoint with the write semantics your application requires. Vector data uses the vector endpoint and its declared dimension and metric.
Original CSV and SQL examples
These engine examples assume a shop.orders table with the displayed fields. Prepare that fixture first; the current quickstart creates a different product table. The local console sample parser is separate.
Show CSV, INSERT, response, and verification examples
id,customer,amount_cents,status,notes,placed_ms
ord_3000,cus_481,1200,paid,,1753660800000
ord_A001,cus_9930,2111,paid,gift wrap,1753660801500
ord_H002,cus_2214,3022,paid,,1753660803000INSERT INTO shop.orders (id, customer, amount_cents, status, notes, placed_ms)
VALUES ('ord_7Q2R', 'cus_481', 15400, 'paid', 'expedited', 1753669000000){
"kind": "insert",
"schema": "shop.orders",
"rows": [
{
"id": "ord_7Q2R",
"customer": "cus_481",
"amount_cents": 15400,
"status": "paid",
"notes": "expedited",
"placed_ms": 1753669000000
}
]
}SELECT COUNT(*) AS orders FROM shop.ordersNext, query your data and inspect the returned records.