之前使用thinkphp6写了一个网站,但是没有写后台在线更新的功能,每次更新都需要下载新的文件覆盖,数据表还得自己手动创建,给没有相关知识的人去使用就会比较难,所以我决定开发一个在线更新的功能。
封装了一些操作数据表的方法,方便创建和修改数据表字段,代码如下:
- 判断数据表是否存在
public function check_table($table){
$res = Db::query('SHOW TABLES LIKE '."'".$table."'");
if($res){
return 1;
}else{
return 0;
}
}
-
判断字段是否存在
public function check_column($table,$column){
$res = Db::query('select count(*) from information_schema.columns where table_name = '."'".$table."' ". 'and column_name ='."'".$column."'");
if($res[0]['count(*)'] != 0){
return 1;
}else{
return 0;
}
}
-
添加字段
public function add_column($table,$column,$type,$condition,$after){
$res = Db::execute('alter table'." `".$table."` ".'add'." `".$column."` ".$type." ".$condition." ".'after'." `".$after."`");
if($res){
return 1;
}else{
return 0;
}
}
-
删除字段
public function del_column($table,$column){
$res = Db::execute('alter table '."`".$table."`".' drop column'."`".$column."`");
if($res){
return 1;
}else{
return 0;
}
}
-
修改字段
public function update_column($table,$old_column,$column,$type){
//字段名和类型同时修改才会返回1不然返回0
$res = Db::execute('alter table' ." `".$table."` ". 'change' ." `".$old_column."` " ."`".$column."`" .$type);
if($res){
return 1;
}else{
return 0;
}
}