<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'=>'等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)