#escaping #sql-query #sql #collection #building #hopefully #helper

format-sql-query

一组用于构建期望正确转义的SQL查询的类型和辅助工具

5个版本 (3个破坏性更新)

0.4.0 2020年6月23日
0.3.1 2020年1月17日
0.3.0 2019年12月18日
0.2.0 2019年10月29日
0.1.0 2019年8月28日

#2827 in 数据库接口

Download history 30/week @ 2024-03-15 6/week @ 2024-03-22 22/week @ 2024-03-29 28/week @ 2024-04-05 16/week @ 2024-04-12 62/week @ 2024-04-19 39/week @ 2024-04-26 40/week @ 2024-05-03 38/week @ 2024-05-10 10/week @ 2024-05-17 24/week @ 2024-05-24 24/week @ 2024-05-31 31/week @ 2024-06-07 10/week @ 2024-06-14 12/week @ 2024-06-21 4/week @ 2024-06-28

每月63次下载

MIT 许可证

20KB
417

Latest Version Documentation License

一组用于构建期望正确转义的SQL查询的类型和辅助工具。

示例用法

use format_sql_query::*;

println!("SELECT {} FROM {} WHERE {} = {}", Column("foo bar".into()), SchemaTable("foo".into(), "baz".into()), Column("blah".into()), QuotedData("hello 'world' foo"));
// SELECT "foo bar" FROM foo.baz WHERE blah = 'hello ''world'' foo'

lib.rs:

一组用于构建期望正确转义的SQL查询的类型和辅助工具。

示例用法

use format_sql_query::*;

println!("SELECT {} FROM {} WHERE {} = {}", Column("foo bar".into()), SchemaTable("foo".into(), "baz".into()), Column("blah".into()), QuotedData("hello 'world' foo"));
// SELECT "foo bar" FROM foo.baz WHERE blah = 'hello ''world'' foo'

设计目标

  • 所有对象都将实现 Display,以便获取转义并可能加引号的格式,可以直接用于SQL语句。
  • 通过将大多数类型包装在字符串切片周围来避免分配。
  • 用于从字符串和其他对象构建对象的新类型模式。
  • 慷慨的 From 特征实现,以便轻松从字符串构建对象。
  • 所有单字段新类型对象都将实现 .as_str() 以获取原始值。
  • 字符串切片包装器类型实现 Copy 以便于使用。
  • 类型应该实现 EqOrd
  • 具有多个字段的新类型对象应该有getter。
  • 返回类型时,确保它们不引用self,而是引用原始字符串切片的生命周期。

所有对象都使用基本转义规则包装器

  • ObjectConcat 用于表名、模式、列等。
  • QuotedDataConcat 用于数据值

依赖关系

~460KB