美文网首页
sql基本介绍

sql基本介绍

作者: ISwiftUI | 来源:发表于2017-02-09 09:51 被阅读19次

    一、基本的sql操作语句

    1、增加,插入

    插入数据关键字是INSERT INTO 表名(字段一,字段二,字段三) VALUES(值一,值二,值三);(字段是不需要加引号的,值如果是字符串需要加引号,关键字可以小写,但一般不用);

    INSERT  INTO  product  (name,price,type)  VALUES  ("樱",88,"fruit") ;
    

    2、删除

    DELETE  FROM   表名   WHERE   条件语句;
    

    3、修改(更新)

    UPDATE   表名    SET   字段=“值”   WHERE    条件语句
    

    4、查询

    SELECT   *    FROM   表名   WHERE    条件语句
    
    • 代表所有字段;不给*可以指定字段,直接给字段名称,多个字段用逗号隔开;
      如果要统计查询出来的数据数量就用COUNT关键字来统计COUNT(*) COUNT(name)
    SELECT   *   FROM   `phone`    WHERE    price >= 3000
    

    5、条件语句

    条件语句:比较运算符或者是IN()关键字(某个字段在指定的值里面),NOT IN (某个字段不在指定的值里面)
    BETWEEN 值1 AND 值2 , 条件语句在值1和值2之间

    SELECT   *   FROM    `phone`    WHERE    id     IN (1,8,9);
    

    6、排序

    根据条件进行排序:ORDER BY 字段 顺序(正序(ASC)倒序(DESC)),不需要加WHERE

    SELECT   *   FROM   `phone`   ORDER   BY   price   DESC
    SELECT   *    FROM   `phone`    WHERE    price >= 3000   ORDER     BY    price   DESC
    

    7、限制语句

    限制语句:LIMIT 值1,值2;(值不能用括号括起来)(值1:从值1开始查询,不包含值1,值2是查询的个数)
    限制语句要放在最后

    SELECT   *   FROM   `phone`   LIMIT   3,3
    SELECT   *   FROM   `phone`    ORDER   BY   price   DESC   LIMIT   3,2
    

    检索前5个记录行

    SELECT   *   FROM   phone    LIMIT   5;
    

    限制语句主要用来做分页:已知:1.每一页显示的条数 (例子:条数2)2.当前页数(例子:当前页3);

    数据=LIMIT (当前页-1)*条数,条数
    

    8、模糊查询

    模糊查询 LIKE 前面和后面要加%

    SELECT   *   FROM   `phone`    WHERE    name    LIKE     "o%" ;
    SELECT   name,price    FROM    `phone`    WHERE    name   LIKE    "%e%"   ORDER   BY   price   DESC ;
    SELECT   name,price    FROM    `phone`    WHERE    name    LIKE    "%e%"    AND   id>3   ORDER    BY    price    DESC ;
    SELECT   *    FROM    product    WHERE    price >= 5    AND    name    LIKE    "%a%" ;
    

    9、关联查询,联表查询

    关键字 JOIN ON,这种是内联,跟INNER JOIN ON是一样的

    SELECT * FROM phone JOIN product ON phone.id=product.id
    

    左关联:LEFT JOIN ON,以左边的表为主表

    SELECT * FROM phone LEFT JOIN product ON phone.id=product.id
    

    右关联:RIGHT JOIN ON,以右边的表为主表

    SELECT * FROM phone RIGHT JOIN product ON phone.id=product.id
    

    关键字:AS

    SELECT * FROM phone AS ph RIGHT JOIN product AS pr ON ph.id=pr.id;
    

    二、连接数据库

    连接数据库语法上:

    • php版本如果是5.5以上的,我们用mysqli来连接数据库,
    • 5.5或5.5以下的用mysql来连接数据库
      输出php的版本:
      echo phpinfo();

    // PHP Version 5.6.14

    给数据库增加数据:

    1. 第一步链接数据库

    php版本如果是5.5以上的:支持面向对象的写法

    $link=mysqli_connect("localhost","root"," ","users");
    mysqli_errno(): //判断链接数据库是否有错误
    if(mysqli_errno($link)){
    //抛出错误
    print_r(mysqli_error($link));
    
    }else{
    
    echo"连接数据库成功";
    
    }
    

    第二步写添加sql语句:

    $sql="INSERT   INTO   phone   (name,price,type)    VALUES    ('魅族',3500,'64G')";
    

    设置编码格式:
    设置编码格式方式一:

    mysqli_query($link,"set names utf8");
    

    //设置编码格式方式二:

    // mysqli_set_charset($link, "utf8");
    

    第三步执行sql语句,添加数据到数据库:

    $res=mysqli_query($link, $sql);
    
    if($res){
    
    echo"添加成功";
    
    }else{
    
    echo"添加失败";
    
    }
    

    关闭数据库

    mysqli_close($link);
    
    //5.5或5.5以下的用mysql:面向过程写法,不支持面向对象
    
    //mysql_connect("localhost", "root", "");
    
    //mysql_select_db("users");
    

    三、数据库的增、删、改、查的函数

    增加、添加

    function    add($sql,$database){
    
    //连接数据库
    
    $link=mysqli_connect("localhost","root","", $database);
    
    //设置编码格式
    
    mysqli_query($link,"set names utf8");
    
    //执行sql语句
    
    $res=mysqli_query($link, $sql);
    
    //获取到添加数据的id
    
    //echo mysqli_insert_id($link);
    
    //获取前一次 MySQL 操作所影响的记录数
    
    //echo mysqli_affected_rows($link);
    
    return    $res;
    
    }
    
    //调用函数
    
    //$sql="INSERT INTO phone (name,price,type) VALUES ('华为',2569,'p9')";
    
    //$res=add($sql,"users");
    
    //if($res){
    
    //echo "添加成功";
    
    //}else{
    
    //echo "添加失败";
    
    //}
    删除
    
    function   delete($sql,$database){
    
    //连接数据库
    
    $link=mysqli_connect("localhost","root","", $database);
    
    //执行sql语句
    
    $res=mysqli_query($link, $sql);
    
    return    $res;
    
    }
    
    //调用删除
    
    //$sql="DELETE FROM phone WHERE type='64G'";
    
    //$res=delete($sql, "users");
    
    //if($res){
    
    //echo "删除成功";
    
    //}else{
    
    //echo "删除失败";
    
    //}
    更新
    
    function   update($sql,$database){
    
    //连接数据库
    
    $link=mysqli_connect("localhost","root","", $database);
    
    //设置编码格式
    
    mysqli_query($link,"set names utf8");
    
    //执行sql语句
    
    $res=mysqli_query($link, $sql);
    
    return     $res;
    
    }
    
    //调用更新
    
    //$sql="UPDATE phone SET name='金米' WHERE id=8";
    
    //$res=update($sql,"users");
    
    //if($res){
    
    //echo "更新成功";
    
    //}else{
    
    //echo "更新失败";
    
    //}
    查询
    只能获取一条数据的函数:
    
    function   getOne($sql,$database){
    
    //连接数据库
    
    $link=mysqli_connect("localhost","root","", $database);
    
    //设置编码格式
    
    mysqli_query($link,"set names utf8");
    
    //执行sql语句,获取结果集
    
    $result=mysqli_query($link, $sql);
    
    //通过结果集拿到结果方式一:
    
    $list=mysqli_fetch_assoc($result);//常用,关联数组的形式
    
    //通过结果集拿到结果方式二:
    
    //$list=mysqli_fetch_row($result);//索引数组的形式
    
    //通过结果集拿到结果方式三:
    
    //$list=mysqli_fetch_array($result);//索引数组和关联数组的形式结合
    
    //通过结果集拿到结果方式四:
    
    //$list=mysqli_fetch_object($result);//对象的格式
    
    //获取查询返回的记录数;
    
    $num=mysqli_num_rows($result);
    
    var_dump($num);
    
    //释放结果集
    
    //mysqli_free_result($result);
    
    if($list){
    
    return    $list;
    
    }else{
    
    return    false;
    
    }
    
    }
    
    //调用查询
    
    //$sql="SELECT * FROM phone WHERE id=14";
    
    //$list=getOne($sql, "users");
    
    //print_r($list);
    获取多条数据
    
    function     getList($sql,$database){
    
    //连接数据库
    
    $link=mysqli_connect("localhost","root","", $database);
    
    //设置编码格式
    
    mysqli_query($link,"set names utf8");
    
    //执行sql语句,获取结果集
    
    $result=mysqli_query($link, $sql);
    
    //通过结果集拿到结果:
    
    while($list=mysqli_fetch_assoc($result)) {
    
    $arr[]=$list;
    
    }
    
    if(!empty($arr)){
    
    return    $arr;
    
    }else{
    
    return    false;
    
    }
    
    }
    
    //调用查询
    
    //$sql="SELECT * FROM phone WHERE name='华为'";
    
    //$list=getList($sql, "users");
    
    //echo    "<pre>";
    
    //print_r($list);
    
    //echo    "</pre>";
    

    相关文章

      网友评论

          本文标题:sql基本介绍

          本文链接:https://www.haomeiwen.com/subject/nghiittx.html