MySQL数据库查、改、增、删知识点

 常见数据库:MySQL、Oracle、Sqlserver、DB2

 

MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。最流行的关系型数据库管理系统之一

 

关系数据库优点:

  1.  数据间的耦合性低
  2.  冗余数据减少
  3.  关联数据完整

                1.  数据查询

1.1  基本查询:

  查询格式 : select  字段1,字段2  from 表名     注:可以使用 * 来代替表中的所有字段

    案例1   查询 cate 表中所有栏目的id和了栏目名称信息:  select cate_id,cate_name from cate

    案例2   查询 admin 表中的所有信息 :select * from admin

 

1.2  where查询:

    

   1.2.1使用比较查询:

    案例3   查询id值大于等于2的栏目的所有信息: select * from cate where cate_id>='2'

   1.2.2使用范围查询:

    between…and…  表示包含边界值       

    not between…and…  表示不包含边界值

    in(数据1,数据2,…)表示筛选符合数据条件的信息

    not in(子查询)表示筛选不符合子查询结果的信息

    案例4   查询年龄在20-30之间的管理员信息: select * from admin where admin_age between 20 and 30

    案例5   查询id值大于3并且小于6的管理员信息: select * from admin where admin_id not between 3 and 6

    案例6   查询年龄为18、25的管理员信息: select * from ali_admin where admin_age in (18,25)

    案例7   查询年龄不为18、25的管理员信息: select * from ali_admin where admin_age not in (select * from ali_admin where admin_age in (18,25))

  1.2.3使用 like + 通配符 模糊查询:

    %:表示任意长度(包括0)的任意字符

    _ :表示1位长度的任意字符

    like:表示匹配

    not like:表示不匹配

    案例8   查询包含“科技”关键词的文章信息: select * from article where article_content like '%科技%'

  1.2.4使用多重条件查询:

    and:表示 并

    or:表示 或 

    案例9   查询年龄大于25的男性管理员信息:select * from admin  where admin_age > 25  and admin_gender='男

   

1.3  order by 排序查询:

  对查询结果按某个字段的升降序进行排序     升序(默认值):asc      降序 :desc

    案例10     查询 cate 表所有的栏目信息,并按别名的降序排列: select * from cate order by cate_slug desc

 

1.4  limit 限制查询:

  限制查询结果的起始点与结果长度

  格式:limit 参数1(起始点,值从0开始),参数2(查询结果的长度)    注:一般与排列查询配合使用

     案例11   查询 cate 表所有的栏目信息,并取发布时间最新的前五条信息: select * from cate order by cate_addtime desc limit 0,5

 

1.5  group by 分组查询: 

    案例12   查询统计男女管理员的数量: select admin_gender,count(*) num from admin group by admin_gender

       注意:代码中多添加了一个 count(*)num 参数,是为了统计数据而建立的字段

 

1.6  join…on…多表查询:

  使用 join…on… 将两表连接之后进行其他操作

    案例13   查询统计每个管理员发布的文章数量,显示作者名:

      //查询作者名 

      select admin_nickname,count(*) from ali_article art(给 ali_article 表起一个代号为 art)

      join ali_admin adm(给 ali_admin 表起代号为 adm on 

      art.article_adminid=adm.admin_id(给 art与adm 两个表建立联系)

      group by admin_nickname(分组统计作者名)

    案例14   查询所有文章信息,显示作者使用昵称,显示栏目使用栏目名:

      //查询了所有的文章信息还有作者的昵称以及栏目名

      select select article_title,article_desc,article_content,admin_nickname,cate_name from ali_article art

      join ali_cate cat on

      art.article_cateid=cat.cate_id

      join ali_admin adm on 

      art.article_adminid=adm.admin_id

 

                 2.  添加数据

       核心代码:insert  into  表名(字段1,字段2,字段3,…) values(值1,值2,值3,…)

         注:字段的顺序与值的顺序是完全匹配

                 3.  修改数据

 

       核心代码:update  表名  set  字段1=值1,字段2=值2,…  where  修改数据位置标志 

     

          4.  删除数据

       核心代码: delete  from  表名  where  删除位置标志

     

 

posted @ 2018-10-16 17:49  LemonTeaQueen  阅读(277)  评论(0)    收藏  举报