前言

什么是表呢?我们又怎么查询表呢?我们来看看吧。

  • 什么是表呢?
    表(table)是一种结构化的文件,可以用来存储特定类型的数据,如:学生信息,课程信息,都可以发在表中。另外表都有特定的名字,而且不能重复,表中具有几个概念:行,列,主键,列叫做字段(Column),行叫做表中的记录,每一个字段都有:字段名称,字段数据类型,字段约束,字段长度。
    例如:

表的查询

##简单查询

  • 查询一个字段?
select +字段名 +from+表格名字(查看字段名);

注意:select和from都是关键字。
字段名和表名都是标识符。
强调:
对于SQL语句来说,是通用的,所有的SQL语句都是以发号(“;”)结尾。
另外SQL语句不区分大小写。
比如我们要查询部门的研发部就可以使用select 研发部 for 部门;
演示:

查询多个字段

  • 查询两个字段,或多个字段怎么办呢?
select +字段名 ,字段名+from+表格名字(查看字段名);

注意:使用逗号(“,”)隔开
比如我们需要查询部门和部门编号,就可以使用select +部门编号 ,部门+from+表格名字(查看字段名);就可以。
演示:

查询所有字段

  • 查询所有字段怎么办?
    第一种方法:可以把所有的字段都放进去。
select +字段(可以发所有的字段)+from+表格名字(查看字段名);

比如:一个表有a字段,b字段,c字段等等from表格名

select +字段(a,b,c,)+from+表格名字

第二种方法:可以使用星号(“*”)

select * from+表格名字;(查询所有字段)

比如我们还是需要查询部门表中的所有字段,就可以使用select * from+表格名字;查询表的使用字段了。
演示:
这种方式的缺点:
1.效率低。
2.可读性差。

给列起别名

  • 怎么给查询的列起别名呢?
select +字段名,字段名 as 字段名(给列起别名)from+表格名字(查看字段名);

比如我们要给部门表中的部门起别名就可以使用

select 编号,部门 as s部门 from 部门;

演示:

select +字段名 as 字段名(给列起别名),字段名 from+表格名字(查看字段名);

比如我们要给部门表中的编号起别名就可以使用

select 编号 as 部门编号,部门 from 部门;

演示:

使用as关键字起别名。
注意:这是将显示的结果列名显示为别名(我给列起的别名),原表的列名 叫什么还是什么(不会改变)
记住:select语句是永远都不会进行修改操作的(select语句只负责查询)
as关键字可以省略吗?是可以的。

select+字段名,字段名 字段名(给列起别名)+from 部门;

演示:
如果在起别名的时候,别名里面有空格怎么办?

select+字段名 字(叫空格)段名+(起的字段名)+from 表名;

我还是拿部门这个表来举例。

select 编号 部门 编号,部门 from 部门;

我们还是用部门表来举例。
演示:
这里就报错了,我们要怎么解决呢?
我们可以使用单引号或者双引号解决。

select+字段名 “字(叫空格)段名”+(起的字段名)+from 表名;
select+字段名 '字(叫空格)段名'+(起的字段名)+from 表名;

我还是拿部门这个表来举例。

select 编号 “部门 编号”,部门 from 部门;
select 编号 '部门 编号',部门 from 部门;

演示:

注意:在所有的数据库当中,字符串统一使用单引号括起来,单引号是标准,双引号在Oracle数据库中不可以使用,读书在MySQL中可以使用。
强调:数据库中的字符串都是使用单引号括起来,这是标准的。双引号不标准。

列参与数学运算

  • 查看员工工资
    查看员工工资表,就可以使用
select +员工名字,工资 from 表格名字;

比如我们需要查看工资表里面的员工工资,就可以使用

select 姓名,工资 from 工资表;

演示:

  • 那我们要怎么计算员工的年薪呢?
    计算员工年薪,就可以使用
sal * 12 (查看员工年薪)

比如需要查看工资表里面的员工年薪,就可以使用

select 姓名,工资 * 12 from 工资表;

演示:
注意:sal *12(这里的可以是任何数字)
再次注意:字段是可以参加加减乘除运算的。## 标题
其实我们这里可以给工资 *12 起一个别名,就可以使用

select 姓名,工资 * 12 年薪 from 工资表;

演示:

条件查询

  • 什么是条件查询?
    不是将表中的所有数据都查出来。是查询符合条件的。
    语法格式:
select 字段.....
from 表名
where  条件;

