MySQL查询

基础查询

查询表中的所有数据(返回的是一张虚拟表):SELECT FROM * 表名

查询某个字段的数据:SELECT  字段名 FROM 表名

 

 

 

条件查询WHERE

SELECT * FROM 表名 WHERE (选择条件)

                                             =、!=、<>、<、<=、>=;

                                             BETWEEN ...AND;

                                             IN(set);

                                             IS NULL;

                                             AND;

                                             OR;

                                             NOT;

例如:查询性别为女,且年龄为15岁

          SELECT * FROM stu WHERE gender='female' AND age=15;

          查询学号为01或者姓名为张三的记录

          SELECT * FROM stu WHERE sid ='01'   OR sname='张三'

          查询学号为01,02,03的记录

          SELECT * FROM stu WHERE sid IN ('01','02','03');

          查询年龄为空的记录       

          SELECT * FROM stu WHERE age IS NULL;

          查询年龄在20-40 之间的记录

          SELECT * FROM stu WHERE age BETWEEN 20 AND 40;

          查询性别非男的学生记录

         SELECT * FROM stu WHERE gender != 'male';

 

 

 

模糊查询LIKE

 _任意一个字符

 %任意0-n个字符

 SELECT * FROM stu WHERE sname LIKE '    ' 

例如:查询姓名由五个字母构成的学生记录

         SELECT * FROM stu WHERE sname LIKE '_ _ _ _ _';

         查询姓名由五个字母构成的学生记录,且第五个字母是i

         SELECT * FROM stu WHERE sname LIKE '_ _ _ _i';

         查询姓名以“z”开头的学生记录

         SELECT * FROM stu WHERE sname LIKE 'z%';

         查询姓名中包含“z”的记录

         SELECT * FROM stu WHERE  sname LIKE '%z%';  

         SELECT * FROM stu WHERE sname LIKE '_ _ _ _ _';  

 

 

 

字段控制查询DISTINCT       

例如:去除重复记录:SELECT DISTINCT deptno(任意填) FROM emp;

          查看雇员的月薪与佣金(之和):SELECT salary,comm FROM emp;

                                                      SELECT salary+IFNULL(comm,0) FROM emp;

                                                      (任何类型的数据和null相加都是null)

          给字段起别名:SELECT   ename,salary +IFNULL(comm,0)  AS 总工资 FROM emp;

                                SELECT   ename 姓名salary +IFNULL(comm,0)   总工资 FROM emp;

                                (IFNULL:如果comm为空即NULL,则为0)

 

 

查询排序

查询所有学生记录,按年龄升序排序

SELECT * FROM stu(表名)  ORDER BY sage  ASC;

SELECT * FROM stu(表名)  ORDER BY sage

(如果sage后边不加升序或者降序,则默认为升序即ASC)

 

 

查询所有学生记录,按年龄降序排列

SELECT * FROM stu(表名)  ORDER BY sage  DESC;

 

 

查询所有雇员,按月薪降序排序,如果月薪相同,按照编号升序排序

SELECT * FROM emp(表名) ORDER BY salary DESC,empno ASC; (有先后之分,前边的先执行排序)

 

 

 

 

 

                      

模糊查询LIKE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值