zoukankan      html  css  js  c++  java
  • MySQL和SQL Server基本语句总结(三)

    这一节主要总结一下在PHP中使用Mysql进行数据库的编程。

    使用MYSQL:

    常用函数

      1.mysql_connect(服务器名称,用户名,密码) //   判断连接  错误则使用 mysql_error 函数

      2.mysql_select_db() //选择数据库

      3.mysql_query() //执行语句 返回结果集 或者返回BOOL值

      4.对结果集的处理

        mysql_fetch_array// 取得结果集中的一行的数据  可以是数字 也可以是字段

        mysql_fetch_assoc  //数组 字段

        mysql_fetch_object //获取一行的对象 //用的较少 //但是是个趋势 转向面向对象

        mysql_fetch_row  //获取一行 数组保存  用的较多

        mysql_affected_rows // 影响的行数 用于判断

        mysql_free_result //释放结果集

        mysql_num_fields //取得字段的数目

        mysql_num_rows //取得行的数目

        mysql_close //关闭连接

      使用Mysqli:

        和上面差不多 不过所有的都被封装到一个类中

      1.实例化一个对象   new MySQLi(和上面一样,“数据库名称”);     ->connect_error 返回错误

      2.->select_db选择数据库  ///

      3.->query  //执行语句 这里还有批量执行多条语句 下面再说

      4.对结果集的处理

       ->fetch_row  ->fetch_array  ->fetch_assoc  ->fetch_object

       ->num_rows  ->field_count    ->free    ->close  //这些都和上面的函数一样 只不过被封装到类里面了

    上面是一些常用的基础性的用法

    下面来总结执行多条SQL 语句

    先看代码

    //执行插入操作

    $mysqli=new MySQLi("localhost","root","87129291","xiaoyuan"); 
    if ($mysqli->connect_error)
    	 die($mysqli->connect_error);
    $mysqli->query("set names gbk");
    $sqls="insert into prifession values(5,'信息');";  //这里注意最后写上分号
    $sqls.="insert into prifession values(6,'机械')";  
    if (!$mysqli->multi_query($sqls))
    	    die("插入失败");
    

     //执行获取结果集操作

     $mysqli=new MySQLi("localhost","root","87129291","xiaoyuan"); 
    if ($mysqli->connect_error) die($mysqli->connect_error); $mysqli->query("set names gbk"); $sqls="select *from prifession;"; $sqls.="select *from yuanxi;";
    if ($res=$mysqli->multi_query($sqls)) //执行多条语句 返回是BOOL值 { do { $rus=$mysqli->store_result(); // 获取到一个结果集 while($row=$rus->fetch_row()) { var_dump($row); echo "<br/>"; } echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br/>"; $rus->free(); //释放结果集 if (!$mysqli->more_results()) //判断是否还有 break; }while($mysqli->next_result()); //获取到下一个结果集 }

     下面总结事务处理

     代码

    $mysqli->autocommit(false); //关闭自动提交
    $sql1="update prifession set id=id+2 where id=5"; $sql2="update prifession1 set id=id+2 where id=6"; $d1=$mysqli->query($sql1); $d2=$mysqli->query($sql2); if (!$d1||!$d2) // 判断 是否错误 $mysqli->rollback(); //执行回滚操作 else $mysqli->commit(); //执行提交操作

    下面总结预编译

    预编译其实就是给数据库(服务器)提供一个模板 接下来的操作就不需要再进行编译 直接获取数据 这样可以很快的获取到或者添加等数据库里面大量的数据 (新手,用的不多)

    代码

     1.

             $sql="insert into prifession values(?,?)"; //这里问号是下面要增加的数据
    	 $mysqli_stmt=$mysqli->prepare($sql); //准备操作
    	 $id=80;
             $name="the yesterday"; 
    //绑定 i 整型 d double类型 s 字符串类型 $mysqli_stmt->bind_param("is",$id,$name); $b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); //执行上面的语句 $id=9; $name="ppp"; $mysqli_stmt->bind_param("is",$id,$name); $b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); $id=10; $name="qqq"; $mysqli_stmt->bind_param("is",$id,$name); $b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); $mysqli_stmt->close(); //关闭预编译指令 注意 这里一定要关闭预编译 否则后面的处理还是这套模板 会产生错误

     2.

      $sql="select name from prifession where id>?";
      $mysqli_stmt=$mysqli->prepare($sql);
      $id=10;
      $mysqli_stmt->bind_param("i",$id);
      $mysqli_stmt->bind_result($name); //增加了绑定结果集
      $mysqli_stmt->execute();
      while($mysqli_stmt->fetch()) // 获取结果到上面的变量中
          echo "$name<br/>";
      $id=1;
      $mysqli_stmt->bind_param("i",$id);
      $mysqli_stmt->execute();
      while($mysqli_stmt->fetch())
           echo "$name<br/>";
      $mysqli_stmt->free_result(); //释放结果集
      $mysqli_stmt->close(); //关闭预编译指令
    

    上面是PHP中数据库的常用操作,下面我会总结C++中的使用方法。

       

      

       

  • 相关阅读:
    node
    github
    [模块] pdf转图片-pdf2image
    python 15 自定义模块 随机数 时间模块
    python 14 装饰器
    python 13 内置函数II 匿名函数 闭包
    python 12 生成器 列表推导式 内置函数I
    python 11 函数名 迭代器
    python 10 形参角度 名称空间 加载顺序
    python 09 函数参数初识
  • 原文地址:https://www.cnblogs.com/fightfuture/p/3470959.html
Copyright © 2011-2022 走看看