MYSQL表记录管理,删除/更新表记录,比较运算符操作,模糊/逻辑/范围内比较,匹配空/非空

MYSQL表记录管理,删除/更新表记录,比较运算符操作,模糊/逻辑/范围内比较,匹配空/非空

表记录管理

  1、删除表记录

    1、delete from 表名 where 条件;

    2、注意

      delete语句后如果不加where条件,所有记录全部清空

  2、更新表记录

    1、update 表名 set 字段1=值1,字段2=值2,... where 条件;

    2、注意

      必须加where条件

  3、练习(表hero)

    1、查找所有蜀国人的信息

      select * from hero where country="蜀国";

    2、查找所有女英雄的姓名、性别和国家

      select name,sex,country from hero 

      where sex="女";

    3、把id为2的记录改为典韦,性别男,国家魏国

      update hero set name="典韦",sex="男",country="魏国" where id=2;

    4、删除所有蜀国英雄

      delete from hero where country="蜀国";

    5、把貂蝉的国籍改为魏国

      update hero set country="魏国" 

      where name="貂蝉";

    6、删除所有表记录

      delete from hero;

4、运算符操作

  1、数值比较/字符比较

    1、数值比较 := != > >= < <=

    2、字符比较 := !=

    3、练习

      1、查找攻击力高于150的英雄的名字和攻击值

        select name,gongji from sanguo where gongji>150;

      2、将赵云的攻击力设置为360,防御力设置为68

        update sanguo set gongji=360,fangyu=68

        where name="赵云";

  2、逻辑比较

    1、and (两个或多个条件同时成立)

    2、or (任意一个条件成立即可)

    3、练习

      1、找出攻击值高于200的蜀国英雄的名字、攻击力

        select name as n,gongji as g from sanguo

  where gongji>200 and country="蜀国";

      2、将吴国英雄中攻击值为110的英雄的攻击值改为100,防御力改为60

        update sanguo set gongji=100,fangyu=60

  where country="吴国" and gongji=110;

      3、查找蜀国和魏国的英雄信息

        select * from sanguo 

  where country="蜀国" or country="魏国";

  3、范围内比较

    1、between 值1 and 值2

    2、where 字段名 in(值1,值2,...)

    3、where 字段名 not in(值1,值2,...)

    4、练习

      1、查找攻击值100-200的蜀国英雄信息

        select * from sanguo

  where gongji between 100 and 200 and

  country="蜀国";

      2、找到蜀国和吴国以外的国家的女英雄信息

        select * from sanguo

  where country not in("蜀国","吴国") 

  and sex="女";

      3、找到id为1、3或5的蜀国英雄 和 貂蝉的信息

        select * from sanguo

  where 

  (id in(1,3,5) and country="蜀国") or name="貂蝉";

  4、匹配空、非空

    1、空 :where name is null

    2、非空:where name is not null

    3、示例

      1、姓名为NULL值的蜀国女英雄信息

        select * from sanguo

        where

        name is null and country="蜀国" and sex="女";

      2、姓名为 "" 的英雄信息

        select * from sanguo where name="";

    4、注意

      1、NULL :空值,只能用 is 或者 is not 去匹配

      2、""   :空字符串,用 = 或者 != 去匹配

  5、模糊比较

    1、where 字段名 like 表达式

    2、表达式 

      1、_ : 匹配单个字符

      2、% : 匹配0到多个字符

    3、示例

      select name from sanguo where name like "_%_";

      select name from sanguo where name like "%";

        ## NULL不会被统计,只能用is、is not去匹配

      select name from sanguo where name like "___";

      select name from sanguo where name like "赵%";


最后编辑于:2019/10/03作者: 牛逼PHP

发表评论