SQL
An SQL literal.
struct SQL
SQL
literals allow you to safely embed raw values in your SQL, without any risk of syntax errors or SQL injection. For example:
try dbQueue.write { db in
let name: String = "O'Brien"
let id: Int64 = 42
let query: SQL = "UPDATE player SET name = \(name) WHERE id = \(id)"
// UPDATE player SET name = 'O''Brien' WHERE id = 42
try db.execute(literal: query)
}
Creating an SQL Literal from a Literal Value
init(stringLiteral: String
) Creates an
SQL
literal from the given literal SQL string.init(unicodeScalarLiteral: String
) init(extendedGraphemeClusterLiteral: String
)
Creating an SQL Literal from an Interpolation
Creating an SQL Literal from an SQL String
init(sql: String, arguments: StatementArguments
) Creates an
SQL
literal from a plain SQL string, and eventual arguments.
Creating an SQL Literal from an SQL Expression
init(some SQLSpecificExpressible
) Creates an
SQL
literal from an SQL expression.
Concatenating SQL Literals
func append(literal: SQL
) Appends an
SQL
literal to the receiver.func append(sql: String, arguments: StatementArguments
) Appends a plain SQL string to the receiver, and eventual arguments.