运算符表:

  • 运算符演示:

等于(=)
比如我们工资表里面的查询工资等于3000的员工的姓名和工资?我们就可以使用

 select
姓名,工资 from 工资表 where 工资 = 3000;

演示:
不等于(<>或!=)
比如我们工资表里面的查询工资 不等于3000的员工的姓名和工资?我们就可以使用

 select
姓名,工资 from 工资表 where 工资 != 3000;
select
姓名,工资 from 工资表 where 工资 <> 3000;

演示:
小于(<)
比如我们工资表里面的查询工资 小于4500的员工的姓名和工资?我们就可以使用

 select 姓名,工资 from 工资表 where 工资 < 4500;

演示:
小于等于(<=)
比如我们工资表里面的查询工资 小于等于4500的员工的姓名和工资?我们就可以使用

 select 姓名,工资 from 工资表 where 工资 <= 4500;

演示:
大于(>)
比如我们工资表里面的查询工资 大于4500的员工的姓名和工资?我们就可以使用

 select 姓名,工资 from 工资表 where 工资 > 4500;


大于等于(>=)
比如我们工资表里面的查询工资 大于4500的员工的姓名和工资?我们就可以使用

select 姓名,工资 from 工资表 where 工资 >= 4500;

演示:
两个值之间
比如我们工资表里面的查询工资 在4500的5000之间的员工的姓名和工资?我们就可以使用

select 姓名,工资 from 工资表 where 工资 between 3000 and 4500;
注意:使用between and的时候必须遵循左小右大。
select 姓名,工资 from 工资表 where 工资 >= 4500 and 工资 <= 5000;

演示:

那我们可以查询字符串呢?
比如我们根据编号和薪资查询员工,就可以使用

select 员工编号,工资 from 工资表 where 姓名='张三';

演示:
is null 为null(is not null 不能为空)
查询那些员工的奖金为null?就可以使用

select 员工编号,姓名,奖金 from 工资表 奖金 is null;
强调:在数据库当中不可以使用等号。需要使用is null,因为数据库中的null表示什么也没有,它不是一个值,所以不能所以等号衡量。

查询那些员工的奖金不是null?就可以使用

select 员工编号,姓名,奖金 from 工资表 奖金 is not null;

and(并且)
查询员工姓名并且工资大于4500的员工信息?就可以使用

select 姓名,工资 from 工资表 where 姓名 = '张三' and 工资 > 4500;

or(或者)
查询员工姓名和工资大于4500的员工信息?就可以使用

select 姓名,工资 from 工资表 where 姓名 = '张三' or 姓名 = '李四';

注意:and 和or是有优先级的,and 高于or,当遇and和or同时出现时,如果需要让or先执行,我们需要将or部分用括号括起来。如果不确定优先级,也可以使用小括号括起来。
in (包含,相当于多一个or,但是not in不在这个范围中)
查询薪资是3000和5000的员工信息,就可以使用

select 姓名,工资from 工资表where 工资 in(3000,5000);

演示:注意:in后面的不是区间,in后面跟的是具体的值
如果薪资不是3000和5000的员工信息,就可以使用

select 姓名,工资 from 工资表 where 工资 not in(3000,5000);

演示:
not(可以取非,主要是用在is或in)

is null
is not null
in
not in

模糊查询

like(模糊查询,%代表任意字符,下划线代表一个字符)
注意:百分号(%)是一个特殊的符号,下划线(__)也是一个特殊符号。
比如我们要查看名字中有张的,以张开始的,以张结束的,就可以使用

中间张的:select 姓名 from 工资表 where 姓名 like '%张%';
以张开始的:select 姓名 from 工资表 where 姓名 like '张%';
以张结束的select 姓名 from 工资表 where 姓名 like '%张';

演示:

比如我们要查看名字中第二字是张的,第三字是张的,第四字是张的

select 姓名 from 工资表 where like '张%';

注意:两个字符加一个下划线
比如:比如姓名中第三个字有张的

select 姓名 from 工资表 where 姓名 like '__张%';

演示:

那我们要找出名字中有下划线的该怎么办呢?我们可以使用斜杠来转意

select 姓名 from 工资表 where 姓名 like '%\_%';

演示:

总结

我们讲了表,表的查询。在表的查询中我们仔细的讲了多个字段的查询,所有字段的查询,给列起别名, 列参与数学运算,条件查询,模糊查询。

