数据库基础知识(3)

数据库查询

  • 简单查询
  • 按条件查询

一、简单查询

select语句:

MySQL 从数据表中查询数据的基本语句是select语句。在select语句中,可以根据自己对数据的需求,使用不同的查询条件,select语句的基本语法格式如下:

select *|{字段名1,字段名2,字段名3,....} 
from 表名 
[where 条件表达式1]
[group by 字段名 [having 条件表达式2]]
[order by 字段名 [ASC|DESC]]
[limit [offset] 记录数]
1、在select语句中指定所有字段

在select语句中列出所有字段名来查询表中的数据,其语法格式如下:

select 字段名1,字段名2,.....from 表名;#查询指定字段名的数据

例如:

select  id,name,grade from student;
2、在select语句中使用星号(*)通配符代替所有字段

在select语句中列出所有字段名来查询表中的数据,其语法格式如下:

select * from 表名;#查询所有数据

例如:

select * from student;
3、关系运算符查询

在select语句中,最常见的是使用where子句指定查询条件对数据进行过滤,其语法格式如下:

select *|字段名1,字段名2,...from 表名 where 条件表达式;

创建的关系运算符:


例如:

select * from student where id=1; #查询id等于1的记录
select * from student where id>1; #查询id大于1的记录
select * from student where id!=1; #查询i不等于1的记录
4、带in关键字的查询

IN关键字用于判断某个字段的值是否在指定集合中,如果字段的值在集合中,则满足条件,该字段所在的记录将被查询出来。语法格式如下所示:

select *|字段名1,字段名n,from 表名 where 字段名1 [not] in (元素1,元素2,...,元素n);

例如:

select * from student where id in(1,2,3); #查询id为1,2,3,的数据。
select * from student where id not in(1,2,3); #查询id不为1,2,3,的数据。
5、带between and 关键字查询

between and用于判断某个字段的值是否在指定的范围之内,如果字段的值在指定范围内,则满足条件,该字段所在的记录将被查询出来,反之则不会被查询出来。语法格式如下所示:

select *|字段名1,字段名2,...字段名n  from 表名 where [not] between 值1 and 值2;

例如:

select * from student where id between 2 and 5;#查询  id在2到5之间的记录。
6、空值查询

在数据表中,某些列的值可能为空值(NULL),空值不同于0,也不同于空字符串。在MySQL中,使用IS NULL关键字来判断字段的值是否为空值。语法格式如下所示:

select *|字段名1,字段名2,...字段名n from 表名 where 字段名 is [not] null;

例如:

select * from student where gender is null; #查询gender字段中为空值得记录。
7、带distinct关键字的查询

在SELECT语句中,可以使用DISTINCT关键字来去掉查询记录中重复的值。语法格式如下:

select distinct 字段名 from 表名;

例如:

select distinct gender from student; #查询gender字段的值,查询结果不能有重复
8、带like关键字的查询

MySQL中提供了LIKE关键字,用于对字符串进行模糊查询。格式如下:

select *|字段名1,字段名2,...字段名n  from 表名 where 字段名 [not] like '匹配字符串';

在这里需要用到几个通配符:

1、百分号(%)通配符
可以匹配任意长度的字符串,包括空字符串。
select * from student where name like "s%";#查询name 以s开头的记录
select * from student where name like "w%g";#查询name 以w开始,以g结束的记录
2、下划线(_)通配符
可以匹配任意长度的字符,包括空字符串(匹配的是单个字符)。
select * from student where name like 'wu_ong';#查询以wu开始,ong结束,中间为一个字符的记录
9.带and关键字的多条件查询

在MySQL中,提供了一个AND关键字,使用AND关键字可以连接两个或者多个查询条件,只有满足所有条件的记录才会被返回。语法格式如下所示:

select *|{字段名1,字段名2,……}from 表名where 条件表达式1 and 条件表达式2 […… and 条件表达式n];

例如:

select * from student where id<5 and gender='女';#查询id小于5,gender为女的记录。
10、带or关键字的多条件查询

在使用SELECT语句查询数据时,也可以使用OR关键字连接多个查询条件,只要记录满足任意一个条件就会被查询出来。语法格式如下所示:

select *|{字段名1,字段名2,……}from 表名where 条件表达式1 or 条件表达式2 […… or 条件表达式n];

例如:

select * from student where name like 'h%' or grander='女' or grade=100;
#查询name等于h开始,或者grander为女 或者grade等于100的数据

AND的优先级高于OR,因此当两者在一起使用时,应该先运算AND两边的条件表达式,再运算OR两边的条件表达式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值