zoukankan      html  css  js  c++  java
  • PHP生成SQL基本操作增删查改拼接代码

     1 <?php
     2 function create_sql_string($curdb){
     3     $conn=mysql_connect('localhost','root','ubt');
     4     mysql_select_db('information_schema',$conn);
     5 
     6     //查询当前数据库所有表的表名
     7     $sqlcmd=sprintf("SELECT `TABLE_NAME` FROM `TABLES` WHERE `TABLE_SCHEMA`='%s'",$curdb);
     8 
     9     $res_tablename=mysql_query($sqlcmd);
    10     $f=fopen('cbc.sql','w+');
    11     while($tablename=mysql_fetch_assoc($res_tablename)){
    12         //查询当前表中所有字段信息
    13         $sqlcmd=sprintf("SELECT * FROM `COLUMNS` WHERE `TABLE_SCHEMA`='%s' AND `TABLE_NAME`='%s'",
    14                         $curdb,$tablename['TABLE_NAME']);
    15         $res=mysql_query($sqlcmd);
    16         $i=0;
    17         $primay_key="";
    18         $primay_val="";
    19         $insert_key="";
    20         $insert_fmt="";
    21         $insert_val="";
    22         $update_val="";
    23         while ($record=mysql_fetch_assoc($res)){
    24             if($record['COLUMN_KEY']=='PRI'){
    25                 $primay_key=($record['NUMERIC_PRECISION']=="")?
                      ("`".$record['COLUMN_NAME']."`='%s'"):
                      ("`".$record['COLUMN_NAME']."`=%s"); 26 $primay_val="$_GET['".$record['COLUMN_NAME']."']"; 27 28 } else { 29 30 if ($i>0) { 31 $insert_key.=','; 32 $insert_fmt.=','; 33 $insert_val.=','; 34 $update_val.=','; 35 } 36 $insert_key.='`'.$record['COLUMN_NAME'].'`'; 37 38 //字符串型的字段和数值型的字段分别处理 39 if ($record['NUMERIC_PRECISION']=="") { 40 $insert_fmt.="'%s'"; 41 $insert_val.=("$_POST['".$record['COLUMN_NAME']."']"); 42 $update_val.=("`".$record['COLUMN_NAME']."`='%s'"); 43 } else { 44 $insert_fmt.="%s"; 45 $insert_val.=("$_POST['".$record['COLUMN_NAME']."']"); 46 $update_val.=("`".$record['COLUMN_NAME']."`=%s"); 47 } 48 49 ++$i; 50 } 51 } 52 53 /* 54 **增加记录 55 **sprintf("INSERT INTO `TABLE_NAME`(`COLUMN_NAME1`,`COLUMN_NAME1` ...) VALUES('%s','%s' ...)", 56 ** $POST['COLUMN_NAME1'],$POST['COLUMN_NAME2'],...); 57 ** 58 **修改记录 59 **sprintf("UPDATE `TABLE_NAME` SET `COLUMN_NAME1`='%s',`COLUMN_NAME2`='%s' ... WHERE `id`=$s", 60 ** $POST['COLUMN_NAME1'],$POST['COLUMN_NAME2'], ... , 61 ** ID); 62 ** 63 **删除记录 64 **sprintf("DELETE FROM `TABLE_NAME` WHERE `id`=%s", 65 ** ID); 66 ** 67 **查找记录 68 **sprintf("SELECT `COLUMN_NAME1`,`COLUMN_NAME2`, ... FROM `TABLE_NAME` WHERE `id`=%s", 69 ** ID); 70 */ 71 72 $sqlcmd_insert=sprintf("INSERT INTO `%s`(%s) VALUES(%s)",
                        $tablename['TABLE_NAME'],$insert_key,$insert_fmt); 73 $sqlcmd_update=sprintf("UPDATE `%s` SET %s WHERE %s",
                        $tablename['TABLE_NAME'],$update_val,$primay_key); 74 $sqlcmd_delete=sprintf("DELETE FROM `%s` WHERE %s",
                        $tablename['TABLE_NAME'],$primay_key); 75 $sqlcmd_select=sprintf("SELECT %s FROM `%s` WHERE %s",
                        $insert_key,$tablename['TABLE_NAME'],$primay_key); 76 fprintf($f, "/*添加记录*/ $sqlcmd=sprintf("%s",%s); ",
                  $sqlcmd_insert,$insert_val); 77 fprintf($f, "/*修改记录*/ $sqlcmd=sprintf("%s",%s); ",
                  $sqlcmd_update,$primay_val); 78 fprintf($f, "/*删除记录*/ $sqlcmd=sprintf("%s",%s); ",
                  $sqlcmd_delete,$primay_val); 79 fprintf($f, "/*查找记录*/ $sqlcmd=sprintf("%s",%s); ",
                  $sqlcmd_select,$primay_val); 80 fwrite($f, " "); 81 } 82 fclose($f); 83 mysql_close(); 84 } 85 ?>
  • 相关阅读:
    tensorflow 2.0 学习 (十) 拟合与过拟合问题
    tensorflow 2.0 学习 (九) tensorboard可视化功能认识
    tensorflow 2.0 学习 (八) keras模块的认识
    tensorflow 2.0 学习 (七) 反向传播代码逐步实现
    tensorflow 2.0 学习 (六) Himmelblua函数求极值
    tensorflow 2.0 学习 (五)MPG全连接网络训练与测试
    arp协议简单介绍
    Pthread spinlock自旋锁
    线程和进程状态
    内核态(内核空间)和用户态(用户空间)的区别和联系·
  • 原文地址:https://www.cnblogs.com/codetown/p/3386856.html
Copyright © 2011-2022 走看看