百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 怎样查询mysql语句
分享文章到:

怎样查询mysql语句

发布时间:01/01 来源:未知 浏览: 关键词:

查询mysql语句的办法:查询一张表中的记载时,代码为【select * from 表名 where name='long' and age ='18'】,from后面加表名,where后面是前提,select后面是挑选出的字段。

本教程操纵环境:windows7系统、mysql8.0.22版,该办法适用于所有品牌电脑。

相关免费学习引荐:mysql视频教程

查询mysql语句的办法:

在mysql中 查询一张表中的记载的时候

  书写次序是: select * from 表名 where name='long' and age ='18';

但是mysql中的施行次序是

  •   from 后面加表名 肯定你是那张表

  •   where后面是前提 通过前提 来挑选这表的内容

  •   select后面是 你where挑选出的数据中的 某些字段 * 是所有字段

  # 查询语句施行的结果也是一张表,可以看成虚拟表

我们创立一张 emp的员工表

当我们的字段特殊多的时候 结果的排版大概会显现混乱现象 我们可以在查询语句末尾 加上\G来标准查询结果

select * from 表名\G;

当我们碰到一个需求时 如何来剖析? 例如

1.查询id大于等于3小于等于6的数据

   给你展现下实际操纵 1.先肯定 来自哪一张表 from emp 2. 挑选前提 where id >= 3 and id <=6; 3.select *

   select * from emp where id >= 3 and id <= 6;
    select * from emp where id between 3 and 6;  between 等价于id >= 3 and id <= 6

2.查询薪资是20000或者18000或者17000的数据

    select id,name from emp where salary = 20000 or salary = 18000 or salary = 17000;
    select id,name from emp where salary in (20000,18000,17000);

3.查询员工姓名中包括o字母的员工姓名和薪资

含糊匹配 % 匹配多个任意字符 _ 匹配 一个任意字符

select name,salary from emp where name like '%o%';

4.查询员工姓名是由四个字符组成的员工姓名与其薪资 

select name, salary from emp where length(name) =4;
select name ,salary from emp where name like "____"

5.查询id小于3或者大于6的数据

select * from emp where id<3 or id >6;
select * from emp where id not between 3 and 6;

6.查询薪资不在20000,18000,17000范畴的数据

select * from emp  where  salary not in (20000,17000,18000);

7.查询岗位描写为空的员工名与岗位名 针对null推断的时候只能用is 不克不及用=

select name ,post from emp where post_comment is null;

MySQL对大小写不敏锐 平常写的时候大小写都可以

1、group by 分组

select * from emp group by post;  # 依照部门分组

分组后 应当做到 最小单位是 组 ,而不该该是 展现 组内的单个数据信息

向上面那样 他会直接给你 打印出来而没有给你报错 说明你的严厉模没有设定

show variables '%mode%'; # 寻到严厉模式所在的地方set session # 暂时有效 set global  # 永远有效set global sql_mode= 'strict_trans_tables' # 设定字符类型的主动截取set global sql_mode="strict_trans_tables,pad_char_to_full_length" #char 取出时 取消主动去空格set global sql_mode='strict_trans_tables,only_full_group_by' # 设定分组后   最小单位是组

此时你假如还使用 select name from emp group by post; 就会报错 #ERROR 1055 (42000): 'day37.emp.name' isn't in GROUP BYselest 后应当接的是 你分组的字段名

2、聚合函数(max, min ,sum,count, avg) 汇集到一起合成为一个结果

mysql中 分组之后 只能拿到分组的字段信息 没法直接 猎取其他字段的信息 但是 你可以通过其他办法来间接的猎取(聚合函数)

猎取每个部门的最高薪水

   需求是 每一个部门 说明有分组 所以 先分组 在使用聚合函数来取值

select post ,max(salary) from emp group by post;

每个部门的最低薪水

select post,min(salary)  emp group by post;
 
select post,min(salary) as '最小' from emp group by post;

每个部门的均匀薪水

select post,avg(salary) from emp group by post;

每个部门的薪水总和

select post,sum(salary) from emp group by post;

每个部门的人数

    select post,count(age) from emp group by post;
    select post,count(salary) from emp group by post;
    select post,count(id) from emp group by post;
    select post,count(post_comment) from emp group by post;

在统计分组内个数的时候 填写任意非空字段都可以完成计数,引荐使用能够独一标识数据的字段 比方id字段

      聚合函数会主动将每一个分组内的单个数据做想要的运算,无需你思考

3、group_concat

查询分组之后的部门名称和每个部门下所有的学生姓

select post, group_concat(name) from emp group by post;

select post,group_concat('hahha',name) from emp group by post;

还可以拼接

group_concat()能够拿到分组后每一个数据指定字段(可以是多个)对应的值

concat就是用来帮你拼接数据

group_concat(分组之后用)

concat(不分组时用)

查询每个员工的年薪

select name,salary*12 from emp;

相关免费学习引荐:php编程(视频)

以上就是怎样查询mysql语句的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板