Documentation

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

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
Author

Sprite hello@shezw.com http://donsee.cn

DateTime

2019-08-17T14:29:38+0800

Return values
mixed

connect()

建立连接 connect

private connect( [ $base : string|null = null ] ) : ASResult
Parameters
$base : string|null = null
Return values
ASResult

touch()

测试连接是否通畅 Touch connection

public touch( ) : bool
Return values
bool

selectDB()

选择数据库 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|bool

close()

关闭连接 close

public close( ) : mixed
Return values
mixed

insert()

插入数据 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
example

$DB->insert(['mobile'=>'13300001111'],'user_account'); $DB->insert(['data'=>['mobile'=>'13300001111'],'table'=>'user_account']);

Return values
ASResult

add()

插入数据缩写 Alias Of Insert

public add( $_ : array [, $table : string = null ] ) : mixed
Parameters
$_ : array
$table : string = null
Return values
mixed

inserts()

批量添加 inserts

public inserts( $_ : array [, $table : string|null = null ] ) : ASResult
Parameters
$_ : array
$table : string|null = null
Tags
mark

批量添加注意: List中可以存在数据字段不一致的情况,其他元素中含有字段,但另外一些元素中又没有该字段的值时将会自动默认填充为 '' SQL空值, 如果为空字段是不能为空类型,如数字,将会插入失败。 如果希望保持空白值为null 可以使用 字符值 "SET_NULL", 将自动转化为 null进行填充

example

$DB->inserts([["mobile"=>"13300001111"],["email"=>"a@b.com"],["email"=>"c@d.cn"]],"user_account"); $DB->inserts(["list"=>[["mobile"=>"13300001111"],["email"=>"a@b.com"],["email"=>"c@d.cn"]],"table"=>"user_account"])

Return values
ASResult

adds()

批量插入数据缩写 Alias Of Inserts

public adds( $_ : array [, $table : string = null ] ) : mixed
Parameters
$_ : array
$table : string = null
Return values
mixed

getValidKeys()

获取数组key getValidKeys

public getValidKeys( $list : array ) : array
Parameters
$list : array

[数据数组]

Return values
array

[key数组]

update()

update 更新数据

public update( $_ : array ) : ASResult
Parameters
$_ : array

传入数据

Return values
ASResult

updates()

批量更新 updates

