<php
class MysqlManage{
/创建数据库,并且主键是aid
table 要查询的表名
/
function createTable($table){
$sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;";
M()->execute($sql);
$this->checkTable($table);
}
/
table 要查询的表名
return 表里所有字段的信息
/
function checkTable($table){
$sql="desc `$table`";
$info=M()->execute($sql);
return $info;
}
/
检测字段是否存在,也可以获取字段信息(只能是一个字段)
table 表名
field 字段名
/
function checkField($table,$field){
$sql='desc `$table` $field';
$info=M()->execute($sql);
return $info;
}
/
添加字段
table 表名
info 字段信息数组 array
return 字段信息 array
/
function addField($table,$info){
$sql="alter table `$table` add column";
$sql=$this->filterFieldInfo();
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/
修改字段
不能修改字段名称,只能修改
/
function editField($table,$info){
$sql="alter table `$table` modify ";
$sql=$this->filterFieldInfo($info);
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/
字段信息数组处理,供添加更新字段时候使用
info[name] 字段名称
info[type] 字段类型
info[length] 字段长度
info[isNull] 是否为空
info['default'] 字段默认值
info['comment'] 字段备注
/
private function filterFieldInfo($info){
if(!is_array($info))
return
$newInfo=array();
$newInfo['name']=$info['name'];
$newInfo['type']=$info['type'];
switch($info['type']){
case 'varchar':
case 'char':
$newInfo['length']=empty($info['length'])100:$info['length'];
$newInfo['isNull']=$info['isNull']==1'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])'':'DEFAULT '$info['default'];
$newInfo['comment']=empty($info['comment'])'':'COMMENT '$info['comment'];
break;
case 'int':
$newInfo['length']=empty($info['length'])7:$info['length'];
$newInfo['isNull']=$info['isNull']==1'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])'':'DEFAULT '$info['default'];
$newInfo['comment']=empty($info['comment'])'':'COMMENT '$info['comment'];
break;
case 'text':
$newInfo['length']='';
$newInfo['isNull']=$info['isNull']==1'NULL':'NOT NULL';
$newInfo['default']='';
$newInfo['comment']=empty($info['comment'])'':'COMMENT '$info['comment'];
break;
}
$sql=$newInfo['name']" "$newInfo['type'];
$sql=(!empty($newInfo['length']))($newInfo['length']) ' ':' ';
$sql=$newInfo['isNull']' ';
$sql=$newInfo['default'];
$sql=$newInfo['comment'];
return $sql;
}
/
删除字段
如果返回了字段信息则说明删除失败,返回false,则为删除成功
/
function dropField($table,$field){
$sql="alter table `$table` drop column $field";
M()->execute($sql);
$this->checkField($table,$filed);
}
/
获取指定表中指定字段的信息(多字段)
/
function getFieldInfo($table,$field){
$info=array();
if(is_string($field)){
$this->checkField($table,$field);
}else{
foreach($field as $v){
$info[$v]=$this->checkField($table,$v);
}
}
return $info;
}
}
把选择的日期和数据库的日期都转换成时间戳查询就是了,注意把最后一天的日期拼接成到凌晨。
如:开始时间戳 $start = strtotime('2017-08-01');
截止时间戳 $end = strtotime('2017-08-17 23:59:59');
查询条件:$map['time'] = array('between',array($start, $end));
默认写的time字段,这个根据你数据库自定义,数据库的时间也转换成时间戳。
以上就是关于thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段全部的内容,包括:thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段、想问一下thinkphp根据日期字段查询某一天到最后一天的所有记录、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)