Struct sql_query_builder::Delete
source · pub struct Delete { /* private fields */ }Expand description
Builder to contruct a Delete command
Implementations§
source§impl Delete
impl Delete
sourcepub fn and(self, condition: &str) -> Self
pub fn and(self, condition: &str) -> Self
The same as where_clause method, useful to write more idiomatic SQL query
Example
use sql_query_builder as sql;
let delete = sql::Delete::new()
.delete_from("users")
.where_clause("created_at < $1")
.and("active = false");sourcepub fn debug(self) -> Self
pub fn debug(self) -> Self
Prints the current state of the Delete into console output in a more ease to read version. This method is useful to debug complex queries or just to print the generated SQL while you type
Example
use sql_query_builder as sql;
let delete_query = sql::Delete::new()
.delete_from("users")
.where_clause("login = 'foo'")
.debug()
.where_clause("name = 'Foo'")
.as_string();Output
DELETE FROM users
WHERE login = 'foo'
sourcepub fn delete_from(self, table_name: &str) -> Self
pub fn delete_from(self, table_name: &str) -> Self
The delete clause. This method overrides the previous value
Example
use sql_query_builder as sql;
let delete = sql::Delete::new()
.delete_from("orders");
let delete = sql::Delete::new()
.delete_from("address")
.delete_from("orders");sourcepub fn print(self) -> Self
pub fn print(self) -> Self
Prints the current state of the Delete into console output similar to debug method, the difference is that this method prints in one line.
sourcepub fn raw(self, raw_sql: &str) -> Self
pub fn raw(self, raw_sql: &str) -> Self
Adds at the beginning a raw SQL query.
Example
use sql_query_builder as sql;
let raw_query = "delete from users";
let delete_query = sql::Delete::new()
.raw(raw_query)
.where_clause("login = 'foo'")
.as_string();Output
delete from users
WHERE login = 'foo'
sourcepub fn raw_after(self, clause: DeleteClause, raw_sql: &str) -> Self
pub fn raw_after(self, clause: DeleteClause, raw_sql: &str) -> Self
Adds a raw SQL query after a specified clause.
Example
use sql_query_builder as sql;
let raw = "where name = 'Foo'";
let delete_query = sql::Delete::new()
.delete_from("users")
.raw_after(sql::DeleteClause::DeleteFrom, raw)
.as_string();Output
DELETE FROM users
where name = 'Foo'
sourcepub fn raw_before(self, clause: DeleteClause, raw_sql: &str) -> Self
pub fn raw_before(self, clause: DeleteClause, raw_sql: &str) -> Self
Adds a raw SQL query before a specified clause.
Example
use sql_query_builder as sql;
let raw = "delete from users";
let delete_query = sql::Delete::new()
.raw_before(sql::DeleteClause::Where, raw)
.where_clause("name = 'Bar'")
.as_string();Output
delete from users
WHERE name = 'Bar'
sourcepub fn where_clause(self, condition: &str) -> Self
pub fn where_clause(self, condition: &str) -> Self
The where clause
Example
use sql_query_builder as sql;
let delete = sql::Delete::new()
.delete_from("users")
.where_clause("login = 'foo'");source§impl Delete
impl Delete
sourcepub fn returning(self, output_name: &str) -> Self
pub fn returning(self, output_name: &str) -> Self
The returning clause, this method can be used enabling the feature flag postgresql
sourcepub fn with(self, name: &str, query: impl WithQuery + 'static) -> Self
pub fn with(self, name: &str, query: impl WithQuery + 'static) -> Self
The with clause, this method can be used enabling the feature flag postgresql
Example
use sql_query_builder as sql;
let deactivated_users = sql::Select::new().select("id").from("users").where_clause("ative = false");
let delete = sql::Delete::new()
.with("deactivated_users", deactivated_users)
.delete_from("users")
.where_clause("id in (select * from deactivated_users)")
.debug();
Output
WITH deactivated_users AS (
SELECT id
FROM users
WHERE ative = false
)
DELETE FROM users
WHERE id in (select * from deactivated_users)