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;

}

}

连接数据库

$conn=new Mongo(“mongodb://sa:123@localhost”); #带用户名密码

选择数据库和集合

$db=$conn->selectDB(“mydb”); 

$collection = $db->selectCollection(‘column’);

增删改查

1插入

$array=array(‘column_name’=>’col’rand(100,999),’column_exp’=>’xiaocai’);

$result=$collection->insert($array); #简单插入

2 修改更新 

        $where=array(‘column_name’=>’col123′);

        $newdata=array(‘column_exp’=>’GGGGGGG’,'column_fid’=>444);

        $result=$collection->update($where,array(‘$set’=>$newdata));

        3删除

        $where=array(‘column_name’=>’col685′);

        $result=$collection->update($where,array(‘$unset’=>’column_exp’));

        4查询

         $result =  $collection->find();以后这类问题不会的话你可以去后盾人上面看看哦⊙∀⊙!⊙∀⊙!⊙∀⊙!⊙∀⊙!里面有教学视频

ThinkPHP\Common文件夹中的conventionphp中是tp的核心配置文件,不能乱动,如果要想更改里面的配置,在Conf 文件夹里面的configphp可以配置,可以这样写

<php

return array(

'DB_TYPE' => 'mysql',// 数据库类型

'DB_HOST' => '127001',// 数据库服务器地址

'DB_NAME' => 'thinkphp',// 数据库名称

'DB_USER' => 'root',// 数据库用户名

'DB_PWD' => '123',// 数据库密码

'DB_PREFIX' => 'tp_',// 数据表前缀

'DB_CHARSET' => 'utf8',// 网站编码

'DB_PORT' => '3306',// 数据库端口

'APP_DEBUG' => false,// 开启调试模式

);

>

也可以在最外边写,就是与ThinkPHP框架同一目录中写一个configphp文件,格式如同上面的一样,不过在Conf 文件夹里面的configphp中得包含最外边的那个configphp

希望对你有帮助!

M('table')->count();

见手册统计查询:

方法说明

Count 统计数量,参数是要统计的字段名(可选)

Max 获取最大值,参数是要统计的字段名(必须)

Min 获取最小值,参数是要统计的字段名(必须)

Avg 获取平均值,参数是要统计的字段名(必须)

Sum 获取总分,参数是要统计的字段名(必须)

统计查询

在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,ThinkPHP为这些统计 *** 作提供了一系列的内置方法,包括:

方法            说明

Count    

统计数量,参数是要统计的字段名(可选)  

Max    

获取最大值,参数是要统计的字段名(必须)  

Min    

获取最小值,参数是要统计的字段名(必须)  

Avg    

获取平均值,参数是要统计的字段名(必须)  

Sum    

获取总分,参数是要统计的字段名(必须)  

用法示例:

获取用户的最大积分:

$maxScore = $User->max('score');

数据库的读取能一次查询完成的尽量不要分成多次查询

不知道你用的是什么框架,如果有where_in方法的话可以用它来解决,先要构造出order_sn值的数组

没有的话就自己构造'or'条件字符串,然后用where一次查询完成

以上就是关于thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段全部的内容,包括:thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段、MongoDB在ThinkPHP里面怎么进行数据库 *** 作、ThinkPHP 查询不到数据库里面的内容是怎么回事, 我的配置文件是( 'DB_TYPE'=>'等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/9742352.html

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

发表评论

登录后才能评论

评论列表(0条)

保存