ASDB
extends ASObject
in
MySQL数据库控制器 DBController for MySQL
MYSQL >= 5.7.0 服务器要开启ngram插件 Ngram plugin is Required
Table of Contents
symbols | 预定义查询标记 Predefined query symbols | ['[[>]]' => ' > ', '[[<]]' => ' < ', '[[>=]]' => ' >= ', '[[<=]]' => ' <= ', '[[!=]]' => ' != ', '[[IN]]' => ' IN ', '[[IS]]' => ' IS ', '[[NOT]]' => ' IS NOT ', '[[BETWEEN]]' => ' BETWEEN ', '[[FIND]]' => ' LOCATE ', '[[QUERY]]' => ' '] |
---|---|---|
$host | 主机地址 host | string |
$user | 用户名 username | string |
$pass | 密码 password | string |
$base | 数据库名 Database Name | string |
$connect | 数据库连接 Connection | string |
$connected | 已连接 isConnected | bool |
$CLASSNAME | 类名 | string |
$result | 结果包装器 | ASResult |
shared() | 全局单例 | ASDB |
__construct() | __construct 初始化 | mixed |
connect() | 建立连接 connect | ASResult |
touch() | 测试连接是否通畅 Touch connection | bool |
selectDB() | 选择数据库 selectDB | string |
query() | 语句提交 query | mysqli_result|bool |
close() | 关闭连接 close | mixed |
insert() | 插入数据 insert | ASResult |
add() | 插入数据缩写 Alias Of Insert | mixed |
inserts() | 批量添加 inserts | ASResult |
adds() | 批量插入数据缩写 Alias Of Inserts | mixed |
getValidKeys() | 获取数组key getValidKeys | array |
update() | update 更新数据 | ASResult |
updates() | 批量更新 updates | ASResult |
increase() | 数值型字段自增 Increase for numberic field(int,float,double...) | ASResult |
reduce() | 数据减少 仅支持int float double 等数字类型 reduce | ASResult |
decrease() | 数据增长 仅支持int float double 等数字类型 decrease | ASResult |
remove() | 从数据库中移除 remove row(s) from table | ASResult |
count() | 通用行计数 count of row | ASResult |
get() | 获取数据 get data | ASResult |
processQueryResult() | ASResult | |
batchGet() | 批量获取数据 batchGet | ASResult |
check() | mixed | |
sum() | 累加求和 sum | ASResult |
sumByGroup() | mixed | |
countByGroup() | 根据Group聚合查询 计数 countByGroup | ASResult |
getByGroup() | 根据Group聚合查询 getByGroup | ASResult|bool |
joinCount() | 联合查询模式计数 joinCount | ASResult |
joinGet() | 联合模式查询 支持多张表联合查询,取消JOIN方向,INNER使用句末WHERE方式取代. | ASResult |
showTables() | mixed | |
showColumns() | mixed | |
exists() | mixed | |
newTable() | mixed | |
generateTableQuery() | mixed | |
fields() | mixed | |
addfields() | mixed | |
updatefields() | mixed | |
index() | mixed | |
unique() | mixed | |
ngram() | mixed | |
spatial() | mixed | |
drop() | mixed | |
truncate() | mixed | |
dropTable() | mixed | |
base() | mixed | |
newBase() | 新数据库 newBase | ASResult |
dropBase() | 移除数据库 dropBase | ASResult |
hasBase() | 查询是否存在数据库 hasBase | bool |
hasTableInBase() | 查询是否存在数据库下对应表 hasTableInBase | bool |
newDataStruct() | 根据数据结构生成数据库 generate DataStruct | bool |
maybeCount() | 可能性搜索 计数 maybeCount | ASResult |
maybeSearch() | 可能性搜索 maybeSearch | ASResult |
exactCount() | 精确搜索 计数 exactCount | ASResult |
exactSearch() | 精确搜索 exactSearch | ASResult |
blurCount() | 模糊搜索 计数 blurCount | ASResult |
blurSearch() | 模糊搜索 blurSearch | ASResult |
natureCount() | 分词搜索计数 (自然语言) 需要fulltext索引 natureCount Require fulltext index | ASResult |
natureSearch() | 分词搜索 (自然语言) 需要fulltext索引 natureSearch Require fulltext index | ASResult |
booleanCount() | 分词搜索 计数(布尔) booleanCount | ASResult |
booleanSearch() | 分词搜索 (布尔) booleanSearch | ASResult |
spliceFields() | 拼接字段 spliceFields | string |
spliceCondition() | 拼接条件语句 Splice K-v condition to SQL QUERY String condition | string |
generateQueryValue() | 生成赋值语句 generateQueryValue | string |
generateLocationValue() | 生成定位插入值 generateLocationValue | string |
locationSort() | 根据地理位置排序query生成 locationSort | string |
spliceCaseSet() | 拼接CASE SET 用于批量更新 spliceCaseSet | string |
getSymbol() | 获取特殊操作符号 getSymbol | string |
hasSymbol() | 检测是否含有操作符 hasSymbol | bool |
__construct() | ASObject constructor. | mixed |
take() | 设置主体别称 Alias of setContent | $this |
setContent() | 设置结果包装中的主数据 set content of result | mixed |
sign() | 设置方法签名 Set method sign | mixed |
feedback() | 返回结果 通用 Returning result to the caller | ASResult |
error() | 返回错误 Returning Error result | ASResult |
success() | 返回成功 Return Success result | ASResult |
Constants
symbols
预定义查询标记 Predefined query symbols
mixed
$symbols
= ['[[>]]' => ' > ', '[[<]]' => ' < ', '[[>=]]' => ' >= ', '[[<=]]' => ' <= ', '[[!=]]' => ' != ', '[[IN]]' => ' IN ', '[[IS]]' => ' IS ', '[[NOT]]' => ' IS NOT ', '[[BETWEEN]]' => ' BETWEEN ', '[[FIND]]' => ' LOCATE ', '[[QUERY]]' => ' ']
Properties
$host
主机地址 host
private
string
$host
$user
用户名 username
private
string
$user
$pass
密码 password
private
string
$pass
$base
数据库名 Database Name
private
string
$base
$connect
数据库连接 Connection
private
string
$connect
$connected
已连接 isConnected
private
bool
$connected
= false
$CLASSNAME
类名
protected
string
$CLASSNAME
$result
结果包装器
public
ASResult
$result
Methods
shared()
全局单例
public
static shared(
)
: ASDB
Return values
ASDB__construct()
__construct 初始化
public
__construct(
[ $_ :
string|array|null
= null ]
[, $user :
string|null
= null ]
[, $pass :
string|null
= null ]
[, $base :
string|null
= null ]
)
: mixed
默认采用全局数据库配置
Parameters
- $_ : string|array|null = null
地址|数组传参 Host OR parameters in array
- $user : string|null = null
用户名
- $pass : string|null = null
密码
- $base : string|null = null
数据库
EG: $DB = new SQL(['host'=>'localhost','user'=>'root','pass'=>'1234']); $DB = new SQL('localhost','root','1234','user_account');
1.2 默认不建立连接 第一次提交语句的时候会开始建立连接
Tags
Return values
mixedconnect()
建立连接 connect
private
connect(
[ $base :
string|null
= null ]
)
: ASResult
Parameters
- $base : string|null = null
Return values
ASResulttouch()
测试连接是否通畅 Touch connection
public
touch(
)
: bool
Return values
boolselectDB()
选择数据库 selectDB
public
selectDB(
$dbname :
string
)
: string
Parameters
- $dbname : string
[数据库名]
Return values
string —[数据库名]
query()
语句提交 query
public
query(
$query :
string
)
: mysqli_result|bool
Parameters
- $query : string
[description]
Return values
mysqli_result|boolclose()
关闭连接 close
public
close(
)
: mixed
Return values
mixedinsert()
插入数据 insert
public
insert(
$_ :
array
[, $table :
string|null
= null ]
)
: ASResult
Parameters
- $_ : array
$data ? $_ string ? K-V arr 列数据 key->value 数组 $table string 表名
- $table : string|null = null
Tags
Return values
ASResultadd()
插入数据缩写 Alias Of Insert
public
add(
$_ :
array
[, $table :
string
= null ]
)
: mixed
Parameters
- $_ : array
- $table : string = null
Return values
mixedinserts()
批量添加 inserts
public
inserts(
$_ :
array
[, $table :
string|null
= null ]
)
: ASResult
Parameters
- $_ : array
- $table : string|null = null
Tags
Return values
ASResultadds()
批量插入数据缩写 Alias Of Inserts
public
adds(
$_ :
array
[, $table :
string
= null ]
)
: mixed
Parameters
- $_ : array
- $table : string = null
Return values
mixedgetValidKeys()
获取数组key getValidKeys
public
getValidKeys(
$list :
array
)
: array
Parameters
- $list : array
[数据数组]
Return values
array —[key数组]
update()
update 更新数据
public
update(
$_ :
array
)
: ASResult
Parameters
- $_ : array
传入数据
Return values
ASResultupdates()
批量更新 updates
public
updates(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultincrease()
数值型字段自增 Increase for numberic field(int,float,double...)
public
increase(
$_ :
[, $size :
int
= 1 ]
[, $table :
null
= null ]
[, $conditions :
null
= null ]
)
: ASResult
Parameters
Return values
ASResultreduce()
数据减少 仅支持int float double 等数字类型 reduce
public
reduce(
$_ :
[, $size :
null
= null ]
[, $table :
null
= null ]
[, $conditions :
null
= null ]
)
: ASResult
Parameters
Return values
ASResultdecrease()
数据增长 仅支持int float double 等数字类型 decrease
public
decrease(
$_ :
[, $size :
null
= null ]
[, $table :
null
= null ]
[, $conditions :
null
= null ]
)
: ASResult
Parameters
Return values
ASResultremove()
从数据库中移除 remove row(s) from table
public
remove(
$_ :
[, $conditions :
null
= null ]
)
: ASResult
Parameters
Return values
ASResultcount()
通用行计数 count of row
public
count(
$_ :
array
[, $conditions :
null
= null ]
[, $distinct :
string|null
= null ]
)
: ASResult
Parameters
- $_ : array
- $conditions : null = null
筛选条件
- $distinct : string|null = null
排重字段
Return values
ASResultget()
获取数据 get data
public
get(
$_ :
array|null
[, $table :
string|null
= null ]
[, $conditions :
null
= null ]
[, $sort :
null
= null ]
[, $page :
int
= 1 ]
[, $size :
int
= 25 ]
[, $distinct :
string|null
= null ]
[, $sets :
null
= null ]
)
: ASResult
Parameters
- $_ : array|null
[参数数组]
- fields 字段 必填 array | string
- table 表名 必填 string
- conditions 条件 可选 array | string
- sort 排序方式 可选 string
- size 数据长度 默认 25
- page 页数 默认 1
- sets FIND_IN_SET查询方式 可选 ? 子集 field,values
- $table : string|null = null
- $conditions : null = null
- $sort : null = null
- $page : int = 1
- $size : int = 25
- $distinct : string|null = null
- $sets : null = null
Tags
Return values
ASResultprocessQueryResult()
public
processQueryResult(
$query :
string
)
: ASResult
Parameters
- $query : string
Return values
ASResultbatchGet()
批量获取数据 batchGet
public
batchGet(
$_ :
array
[, $table :
string|null
= null ]
[, $key :
string|null
= null ]
[, $arr :
array|null
= null ]
)
: ASResult
Parameters
- $_ : array
[rows获取字段,table表,key索引字段,arr索引集合]
- $table : string|null = null
- $key : string|null = null
- $arr : array|null = null
Tags
Return values
ASResultcheck()
public
check(
$_ :
mixed
[, $field :
string
= null ]
[, $table :
string
= null ]
[, $conditions :
mixed
= null ]
[, $sort :
mixed
= null ]
)
: mixed
Parameters
- $_ : mixed
- $field : string = null
- $table : string = null
- $conditions : mixed = null
- $sort : mixed = null
Return values
mixedsum()
累加求和 sum
public
sum(
$arguments :
array
)
: ASResult
Parameters
- $arguments : array
- field
- table
- conditions
- page
- size
Tags
Return values
ASResultsumByGroup()
public
sumByGroup(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedcountByGroup()
根据Group聚合查询 计数 countByGroup
public
countByGroup(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultgetByGroup()
根据Group聚合查询 getByGroup
public
getByGroup(
$_ :
array
)
: ASResult|bool
Parameters
- $_ : array
Tags
Return values
ASResult|booljoinCount()
联合查询模式计数 joinCount
public
joinCount(
$primaryParams :
array
, $joinParamsArray :
array
)
: ASResult
Parameters
- $primaryParams : array
[primaryParams]
- $joinParamsArray : array
[array of joinParams]
Tags
Return values
ASResultjoinGet()
联合模式查询 支持多张表联合查询,取消JOIN方向,INNER使用句末WHERE方式取代.
public
joinGet(
$primaryParams :
array
, $joinParamsArray :
array
[, $page :
int
= 1 ]
[, $size :
int
= 25 ]
[, $sort :
null
= null ]
)
: ASResult
其中每一行可以定义 key|field(索引字段) Get data by JOIN tables
Parameters
- $primaryParams : array
[主表参数] $table 必填, $key|$field 必填, $fields 可选, filters,conditions,count 可选,
- $joinParamsArray : array
[副表参数(多个副表数组)] $table 必填, $key|$field 可选, $fields 可选, filters (表内过滤)可选,conditions (全局筛选)可选,
- $page : int = 1
- $size : int = 25
- $sort : null = null
Tags
Return values
ASResultshowTables()
public
showTables(
[ $base :
string
= null ]
)
: mixed
Parameters
- $base : string = null
Return values
mixedshowColumns()
public
showColumns(
$table :
mixed
)
: mixed
Parameters
- $table : mixed
Return values
mixedexists()
public
exists(
$table :
mixed
)
: mixed
Parameters
- $table : mixed
Return values
mixednewTable()
public
newTable(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedgenerateTableQuery()
public
static generateTableQuery(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedfields()
public
fields(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedaddfields()
public
addfields(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedupdatefields()
public
updatefields(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedindex()
public
index(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedunique()
public
unique(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedngram()
public
ngram(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedspatial()
public
spatial(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixeddrop()
public
drop(
$_ :
array
)
: mixed
Parameters
- $_ : array
Return values
mixedtruncate()
public
truncate(
$table :
string
)
: mixed
Parameters
- $table : string
Return values
mixeddropTable()
public
dropTable(
$table :
string
)
: mixed
Parameters
- $table : string
Return values
mixedbase()
public
base(
[ $_ :
array
= null ]
)
: mixed
Parameters
- $_ : array = null
Return values
mixednewBase()
新数据库 newBase
public
newBase(
$base :
string
)
: ASResult
Parameters
- $base : string
Return values
ASResultdropBase()
移除数据库 dropBase
public
dropBase(
$base :
string
)
: ASResult
Parameters
- $base : string
Return values
ASResulthasBase()
查询是否存在数据库 hasBase
public
hasBase(
$base :
string
)
: bool
Parameters
- $base : string
Return values
boolhasTableInBase()
查询是否存在数据库下对应表 hasTableInBase
public
hasTableInBase(
$table :
string
, $base :
string
)
: bool
Parameters
- $table : string
- $base : string
Return values
boolnewDataStruct()
根据数据结构生成数据库 generate DataStruct
public
newDataStruct(
$struct :
array
, $base :
string
)
: bool
Parameters
- $struct : array
- $base : string
Return values
boolmaybeCount()
可能性搜索 计数 maybeCount
public
maybeCount(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultmaybeSearch()
可能性搜索 maybeSearch
public
maybeSearch(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultexactCount()
精确搜索 计数 exactCount
public
exactCount(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultexactSearch()
精确搜索 exactSearch
public
exactSearch(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultblurCount()
模糊搜索 计数 blurCount
public
blurCount(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultblurSearch()
模糊搜索 blurSearch
public
blurSearch(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultnatureCount()
分词搜索计数 (自然语言) 需要fulltext索引 natureCount Require fulltext index
public
natureCount(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Return values
ASResultnatureSearch()
分词搜索 (自然语言) 需要fulltext索引 natureSearch Require fulltext index
public
natureSearch(
$_ :
array
[, $isCounting :
bool
= false ]
)
: ASResult
Parameters
- $_ : array
- $isCounting : bool = false
Tags
Return values
ASResultbooleanCount()
分词搜索 计数(布尔) booleanCount
public
booleanCount(
$_ :
array
)
: ASResult
Parameters
- $_ : array
Tags
Return values
ASResultbooleanSearch()
分词搜索 (布尔) booleanSearch
public
booleanSearch(
$_ :
array
[, $isCounting :
bool
= false ]
)
: ASResult
Parameters
- $_ : array
- $isCounting : bool = false
Tags
Return values
ASResultspliceFields()
拼接字段 spliceFields
public
static spliceFields(
[ $fields :
array|string|null
= null ]
[, $table :
string|null
= null ]
[, $distinct :
string|null
= null ]
[, $alias :
string|null
= null ]
)
: string
Parameters
- $fields : array|string|null = null
待拼接字段 fields
- $table : string|null = null
表名 table name
- $distinct : string|null = null
排重字段 Distinct field
- $alias : string|null = null
Return values
string —语句 Query String
spliceCondition()
拼接条件语句 Splice K-v condition to SQL QUERY String condition
public
static spliceCondition(
[ $params :
array|string|null
= null ]
[, $filter :
array|null
= null ]
[, $table :
string|null
= null ]
)
: string
Parameters
- $params : array|string|null = null
数据 data
- $filter : array|null = null
过滤 Filter
- $table : string|null = null
表名 Table name
Return values
string —语句 Query String
table 用于join模式 处理JOIN关系,会在字段前添加表前缀
generateQueryValue()
生成赋值语句 generateQueryValue
public
static generateQueryValue(
$input :
array|string|number
)
: string
Parameters
- $input : array|string|number
输入
Return values
string —赋值语句 Set value query string
generateLocationValue()
生成定位插入值 generateLocationValue
public
static generateLocationValue(
$value :
string
)
: string
Parameters
- $value : string
Return values
stringlocationSort()
根据地理位置排序query生成 locationSort
public
static locationSort(
$location :
string|array
[, $field :
string
= 'location' ]
)
: string
Parameters
- $location : string|array
定位 "lng,lat" | ["lng"=>1,"lat"=>1]
- $field : string = 'location'
对应数据库字段
Return values
string —语句 Query String
spliceCaseSet()
拼接CASE SET 用于批量更新 spliceCaseSet
public
spliceCaseSet(
$kvArrayList :
array
, $key :
string
)
: string
Parameters
- $kvArrayList : array
[description]
- $key : string
[description]
Return values
string —[type] [description]
getSymbol()
获取特殊操作符号 getSymbol
private
static getSymbol(
$input :
string
[, $returnKey :
bool
= false ]
)
: string
Parameters
- $input : string
[输入]
- $returnKey : bool = false
[是否输出源符号]
Return values
string —[操作符号]
hasSymbol()
检测是否含有操作符 hasSymbol
private
static hasSymbol(
$input :
string
)
: bool
Parameters
- $input : string
[输入]
Return values
bool —[是否]
__construct()
ASObject constructor.
public
__construct(
)
: mixed
Return values
mixedtake()
设置主体别称 Alias of setContent
public
take(
$content :
)
: $this
Parameters
Return values
$thissetContent()
设置结果包装中的主数据 set content of result
public
setContent(
$content :
)
: mixed
Parameters
Return values
mixedsign()
设置方法签名 Set method sign
public
sign(
$sign :
)
: mixed
Parameters
Return values
mixedfeedback()
返回结果 通用 Returning result to the caller
public
feedback(
[ $status :
int|null
= null ]
[, $message :
string|null
= null ]
[, $sign :
string|null
= null ]
)
: ASResult
Parameters
- $status : int|null = null
- $message : string|null = null
- $sign : string|null = null
Return values
ASResulterror()
返回错误 Returning Error result
public
error(
$status :
int
, $message :
string
[, $sign :
string|null
= null ]
)
: ASResult
Parameters
- $status : int
- $message : string
- $sign : string|null = null
Return values
ASResultsuccess()
返回成功 Return Success result
public
success(
[ $message :
string|null
= null ]
[, $sign :
string|null
= null ]
)
: ASResult
Parameters
- $message : string|null = null
- $sign : string|null = null