thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段
?php
创新互联是专业的甘南网站建设公司,甘南接单;提供成都网站设计、网站建设、外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用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;
}
}
PHP MYSQL 复制字段并修改名称写入到另个字段
UPDATE table SET
DATA=DATE(LEFT(num,8)),
xuhao=RIGHT(num,2)
left--取左,8位
right--取右 2位,
date--日期格式化
PHPstorm自带的mysql如何修改字段类型
找到文件目录地址,然后用文本编辑器(记事本、phpstorm、sunlime)打开,
修改里面的数据库信息,例如下面
‘DB_TYPE' = 'mysql', // 数据库类型
'DB_HOST' = 'localhost', // 服务器地址
'DB_NAME' = 'thinkphp', // 修改成你自己数据库名
'DB_USER' = 'root', // 用户名
'DB_PWD' = '123456', // 密码
'DB_PORT' = 3306, // 端口一般不需要设置
如何将PHP后台数据库查询结果的英文数据库当中的字段名称修改为中文名称?
用php调用存储过程,就可以了。
存储过程不会的话,先将查询的结果集保存为数组,在foreach遍历数组对要修改的字段进行编辑,在执行update。
本文标题:php修改数据库字段名称 php修改数据库内容
标题来源:http://scgulin.cn/article/doiodsg.html