MySQL——————表的查询相关推荐

  1. MySQL表连接查询

    MySQL表连接查询 1 基本格式 select fieldName from tbName1 连接符 tbName2 on 条件 2 笛卡尔乘积[避免] -- 笛卡尔乘积,没有约束条件,数据库匹配发 ...

  2. mysql表子查询(嵌套查询)

    mysql表子查询(嵌套查询): 1.什么是子查询: 子查询是指嵌入在其它 sql 语句中的 select 语句,也叫嵌套查询 -- 如何显示与 SMITH 同一部门的所有员工? -- 1.先查出sm ...

  3. mysql表关联查询都有什么方式_所有关联表查询方式

    前言 想象场景:小白初入职场,看到很多数据库的代码发现都不清楚,急哭小白了,急急忙忙的去百度,收集到的资料很多,也很迷,乱七八糟的都是 虫虫:为了方便小白 虫虫把关联表的查询方式总结了 关联查询种类 ...

  4. MySQL表的查询进阶

    目录 MySQL表的设计 查询进阶版本 插入查询结果-->属于新增 聚合查询 group by子句 having子句 联合查询 外连接 对比外连接和内连接: 自连接 子查询 合并查询 MySQL ...

  5. mysql表单查询_MySQL表单集合查询

    表单查询 简单查询 SELECT语句 查询所有字段 指定所有字段:select 字段名1,字段名2,...from 表名; select * from 表名; 查询指定字段 select 字段名1,字 ...

  6. 在MySQL表中查询出所有包含emoji符号的数据

    MySQL版本.字符集.排序规则如下: mysql> select version(); +------------+ | version() | +------------+ | 5.6.14 ...

  7. 解决mysql表不能查询修改删除等操作并出现卡死

    问题现象1:进程wait卡住 测试环境mysql出现了一个怪表:select查询表卡死,alter修改表卡死,甚至我不想要这个表了,delete.truncate.drop表都卡死卡主了...... ...

  8. MySQL表联合查询 理论基础:外键、操作关联表(一)

    前言 什么是外键? 外键是指引用另一个表的一列或多列,被引用的列应该具有主键约束或唯一性约束.外键用于建立和加强两个表数据之间的连接 先创建一张班级表t_class 不会创建外键的看 https:// ...

  9. mysql表死锁查询

    1.查询是否锁表 show open tables where in_use>0; 2.查询进程 show processlist 查询到相对应的进程,然后 kill id 3.查看正在锁的事务 ...

最新文章

  1. jquery 和js 还有 jq 挂事件
  2. Oracle创建表空间、创建用户以及授权、查看权限
  3. 互联网协议 — RIP 路由信息协议
  4. linux打理ftp用户,Linux中如何添加/删除FTP用户并设置权限
  5. strstr函数_【每日编程176期】实现strStr() II
  6. python创建sqlite3数据库_Python之Sqlite3数据库基本操作
  7. ionic助手 v1.9.0 一键式开发环境工具(告别命令行,超强功能)
  8. spring期刊状态_无状态Spring安全性第2部分:无状态认证
  9. wxpython pypi_Python iwx包_程序模块 - PyPI - Python中文网
  10. 顺序一致性内存模型与JMM的“顺序一致性”
  11. 修改Chrome的User Agent的方法 真实有效
  12. ICMP协议与ping命令
  13. 数据恢复软件分享(第二篇)
  14. SharePoint Online 触发的Automate工作流的调试
  15. 2018,这一年的腾讯优图,我们总结一下!
  16. micropython 串口 wifi_MicroPython实现wifi干扰与抓包
  17. 君子爱财,取之有道!(租房被坑记)
  18. 安司密信服务器维护,安司密信好用吗?安司密信使用教程[多图]
  19. 用Python吐槽国产综艺节目!
  20. 如何把FLAC+CUE刻录成CD

热门文章

  1. 启动keepalived报错(VI_1): received an invalid passwd!
  2. 为什么你应聘不上或试用期被开?
  3. mac格式化系统恢复|mac格式化后怎么恢复?
  4. 网吧大哥服务器维修,《绝地求生》服务器又崩溃!网吧老板快要哭了
  5. git命令提交后push失败,缺少changeID的解决办法
  6. 大数据之ZooKeeper数据类型和节点操作
  7. 2020-06-03:抢红包设计
  8. 软件AI加速器:免费提升AI性能
  9. Linux内核源码分析-scsi子系统-让磁盘转起来-sd_spinup_disk
  10. Python调用动态链接库DLL文件