public updates( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

increase()

数值型字段自增 Increase for numberic field(int,float,double...)

public increase( $_ : [, $size : int = 1 ] [, $table : null = null ] [, $conditions : null = null ] ) : ASResult
Parameters
$_ :
$size : int = 1
$table : null = null
$conditions : null = null
Return values
ASResult

reduce()

数据减少 仅支持int float double 等数字类型 reduce

public reduce( $_ : [, $size : null = null ] [, $table : null = null ] [, $conditions : null = null ] ) : ASResult
Parameters
$_ :
$size : null = null
$table : null = null
$conditions : null = null
Return values
ASResult

decrease()

数据增长 仅支持int float double 等数字类型 decrease

public decrease( $_ : [, $size : null = null ] [, $table : null = null ] [, $conditions : null = null ] ) : ASResult
Parameters
$_ :
$size : null = null
$table : null = null
$conditions : null = null
Return values
ASResult

remove()

从数据库中移除 remove row(s) from table

public remove( $_ : [, $conditions : null = null ] ) : ASResult
Parameters
$_ :
$conditions : null = null
Return values
ASResult

count()

通用行计数 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
ASResult

get()

获取数据 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
Author

Sprite hello@shezw.com http://donsee.cn

DateTime

2019-08-17T01:30:42+0800

version
Return values
ASResult

processQueryResult()

public processQueryResult( $query : string ) : ASResult
Parameters
$query : string
Return values
ASResult

batchGet()

批量获取数据 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
version
Return values
ASResult

check()

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
mixed

sum()

累加求和 sum

public sum( $arguments : array ) : ASResult
Parameters
$arguments : array
  • field
  • table
  • conditions
  • page
  • size
Tags
mark

SELECT SUM(salary) as "Total Salary" FROM employees WHERE salary > 25000;

Return values
ASResult

sumByGroup()

public sumByGroup( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

countByGroup()

根据Group聚合查询 计数 countByGroup

public countByGroup( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

getByGroup()

根据Group聚合查询 getByGroup

public getByGroup( $_ : array ) : ASResult|bool
Parameters
$_ : array
Tags
mark
SELECT userid,COUNT(*) AS count ,SUM(amount) AS sum FROM commerce_order
GROUP BY userid ORDER BY SUM(amount) DESC
SELECT col1,SUM(col2) FROM t1  GROUP BY col1  ORDER BY SUM(col2);
Return values
ASResult|bool

joinCount()

联合查询模式计数 joinCount

public joinCount( $primaryParams : array , $joinParamsArray : array ) : ASResult
Parameters
$primaryParams : array

[primaryParams]

$joinParamsArray : array

[array of joinParams]

Tags
mark

优化条件说明 https://shezw.com/archives/113/

Return values
ASResult

joinGet()

联合模式查询 支持多张表联合查询,取消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
mark

SELECT * FROM user_account LEFT JOIN user_info ON user_account.userid = user_info.userid LEFT JOIN user_pocket ON user_account.userid = user_pocket.userid AND user_pocket.point > 5000 LEFT JOIN user_group ON user_account.groupid = user_group.groupid AND user_group.level > 100 WHERE user_info.wechatid IS NOT null

mark

SELECT *,COUNT(relation_combine.relationid) as count_unit FROM relation_combine LEFT JOIN item_scene ON relation_combine.itemid = item_scene.sceneid GROUP BY relation_combine.itemid,relation_combine.itemtype AND relation_combine.itemtype='scene'

Return values
ASResult

showTables()

public showTables( [ $base : string = null ] ) : mixed
Parameters
$base : string = null
Return values
mixed

showColumns()

public showColumns( $table : mixed ) : mixed
Parameters
$table : mixed
Return values
mixed

exists()

public exists( $table : mixed ) : mixed
Parameters
$table : mixed
Return values
mixed

newTable()

public newTable( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

generateTableQuery()

public static generateTableQuery( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

fields()

public fields( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

addfields()

public addfields( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

updatefields()

public updatefields( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

index()

public index( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

unique()

public unique( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

ngram()

public ngram( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

spatial()

public spatial( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

drop()

public drop( $_ : array ) : mixed
Parameters
$_ : array
Return values
mixed

truncate()

public truncate( $table : string ) : mixed
Parameters
$table : string
Return values
mixed

dropTable()

public dropTable( $table : string ) : mixed
Parameters
$table : string
Return values
mixed

base()

public base( [ $_ : array = null ] ) : mixed
Parameters
$_ : array = null
Return values
mixed

newBase()

新数据库 newBase

public newBase( $base : string ) : ASResult
Parameters
$base : string
Return values
ASResult

dropBase()

移除数据库 dropBase

public dropBase( $base : string ) : ASResult
Parameters
$base : string
Return values
ASResult

hasBase()

查询是否存在数据库 hasBase

public hasBase( $base : string ) : bool
Parameters
$base : string
Return values
bool

hasTableInBase()

查询是否存在数据库下对应表 hasTableInBase

public hasTableInBase( $table : string , $base : string ) : bool
Parameters
$table : string
$base : string
Return values
bool

newDataStruct()

根据数据结构生成数据库 generate DataStruct

public newDataStruct( $struct : array , $base : string ) : bool
Parameters
$struct : array
$base : string
Return values
bool

maybeCount()

可能性搜索 计数 maybeCount

public maybeCount( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

maybeSearch()

可能性搜索 maybeSearch

public maybeSearch( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

exactCount()

精确搜索 计数 exactCount

public exactCount( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

exactSearch()

精确搜索 exactSearch

public exactSearch( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

blurCount()

模糊搜索 计数 blurCount

public blurCount( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

blurSearch()

模糊搜索 blurSearch

public blurSearch( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

natureCount()

分词搜索计数 (自然语言) 需要fulltext索引 natureCount Require fulltext index

public natureCount( $_ : array ) : ASResult
Parameters
$_ : array
Return values
ASResult

natureSearch()

分词搜索 (自然语言) 需要fulltext索引 natureSearch Require fulltext index

public natureSearch( $_ : array [, $isCounting : bool = false ] ) : ASResult
Parameters
$_ : array
$isCounting : bool = false
Tags
mark

SELECT id,namecn FROM customer WHERE MATCH (namecn,nameen) AGAINST ('测试' IN NATURAL LANGUAGE MODE)

Return values
ASResult

booleanCount()

分词搜索 计数(布尔) booleanCount

public booleanCount( $_ : array ) : ASResult
Parameters
$_ : array
Tags
mark

valueList ['+value','-value','~value','>value','<value']

Return values
ASResult

booleanSearch()

分词搜索 (布尔) booleanSearch

public booleanSearch( $_ : array [, $isCounting : bool = false ] ) : ASResult
Parameters
$_ : array
$isCounting : bool = false
Tags
mark

valueList ['+value','-value','~value','>value','<value']

Return values
ASResult

spliceFields()

拼接字段 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
string

locationSort()

根据地理位置排序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
mixed

take()

设置主体别称 Alias of setContent

public take( $content : ) : $this
Parameters
$content :
Return values
$this

setContent()

设置结果包装中的主数据 set content of result

public setContent( $content : ) : mixed
Parameters
$content :
Return values
mixed

sign()

设置方法签名 Set method sign

public sign( $sign : ) : mixed
Parameters
$sign :
Return values
mixed

feedback()

返回结果 通用 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
ASResult

error()

返回错误 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
ASResult

success()

返回成功 Return Success result

public success( [ $message : string|null = null ] [, $sign : string|null = null ] ) : ASResult
Parameters
$message : string|null = null
$sign : string|null = null
Return values
ASResult

Search results