thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段

thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段,第1张

<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根据日期字段查询某一天到最后一天的所有记录、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9556228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存