数据库基础知识(3)

来源:互联网 发布:淘宝网正规催情药 编辑:程序博客网 时间:2024/06/06 01:35

数据库查询

  • 简单查询
  • 按条件查询

一、简单查询

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两边的条件表达式。

原创粉丝点击