首页 > 数据库技术 > 详细

MySQL的学习

时间:2019-06-27 10:12:57      阅读:144      评论:0      收藏:0      [点我收藏+]

MySQL的学习

 

一、SQL分类

     ——DDL:数据定义语句,如create, drop 等

     ——DQL:select

     ——DML:数据操纵语句,如insert, update 等

     ——DCL: 数据控制语句,如grant, revoke 等

     ——TCL: 事务控制语句,如 commit, rollback等

     (1)create 创建表,创建视图等;drop删除表,删除视图等。

     (2)select 查询。

     (3)insert 插入新数据,update更新数据。

     (4)grant授权,revoke撤销授权。

     (5)commit提交事务,rollback回滚。

 

二、函数

       (1)字符函数

              Concat( str1, str2, … )       连接字符串

              技术分享图片

 

              Insert( str, pos, len, newstr )  str从第pos位置开始的共len个字符用newstr代替

             技术分享图片

 

              Lower(str)                 转成小写

             技术分享图片

 

              Upper(str)                 转成大写

             技术分享图片

 

              Length(str)                返回str的长度

             技术分享图片

 

              Char_length(str)            返回str的长度

             技术分享图片

 

              Lpad(str, len, padstr )       返回长度为len的字符串,左边由padstr填充,原串长度如果大于len则从左边截取出长为len的串。

             技术分享图片技术分享图片

 

 

              Rpad(str, len, padstr )       返回长度为len的字符串,右边由padstr填充,原串长度如果大于len则从右边截取出长为len的串。

              技术分享图片技术分享图片

 

 

              Trim(str)                  去掉str的前后缀空格

              技术分享图片

 

              Repeat(str, count )          str重复count次

             技术分享图片

 

              Replace( str, from_str, to_str ) 用to_str代替str中所有from_str

              技术分享图片

 

              Substring( str, pos, len )      返回str中从pos位置起的共len个字符

             技术分享图片

 

       (2)数值函数

             技术分享图片

       (3)日期和时间函数

             技术分享图片

 

       (4)流程函数

             技术分享图片

 

       (5)其他函数

             技术分享图片

三、查询

       select

            – select 列 -- 选择列

               from 表名-- 选择表

               where 条件-- 满足条件

               group by 列-- 结果分组

               having 条件-- 分组结果过滤

               order by 列-- 排序

               limit 开始位置, 数量 -- 结果限定

四、模糊查询

       模糊查询like

            – _:匹配任何单个字符

            – %:匹配任何数量字符

 

练习:查询名字为SCOTT的员工记录

          技术分享图片

• 查询名字为SCOTT以外的员工记录

           技术分享图片

• 查询薪水大于3000的员工记录

          技术分享图片

• 查询薪水在2000 ~ 5000之间的员工记录

           技术分享图片

 

• 查询部门编号是10,20的员工记录

           技术分享图片

• 查询名字以’A’开头的员工记录

          技术分享图片

• 选择在1987年雇用的员工记录

            技术分享图片

• 查询工资提高百分之20%后的结果

           技术分享图片

 

 

五、分组查询

           技术分享图片

 

    • 分组group by

        – Select列表中包含组函数,那么select中的列,或者出现在组函数中,或者出现在group by中

        – where中不能出现组函数

    • 分组结果过滤having

 

六、排序

    • 排序order by 子句 (asc升序,缺省; desc 降序)

        – 按别名排序

        – 多个列排序

 

练习:

• 查询员工按部门编号,薪水排序

              技术分享图片

• 查询员工的姓名,以及在公司工作的月份数,并按月份数降序排列

              技术分享图片

七、子查询

    • 子查询

        – 为了给主查询提供数据而先执行的查询称为子查询

        – 子查询要包含在括号内

        – 将子查询放在比较条件的右侧

        – 单行操作符对应单行子查询,多行操作符对应多行子查询

    • 单行子查询

        – = / > / >= / < / <= / <> / !=

    • 多行子查询

        – IN / ANY / ALL

 

练习

• 查询月薪最高的员工的名字

             技术分享图片

 

• 查询每个部门的平均月薪

             技术分享图片

 

• 查询月薪比平均月薪高的员工的名字

             技术分享图片

 

• 查询管理者是king的员工姓名和工资

             技术分享图片

 

八、事务语句:

    开启事务:Start Transaction

    事务结束:End Transaction

    提交事务:Commit Transaction

    回滚事务:Rollback Transaction

 

练习:

             技术分享图片

 

MySQL的学习

原文:https://www.cnblogs.com/gaojinmanlookworld/p/11095349.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!