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 ...
随机推荐
- visual studio 2015 安装MSDN全称Microsoft Developer Network 安装离线的MSDN
MSDN: 微软向开发人员提供的一套帮助系统,其中包含大量的开发文档,技术文章和示例代码. 这里介绍了vs2015 装离线的MSDN(说明一点是,如果不行,说明你的文件有缺陷,没安装好,之前我用vs2 ...
- C/C++ 中 exit() 函数
参考: https://blog.csdn.net/jjjcainiao/article/details/21935795 知乎上的问题]C/C++ 中 exit() 函数的参数到底有什么意义? C ...
- for循环迭代可迭代对象
模仿for循环迭代可迭代对象,# for i in Iterable:# iterable >>> 迭代器.iterator# 可迭代对象 iterable# 迭代器.iterato ...
- 推荐Java字节码解析工具classpy
Classpy Classpy is a GUI tool for investigating Java class file, Lua binary chunk, Wasm binary code, ...
- volatile型变量语义讲解一 :对所有线程的可见性
volatile型变量语义讲解一 :对所有线程的可见性 一.volatile变量语义一的概念 当一个变量被定义成volatile之后,具备两个特性: 特性一:保证此变量对所有线程的可见性.这里的&qu ...
- spring boot:shardingsphere+druid多数据源整合seata分布式事务(spring boot 2.3.3)
一,为什么要给shardingsphere配置多数据源? 1,shardingjdbc默认接管了所有的数据源, 如果我们有多个非分表的库时,则最多只能设置一个为默认数据库, 其他的非分表数据库不能访问 ...
- 使用原生js模拟jQuery选择器,实现new方法,兼容ie5
// 考虑到兼容ie5,未使用es6语法 /* 使用方法: 在<head>标签中(需使用ready方法): <script src="./jQuery2.js"& ...
- wifi - 攻击环境准备
1.Windows 环境准备 对于Windows系统,只需要Windows XP SP2以上就行了,安装对应网卡驱动 2.Linux 环境准备 绝大多数黑客会选择Linux作为测试平台,因为绝大多数无 ...
- 【转】Python 魔法方法大全
转载自鱼C论坛:http://bbs.fishc.org/thread-48793-1-2.html 据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Pyt ...
- DefenseCode宣布集成GitHub为开发人员提供SAST解决方案
DefenseCode集团宣布,DefenseCode静态应用程序安全测试(SAST)ThunderScan解决方案现可作为一个GitHub Action,提供30多种语言的安全漏洞分析,并将详细的漏 ...