# src/allographer/query_builder/models/mysql/mysql_query

Theme:

- Index

Search:
Group by:

# Imports

../../libs/mysql/mysql_impl, ../../enums, mysql_types

# Procs

    proc `distinct`(self: MysqlQuery): MysqlQuery {....raises: [], tags: [],
        forbids: [].}

    proc groupBy(self: MysqlQuery; column: string): MysqlQuery {....raises: [KeyError],
        tags: [], forbids: [].}

    proc having(self: MysqlQuery; column: string; symbol: string;
                value: string | int | float | bool): MysqlQuery

    proc having(self: MysqlQuery; column: string; symbol: string; value: nil.type): MysqlQuery {.
        ...raises: [CatchableError, KeyError], tags: [], forbids: [].}

    proc join(self: MysqlQuery; table: string; column1: string; symbol: string;
              column2: string): MysqlQuery {....raises: [KeyError], tags: [],
        forbids: [].}

    proc leftJoin(self: MysqlQuery; table: string; column1: string; symbol: string;
                  column2: string): MysqlQuery {....raises: [KeyError], tags: [],
        forbids: [].}

    proc limit(self: MysqlQuery; num: int): MysqlQuery {....raises: [], tags: [],
        forbids: [].}

    proc offset(self: MysqlQuery; num: int): MysqlQuery {....raises: [], tags: [],
        forbids: [].}

    proc orderBy(self: MysqlQuery; column: string; order: Order): MysqlQuery {.
        ...raises: [KeyError], tags: [], forbids: [].}

    proc orWhere(self: MysqlQuery; column: string; symbol: string;
                 value: string | int | float | bool): MysqlQuery

    proc orWhere(self: MysqlQuery; column: string; symbol: string; value: nil.type): MysqlQuery {.
        ...raises: [CatchableError, KeyError], tags: [], forbids: [].}

    proc raw(self: MysqlConnections; sql: string; arges = newJArray()): RawMysqlQuery {.
        ...raises: [], tags: [], forbids: [].}

  arges is `JArray` `[true, 1, 1.1, "str"]`

  can't use BLOB data.

    proc select(self: MysqlConnections; columnsArg: varargs[string]): MysqlQuery {.
        ...raises: [], tags: [], forbids: [].}

    proc table(self: MysqlConnections; tableArg: string): MysqlQuery {....raises: [],
        tags: [], forbids: [].}

    proc table(self: MysqlQuery; tableArg: string): MysqlQuery {....raises: [],
        tags: [], forbids: [].}

    proc where(self: MysqlQuery; column: string; symbol: string;
               value: string | int | float): MysqlQuery

    proc where(self: MysqlQuery; column: string; symbol: string; value: bool): MysqlQuery {.
        ...raises: [CatchableError, KeyError], tags: [], forbids: [].}

    proc where(self: MysqlQuery; column: string; symbol: string; value: nil.type): MysqlQuery {.
        ...raises: [CatchableError, KeyError], tags: [], forbids: [].}

    proc whereBetween(self: MysqlQuery; column: string; width: array[2, int | float]): MysqlQuery

    proc whereBetween(self: MysqlQuery; column: string; width: array[2, string]): MysqlQuery {.
        ...raises: [KeyError], tags: [], forbids: [].}

    proc whereIn(self: MysqlQuery; column: string; width: seq[int | float | string]): MysqlQuery

    proc whereNotBetween(self: MysqlQuery; column: string;
                         width: array[2, int | float]): MysqlQuery

    proc whereNotBetween(self: MysqlQuery; column: string; width: array[2, string]): MysqlQuery {.
        ...raises: [KeyError], tags: [], forbids: [].}

    proc whereNotIn(self: MysqlQuery; column: string;
                    width: seq[int | float | string]): MysqlQuery

    proc whereNull(self: MysqlQuery; column: string): MysqlQuery {.
        ...raises: [KeyError], tags: [], forbids: [].}