【MySQL】数据的查询

查询数据

select 列名 from 表名;
  1. 查询结果是一张虚拟表,虚拟表不会真正存储
  2. 每次执行查询只是从数据表中提取数据,并按照表的形式显示出来
  3. 标识符有特殊符号时,要加上 ``
  • select 可以查询常量值、表达式、函数
select 100; -- 100
select 100 * 2 'result'; -- 200
select now(); -- 返回当前时间

其别名:as

select 列名 [as] '别名' from 表名 [as] '别名'; -- as 可以不写

去重:distinct

select distinct 列名 from 表名;

直接选取指定列创建表

其实就是直接从其他表中选取指定字段的记录作为新表的内容

drop table if exists `AddressList`;
create table `AddressList` (
	select `StuName` as '学生姓名', `id`, `Address` from `StuInfo`;
);

where 子句

where 子句通常结合增删改查使用,用于做筛选的条件

select * from `tbName` where `id` = 1;

比较运算符

  1. 等于:=
  2. 不等于:<> !=
  3. 大于:>
  4. 大于等于:>=
  5. 小于:<
  6. 小于等于:<=
select * from `tbName` where `age` > 18;

逻辑运算符

  1. 逻辑非:not
  2. 逻辑与:and
  3. 逻辑或:or
select * from `StuInfo` 
where `Sex` = '男' and `age` > 18;

模糊查询

like 关键字用来进行模糊查询,并且结合 % 以及 _ 使用

  • _:表示任意一个字符
  • %:表示任意多个字符
select * from `StuInfo` 
where `StuName` not like '张%';

当需要查询的字符里面含有 _% 时,我们可以通过 escape 关键字设置转义字符

-- 查询姓名的第二个字符为 _ 的学生信息
select * from `students`
where `name` like '_&_%' escape '&'; # 设置 & 为转义字符

范围查询

  • in:表示在一个非连续的范围内取值
  • between - and -:表示在一个连续的范围内取值
select * from `students` 
where `GradeId` in (1, 4, 8);
select * from `StuInfo`
where `GradeId` between 2 and 4;

注意:between - and -- 可以是数字 / 日期;范围是一个闭区间 [ -, - ]

判空

  • is [not] null:判断是否为空值 / 非空值
  • = <> 不能判断 null
select * from `tbName`
where `name` is not null;

注意:null != 空字符串

<=>

安全等于 <=>,既可以判断 null,又可以判断精确数值

select * from `tbName`
where `name` <=> null;
select * from `tbName`
where `salary` <=> 12000;

数据的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JS.Huang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值