php 之批量生成 mysql 语句 注释
工作需要 需要更新 所有表的注释 不影响原结构之上进行更新
<?php
class Ceshi extends CI_Controller{
function __construct()
{
parent::__construct();
/* 加载项 */
$this->load->model('Convers', 'conv');
}
/**
/**
* 获取所有数据
*/
public function ceshi(){
//获取所有的账户信息
$result=$this->conv->getAdmininfo();
//获取所有的专家信息
$result11=$this->conv->getPart11();
//循环账户信息
//获取账户的uid和名称
//将名称和专家的单位想比较 然后进行替换uid
foreach($result as $val){
foreach($result11 as $val1){
//这里更新的是 某些数据没有单位 是以id显示的 所以统一更新为单位
// if($val1['danweimingcheng_12']!==$val1['xuhao_12']){
// $a=$this->conv->SaveName($val1['id'],$val1['danweimingcheng_12']);
// if($a>0){
// echo "更新成功单位为".$val1['danweimingcheng_12']."</br>";
// }
// }else{
// continue;
// }
if($val['admin_name']==$val1['xuhao_12']){
$a=$this->conv->SaveUid($val1['id'],$val['admin_id']);
if($a>0){
echo "更新成功ID为".$val1['id']."</br>";
}
}else{
continue;
}
}
}
}
public function uptijiao(){
//省厅提交 学校提交
$result11=$this->conv->getPart11();
$result=$this->conv->getAdmininfo();
//学校提交为1; xx_tijiao
//省厅提交为1 st_tijiao
foreach($result as $val){
foreach($result11 as $val1){
if($val1['uid']==$val['admin_id']){
$data['xx_tijiao']=1;
$data['st_tijiao']=1;
$a=$this->conv->SaveST($val1['id'],$data);
if($a>0){
echo "更新成功ID为".$val1['id']."</br>";
}
}else{
continue;
}
}
}
}
//获取表的注释:
public function getdescs(){
//获取表结构
$talbe=$this->conv->getTable();
foreach($talbe as $v){
echo "--当前表:".$v."----</br>";
//var_dump($this->conv->getDesc($v));
$ceshi=$this->conv->getDesc($v);
//循环查询表的字段信息
foreach($ceshi as $val){
// $this->AlterContent($v,$val);
if($val['Collation']=="utf8_general_ci"){
$where="CHARACTER SET utf8 COLLATE {$val['Collation']}";
}else{
$where="";
}
if($val['Null']=="YES"){
$nus="NULL";
}else{
$nus="NOT NULL";
}
if($val['Default']=="NULL"){
$defaul=" ";
}else{
$defaul="DEFAULT '{$val['Default']}' ";
}
echo "ALTER TABLE `{$v}` CHANGE `{$val['Field']}` `{$val['Field']}` {$val['Type']} {$where} {$nus} {$defaul} COMMENT '{$val['Comment']}';"."</br>";
}
}
}
//情况分析第一种
function AlterContent($v,$val){
//编码不为null 但是 允许空值
if($val['Collation']=="utf8_general_ci" && $val['Null']=="YES" ){
echo "ALTER TABLE {$v} CHANGE {$val['Field']} {$val['Field']} {$val['Type']} CHARACTER SET utf8 COLLATE {$val['Collation']} NULL DEFAULT {$val['Default']} COMMENT '{$val['Comment']}';"."</br>";
}
//编码不为null 但是不 允许空值
if($val['Collation']=="utf8_general_ci" || $val['Null']=="No"){
echo "ALTER TABLE {$v} CHANGE {$val['Field']} {$val['Field']} {$val['Type']} CHARACTER SET utf8 COLLATE {$val['Collation']} NOT NULL DEFAULT '{$val['Default']}' COMMENT '{$val['Comment']}';"."</br>";
}
if($val['Collation']!="utf8_general_ci" || $val['Null']=="YES"){
echo "ALTER TABLE {$v} CHANGE {$val['Field']} {$val['Field']} {$val['Type']} CHARACTER SET utf8 COLLATE {$val['Collation']} NOT NULL DEFAULT '{$val['Default']}' COMMENT '{$val['Comment']}';"."</br>";
}
if($val['Collation']!="utf8_general_ci" || $val['Null']=="No"){
echo "ALTER TABLE {$v} CHANGE {$val['Field']} {$val['Field']} {$val['Type']} CHARACTER SET utf8 COLLATE {$val['Collation']} NOT NULL DEFAULT '{$val['Default']}' COMMENT '{$val['Comment']}';"."</br>";
}
}
}
model
<?php
/**
* @Name DownLoadModel.php
* @Note 数据下载模型
* @Author caotl
* @Created 2016-01-05 11:22:14
* @Version go!cms 1.0.0
*
*/
class Convers extends CI_Model
{
function __construct()
{
parent::__construct();
} public function getAdmininfo(){ $result=$this->db->get('t_admin_info')->result_array(); return $result; } public function getPart11(){ $result=$this->db->get('t_part11')->result_array(); return $result; } public function SaveUid($id,$uid){
$row=$this->db->where('id',$id)->update('t_part11',array('uid'=>$uid)); return $row;
}
/**
* 修改同样的名称
*/
public function SaveName($id,$name){
$row=$this->db->where('id',$id)->update('t_part11',array('xuhao_12'=>$name)); return $row;
} //学校更新省厅更新
public function SaveST($id,$data){
$row=$this->db->where('id',$id)->update('t_part11',$data); return $row;
} //获取所有的表名称 public function getTable(){
$row=$this->db->list_tables(); //获取所有的表数组 return $row;
} public function getDesc($str=""){
//$rows="show create table ".$str;
$rows="SHOW FULL COLUMNS FROM ".$str;
$query=$this->db->query($rows);
$result=$query->result_array();
return $result;
} }
?>
php 之批量生成 mysql 语句 注释的更多相关文章
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- 将表里的数据批量生成INSERT语句的存储过程 继续增强版
文章继续 桦仔兄的文章 将表里的数据批量生成INSERT语句的存储过程 增强版 继续增强... 本来打算将该内容回复于桦仔兄的文章的下面的,但是不知为何博客园就是不让提交!.... 所以在这里贴出来吧 ...
- powerdesigner生成mysql带注释的ER图
1.安装PowerDesigner的 参考 https://blog.csdn.net/sinat_34104446/article/details/79885141 2配置逆向工程 2.1新建模型p ...
- 通过存储过程批量生成spool语句
过存储过程批量生成spool语句 CREATE OR REPLACE PROCEDURE pro_yx_full_txt IS export_handle UTL_FILE.file_type; v_ ...
- 转载-用excel批量生成insert语句
用excel批量生成insert语句 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/h ...
- 批量生成sql语句,难得
在工作我们常常要批量生成sql文件,因为业务部门经常给我们的是excel文件,根据我的经验,推荐两种批量生成sql文件方式 1.excel批量生成sql ,sql语句如下 INSERT INTO Ta ...
- 自由导入你的增量数据-根据条件将sqlserver表批量生成INSERT语句的存储过程实施笔记
文章标题: 自由导入你的增量数据-根据条件将sqlserver表批量生成INSERT语句的存储过程增强版 关键字 : mssql-scripter,SQL Server 文章分类: 技术分享 创建时间 ...
- python批量生成SQL语句
1,首先写一条能运行成功插入SQL的语句 INSERT INTO sign_guest(realname,phone,email,sign,event_id)VALUES("jack&quo ...
- 将表里的数据批量生成INSERT语句的存储过程
有时候,我们需要将某个表里的数据全部导出来,迁移到另一个相同结构的库中,这里可以采取一个简便的方法,通过一个存储过程批量导出数据并生成SQL语句,非常方便.存储过程如下: )) as begin de ...
随机推荐
- matlab中uicontrol创建用户界面控件
来源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_s ...
- MATLAB中exist函数的用法
exist:exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a) 若 a 存在,则 b = 1: 否则 b = 0:2. b = e ...
- vue拼图动画Demo
这是一个基于vue的Demo,可以实现拼图动画,但是具体的没有写拼图成功的逻辑,鼠标悬停移动.周期刷新 我把它放到的我的博客园界面上了.刷新界面可以看到. 演示地址 :https://liruilon ...
- 在Windows7中打开照片,提示“Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足。....”
在Windows7中打开照片,提示"Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足.请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果硬盘几乎已满),然后重试. ...
- 每日一题 LeetCode 42.接雨水 【双指针】
题目链接 https://leetcode-cn.com/problems/trapping-rain-water/ 题目说明 题解 主要方法:双指针 + 正反遍历 解释说明: 正向遍历:先确定池子左 ...
- 使用docker搭建redis服务器记录
#mkdir /home/redishome#mkdir /home/redishome/data#chmod -R 777 /home/redishome把redis.conf传到/home/red ...
- 【python】python返回结果多了none(递归时)
把每个返回值的print使用return替代即可 例子: def trim(s): if s[:1]==" ": s=s[1:] retrim(s) elif s[-1:]==&q ...
- 从源码的角度解析Mybatis的会话机制
坐在我旁边的钟同学听说我精通Mybatis源码(我就想不通,是谁透漏了风声),就顺带问了我一个问题:在同一个方法中,Mybatis多次请求数据库,是否要创建多个SqlSession会话? 可能最近撸多 ...
- day31 Pyhton 总结
# 什么是封装? # 广义上(大家认为的) : # 把一类事务的相同的行为和属性归到一个类中 # class Dog: # def bite(self):pass ...
- json对象去重,根据指定字段
function FilterByName(data, Name) { //data是json对象,Name是根据什么字段去重 var map = {}, dest = []; for (var i ...