--- title: UPDATE | Datasquirel docs description: Modify existing rows using UPDATE statements in Datasquirel page_title: UPDATE page_description: Modify existing rows in your tables using SQL UPDATE statements. --- ## Overview `UPDATE` modifies existing rows in a table. Always include a `WHERE` clause to target specific rows — an UPDATE without a WHERE clause updates every row in the table. ## Basic Syntax ```sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ``` ## Examples ### Update a Single Row by ID ```sql UPDATE users SET name = 'Alice Smith', email = 'alice.smith@example.com' WHERE id = 42; ``` ### Update Multiple Rows ```sql UPDATE posts SET is_published = 1 WHERE category = 'announcements'; ``` ### Update with a Calculated Value ```sql UPDATE products SET price = price * 1.10 WHERE category = 'electronics'; ``` ### Update with LIMIT MariaDB supports `LIMIT` on UPDATE to cap how many rows can be modified in one statement: ```sql UPDATE notifications SET is_read = 1 WHERE user_id = 5 ORDER BY created_at ASC LIMIT 50; ``` ## Safety Note An `UPDATE` without a `WHERE` clause will update **every row** in the table. Always double-check your `WHERE` clause before running an update, especially in production. ```sql -- This updates ALL rows in the table: UPDATE users SET is_active = 0; -- This updates only the intended row: UPDATE users SET is_active = 0 WHERE id = 42; ``` ## Using UPDATE via the API The [CRUD PUT endpoint](/docs/api-reference/crud/put) handles updates with a target ID: ```javascript const result = await datasquirel.crud.update({ dbName: "my_database", tableName: "users", targetID: 42, body: { name: "Alice Smith", email: "alice.smith@example.com", }, apiKey: process.env.DATASQUIREL_API_KEY, }); ``` Only the fields you include in `body` are changed — other columns retain their current values.