MySQL数据库之用数据库脚本修改数据库数据的操作分享
小标 2019-03-06 来源 : 阅读 1845 评论 0

摘要:本文主要向大家介绍了MySQL数据库之用数据库脚本修改数据库数据的操作分享 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之用数据库脚本修改数据库数据的操作分享 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

MySQL数据库之用数据库脚本修改数据库数据的操作分享

数据库脚本


啊最近由于老版网站改版,改了些需求,改了改数据库。所以,要用数据库脚本修改数据库数据。主要是要将原来以VARCHAR形式存的时间戳改为DATETIME类型,且为自动赋值以当前时间。经过一番磨难,最后成果如下。

1

2

3

4

5

$servername = "localhost";

$username = "root";

$password "";

$dbname = "psych";//选择数据库

$table 'users1';


首先肯定是要先连接数据库啦。Dbname为数据库的名字。Table就是要修改的表。如果要同时修改多个表的话,可以给table变量赋一个一维数组。不过以上只是一些基础准备。Php7.0仿佛之前的mysql函数不能用了,所有要用mysqli对象来连接数据库。如下图。


1

2

3

4

$mysqli = new mysqli($servername, $username, $password, $dbname);

if (!$mysqli) {

    die('Not connected : ' . mysql_error());

}


运行 php sql.php命令,如果没有报错的话,就已经成功连接啦。


然后如果只是单纯的修改变量的话,只需要下面的代码。


1

2

3

4

5

$change_sql = "ALTER TABLE ".$table[$x]." CHANGE ".$name." ".$name." DATETIME DEFAULT CURRENT_TIMESTAMP ";

$change = $mysqli->query($change_sql);

if(!$change){

    echo mysql_error();

}


其中需要注意的是,如果要在sql语句中加入一个变量。如果是上图这样的,那在变量外加上“. $i .”就可以。但如果是下图这样。


1

2

$sql = "UPDATE ".$table[$x]." SET ".$name."='".$time."' WHERE id='".$id."'";

$res = $mysqli->query($sql);


在 WHERE id = 后赋变量,则需要用‘”. $i .”’来括起来。不过我也不是很确定啊,具体情况具体分析啦…


但是如果设计到了修改原有数据列,而且这一列本来就有数据时,就要复杂点啦。因为如果简单的将VARCHAR改为DATETIME的话,原有的数据就都清空了。所以要加一些其他的步骤。


1

$result_sql = "SELECT id,uploadtime FROM " . $table[$x] . "";


1

$result = $mysqli->query($result_sql);


首先用这几行代码,取出需要改变的那一列的原有数据。当然,如果要修改许多数据表的话,可以加一个while循环。


1

2

3

4

while($row = $result->fetch_array()){

    $arr[$i] = $row;

    $i++;

}


然后用这个将取出的数据处理为数组的形式,方便处理。


1

$count count($arr);


用这个函数计算该数组的条数。


1

2

3

4

5

6

7

8

9

10

11

    $j = 0;

    while($j < $count){

        $time date('Y-m-d H-i-s', $arr[$j][$name]);

   //       $time date('Y-m-d H-i-s', 1333958440);

        $id = $arr[$j]['id'];

        $sql = "UPDATE ".$table[$x]." SET ".$name."='".$time."' WHERE id='".$id."'";

        $res = $mysqli->query($sql);

        $j++;

    }

    $x++;

}


然后通过while循环来处理数据。进行更新。


如果这样运行还是不对,那就把改数据列中的数据在修改完类型后,把后来的数据处理为空(因为可能会有自动更新的数据),然后再进行更改。


          

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程