MySQL查询语句
------------恢复内容开始------------
查询emp中的所有表:
select * from emp; 在日常工作中 不建议使用* 因为查询效率较低
常用命令:
select database(); 查看当前使用的是哪个数据库
\c 命令,结束一条语句。
exit 命令,退出mysql。
查看创建表的语句:
show create table emp;
查询语法格式:
select 字段名1,字段名2,字段名3,.... from 表名;
注意:标准sql语句中要求字符串使用单引号括起来。虽然mysql支持双引号,尽量别用。
可以给字段名设为中文:
select ename,sal * 12 as '年薪' from emp;
条件查询。
语法格式:
select
字段,字段...
from
表名
where
条件;
执行顺序:先from,然后where,最后select
查询工资等于5000的员工姓名?
select ename,sal from emp where sal = 5000;
找出工资在1100和3000之间的员工,包括1100和3000?
between前面是需要比较的字段
select ename,sal from emp where sal between 1100 and 3000; // between...and...是闭区间 [1100 ~ 3000]
select ename,sal from emp where sal between 3000 and 1100; // 查询不到任何数据
between and在使用的时候必须左小右大。
between and除了可以使用在数字方面之外,还可以使用在字符串方面。
select ename from emp where ename between 'A' and 'C';
找出哪些人津贴为NULL?
在数据库当中NULL不是一个值,代表什么也没有,为空。
空不是一个值,不能用等号衡量。
必须使用 is null或者is not null
select ename,sal,comm from emp where comm is null;
找出工作岗位是MANAGER和SALESMAN的员工?
select ename,job from emp where job = 'MANAGER' or job = 'SALESMAN'; or或者的意思
in等同于or:找出工作岗位是MANAGER和SALESMAN的员工?
select ename,job from emp where job = 'SALESMAN' or job = 'MANAGER';
select ename,job from emp where job in('SALESMAN', 'MANAGER');
select ename,job,sal from emp where sal in(800, 5000); // in后面的值不是区间,是具体的值。
not in: 不在这几个值当中。
select ename,job from emp where sal not in(800, 5000);
模糊查询like ?
找出名字当中含有O的?
(在模糊查询当中,必须掌握两个特殊的符号,一个是%,一个是_)
%代表任意多个字符,_代表任意1个字符。
排序(升序、降序)
按照工资升序,找出员工名和薪资?
select
ename,sal
from
emp
order by
sal;
排序:默认就是升序
------------恢复内容结束------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix