该百科适应UT7+版本。
该类库默认连接设置的主数据,在.ut.config中DBTYPE设置,值为:mysql/mssql/sqlite/pgsql/pdo
默认为mysql,当值为pdo时,以PDO方式连接的数据库生效。
缓存数据使用在.ut.config中DBCACHE设置,值为:mongo/redis/memcache
当值设定时以其对应数据库作为缓存数据库,默认为空,缓存仅对查询数据有效,其他需求需单独构造。
该类库仅支持以上数据库作为主数据库时使用,当然UT同时也支持单独调用其他类型的数据库,如
PDO驱动、
Mysql、
Mssql、
Postgresql、
Sqlite、
Redis、
MongoDB、
Memcache等。
在UT框架中引用use usualtool\Lib\Data
静态方法调用:Data::xx
语法糖调用:$db=new Data();$db->xxxx()
方法包含:
- 获取数据库类型
GetDb()
示例:Data::GetDb() - 连接数据库
GetDatabase()
示例:Data::GetDatabase() - 判断表是否存在
ModTable($table)
示例:Data::ModTable('user') - 执行SQL或命令
RunSql($sql)
示例:Data::RunSql('update user set num=1 where id=1') - 查询数据(预处理)
QueryData($table,$field='',$where='',$order='',$limit='',$param=array())
示例:Data::QueryData('user','*','id>?','id desc','10',[5]) - 创建数据(预处理)
InsertData($table,$data,$param=array())
示例:Data::InsertData('user',['name'=>'?','num'=>'?'],['张三',1]) - 更新数据(预处理)
UpdateData($table,$data,$where,$param=array())
示例1:Data::UpdateData('user',['num'=>2],'id=?',[1])
示例2:Data::UpdateData('user',['hit'=>'hit+1'],'id=?',[1]); - 删除数据(预处理)
DelData($table,$where,$param=array())
示例:Data::DelData('user','id=?',[1]) - 执行预处理
RunYu($sql,$param=[])
示例1:Data::RunYu('select * from user where id>?',[5])
示例2:Data::RunYu('update `user` set balance=balance+? where id=?',['12.50',1]); - 复制数据
CopyData($table,$where,$param=array())
示例:Data::CopyData('user','id=?',[1]) - 获取记录数目
QueryNum($sql)
示例:Data::QueryNum('select count(*) from user') - 获取及更新缓存
GetCache($table,$field,$where,$order,$limit,$param,$cache)
示例:Data::GetCache('user','*','id>?','id desc','10',[],'user_cache')