最新版MySQL操作---语句规范

来源:互联网 发布:java并发编程 用途 编辑:程序博客网 时间:2024/06/06 05:23

还记得我第一次学习MySQL是在不到九月份,仅仅两个多月的时间,现在再看MySQL就全然换了一番模样了,又惊奇又无奈啊,毕竟“人之初,性本惰”啊,很尴尬,就这样我们就又得学习新的知识。但是,从另一个角度来说其实是有好处的,年长者说的“活到老学到老”也是很有道理的对不对,哈哈,好了,不扯闲篇了,现在萍子来说说目前已了解到的MySQL的新变化,大家一起来看看吧。
说实话,虽然MySQL的变化不算太大,但是在某些地方也还是简单了一些的,接下来,我们会根据操作MySQL的步骤,一步步的对比着说说变化。Let`s begin~
接下来,就假设我们的:
数据库名为My_Second_DB
数据表名为menu

第一:链接数据库

旧:    $link1 = mysql_connect("localhost/主机名","root/账号","无/密码","My_Second_DB/数据库名");新:    $link2 = mysqli_connect("localhost","root","","My_second_DB");

第二:统一编码格式

旧:    mysql_query($link1,"set names utf8");新:    mysqli_set_charset($link2,"utf8");

这二者其实现在还都可以用,但是建议还是用新版的。
而且相应的数据库的编码设置-排序规则也应该设置为utf8的格式。


第三:SQL语句

这里我们来拿插入语句做例句:

旧:    //在旧的sql语句中,这样写就足够往数据库里插入一条数据了    $sql1 = "insert into menu(name,price,img) values('$name','$price','$pic')";新:    //而在新的sql语句中,要注意引号的问题    //这样,menu的字段在写的时候,不加引号也还是可以的    $sql2 = "insert into menu(name,price,img) values('$name','$price','$pic')";//对对对    //但是如果加了单引号就是错误的,这个错误系统不会报错,但是想要的结果是出不来的,需要多加注意    $sql2 = "insert into menu('name','price','img') values('$name','$price','$pic')";//错错错    //而是需要加反引号,不是引号哦,注意注注意!!!    $sql2 = "insert into menu(`name`,`price`,`img`) values('$name','$price','$pic')";//对对对

第四:解析结果

执行了第三书写SQL语句,接下来就需要通过一些方法解析出我们需要的结果了。
在这一步,没有什么大变化,只是mysql这个扩展在5.5以后就不支持了,但是有些产品里面还是会用老接口。我们呢,我们最好使用mysqli,不再用mysql。
这样就意味着,之前方法里的mysql都需要改写成mysqli,这一点一定要注意哦。
然后我们在之前的博文MySQL操作步骤的解析语句的基础上,添加一个方法,相比于之前的那些,这个方法会比较简洁。

//首先要先执行SQL语句对数据库的查询$result = mysqli_query($link,$sql2);//我们要说的另一种简单的解析结果的语句mysqli_fetch_all(),返回结果集中所有的记录有两个参数:    一参是查询结果;    二参是解析方式:         不写的话,默认MYSQLI_NUM,也就是说是索引数组的方式返回数据;        也可以设置为MYSQLI_ASSOC,以关联数组的方式返回数据;         或者MYSQLI_BOTH,以上两种都有。$all = mysqli_fetch_all($result);

以上这种方式,就避免了使用类似于mysqli_fetch_assoc等方法,需要使用while()循环的麻烦,嘚瑟嘚瑟~
当然了,也不是说其他的方法就没有存在的必要了,具体用哪一种,也是要看大家的实际情况的。


第五步:关闭数据库

这个没啥好说的,再怎么变,这个是不会变的,只要把mysql_close()改成mysqli_close()就好了。


好了,以上就是我所知道的,所有的mysql操作的变化,希望对大家有所帮助。

原创粉丝点击