mysql--7.单表查询



1      Select语句

1.1  简单查询 s - f

1.1.1  所有

语法:    

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

select 字段名1,字段名2,字段名3 from 表名;                    显示查询字段名

select DISTINCT 字段名 from 表名;                                         去除重复的数据。

 

练习:

create table stu(

  idint primary key auto_increment,

 name varchar(20),

 math int,

 english int,

 chinese int

);

 

insert into stu values(null , '老兰' , 52 , 62, 62);

insert into stu values(null , '美甲' , 12 , 62, 62);

insert into stu values(null , '美女' , 42 , 62, 62);

insert into stu values(null , '美美' , 12 , 62, 62);

insert into stu values(null , '猪' , 52 , 62 ,62);

 

查询表中所有学生的信息。

         select* from stu;

查询表中所有学生的姓名和对应的英语成绩。

         selectname,english from stu;

过滤表中重复数据。(只是单纯的去除结果中的重复元素,而且联合重复

         selectdistinct englishfrom stu;


1.1.2  列

练习:

在所有学生分数上加10分特长分。

         selectname,math+10,english+10,chinese+10 from stu;

统计每个学生的总分。

         selectname,math+english+chinese from stu;

                                                       

使用别名表示学生分数。

         selectname,(math+english+chinese) as sum from stu;

 

1.1.3  经过计算的后的值

函数 + 运算符

 

1.2  where条件 w -

查询姓名为班长的学生成绩

         select* from stu where name='班长';                                        

查询英语成绩大于90分的同学

         selectname,english from stu where english < 15;                                     

查询总分大于200分的所有同学

         selectname,math+english+chinese from stu where (math+english+chinese) > 200;

 

练习

查询英语分数在 80-90之间的同学。

         select* from stu where english >80 and english <90;

         select* from stu where english between 80 and 90;

查询数学分数为18,78,46的同学。(in)

         select* from stu where math in(18,78,46);                                                 

查询所有姓班的学生成绩。

         select* from stu where name like '班%';

查询数学分>80,语文分>80的同学。

         select* from stu where math >80 or chinese > 80;

 

1.3  排序

 

         升序默认的(asc)/降序(desc), 出现select的语句末尾。

练习:

对数学成绩排序后输出。

         selectname,math from stu order by math;

对总分排序按从高到低的顺序输出

         selectname,math+english+chinese from stu order by (math+english+chinese) desc;

对学生成绩按照英语进行降序排序,英语相同学员按照数学降序(先满足第一个条件)

         select* from stu order by english desc,math desc;

对姓美的学生成绩排序输出

         select* from stu where name like '美%' order by english desc;

 

 

1.4  分组查询

通过那个和哪些字段进行分组

 

         groupby  分组(一起使用)         条件过滤需要是having,不能使用where

练习:

create table orders(

         idint,

         productvarchar(20),

         pricefloat

);

 

insert into orders(id,product,price)values(1,'电视',900);

insert into orders(id,product,price)values(2,'洗衣机',100);

insert into orders(id,product,price)values(3,'洗衣粉',90);

insert into orders(id,product,price)values(4,'桔子',9);

insert into orders(id,product,price)values(5,'洗衣粉',90);

insert into orders(id,product,price)values(6,'电视',900);

对订单表中商品归类后,显示每一类商品的总价.

         selectproduct,count(*),sum(price) from orders group by product;

 

使用having 子句对分组结果进行过滤

练习:

查询购买了几类商品,并且每类总价大于100的商品    

         selectproduct,sum(price) from orders group by product having sum(price) > 100;

 

 

 

1.5  联合查询—对结果操作

1.5.1  集合并运算

查询包含 MANAGER 和 SALESMAN 的员工信息

 

1.5.2  集合交运算

Intersect

1.5.3  集合差运算

Except

1.6  分页查询—mysql独有

 

 

2      小结

 

 


1      Select语句

1.1  简单查询 s - f

1.1.1  所有

语法:    

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

select 字段名1,字段名2,字段名3 from 表名;                    显示查询字段名

select DISTINCT 字段名 from 表名;                                         去除重复的数据。

 

练习:

create table stu(

  idint primary key auto_increment,

 name varchar(20),

 math int,

 english int,

 chinese int

);

 

insert into stu values(null , '老兰' , 52 , 62, 62);

insert into stu values(null , '美甲' , 12 , 62, 62);

insert into stu values(null , '美女' , 42 , 62, 62);

insert into stu values(null , '美美' , 12 , 62, 62);

insert into stu values(null , '猪' , 52 , 62 ,62);

 

查询表中所有学生的信息。

         select* from stu;

查询表中所有学生的姓名和对应的英语成绩。

         selectname,english from stu;

过滤表中重复数据。(只是单纯的去除结果中的重复元素,而且联合重复

         selectdistinct englishfrom stu;


1.1.2  列

练习:

在所有学生分数上加10分特长分。

         selectname,math+10,english+10,chinese+10 from stu;

统计每个学生的总分。

         selectname,math+english+chinese from stu;

                                                       

使用别名表示学生分数。

         selectname,(math+english+chinese) as sum from stu;

 

1.1.3  经过计算的后的值

函数 + 运算符

 

1.2  where条件 w -

查询姓名为班长的学生成绩

         select* from stu where name='班长';                                        

查询英语成绩大于90分的同学

         selectname,english from stu where english < 15;                                     

查询总分大于200分的所有同学

         selectname,math+english+chinese from stu where (math+english+chinese) > 200;

 

练习

查询英语分数在 80-90之间的同学。

         select* from stu where english >80 and english <90;

         select* from stu where english between 80 and 90;

查询数学分数为18,78,46的同学。(in)

         select* from stu where math in(18,78,46);                                                 

查询所有姓班的学生成绩。

         select* from stu where name like '班%';

查询数学分>80,语文分>80的同学。

         select* from stu where math >80 or chinese > 80;

 

1.3  排序

 

         升序默认的(asc)/降序(desc), 出现select的语句末尾。

练习:

对数学成绩排序后输出。

         selectname,math from stu order by math;

对总分排序按从高到低的顺序输出

         selectname,math+english+chinese from stu order by (math+english+chinese) desc;

对学生成绩按照英语进行降序排序,英语相同学员按照数学降序(先满足第一个条件)

         select* from stu order by english desc,math desc;

对姓美的学生成绩排序输出

         select* from stu where name like '美%' order by english desc;

 

 

1.4  分组查询

通过那个和哪些字段进行分组

 

         groupby  分组(一起使用)         条件过滤需要是having,不能使用where

练习:

create table orders(

         idint,

         productvarchar(20),

         pricefloat

);

 

insert into orders(id,product,price)values(1,'电视',900);

insert into orders(id,product,price)values(2,'洗衣机',100);

insert into orders(id,product,price)values(3,'洗衣粉',90);

insert into orders(id,product,price)values(4,'桔子',9);

insert into orders(id,product,price)values(5,'洗衣粉',90);

insert into orders(id,product,price)values(6,'电视',900);

对订单表中商品归类后,显示每一类商品的总价.

         selectproduct,count(*),sum(price) from orders group by product;

 

使用having 子句对分组结果进行过滤

练习:

查询购买了几类商品,并且每类总价大于100的商品    

         selectproduct,sum(price) from orders group by product having sum(price) > 100;

 

 

 

1.5  联合查询—对结果操作

1.5.1  集合并运算

查询包含 MANAGER 和 SALESMAN 的员工信息

 

1.5.2  集合交运算

Intersect

1.5.3  集合差运算

Except

1.6  分页查询—mysql独有

 

 

2      小结

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mysql-connector-java-5.1.25.jar是MySQL官方提供的Java驱动程序,用于在Java应用程序中连接和操作MySQL数据库。 这个驱动程序具有以下特点和功能: 1. 高性能:mysql-connector-java-5.1.25.jar通过使用Java的JDBC接口,能够提供快速和高效的数据库查询和操作。 2. 跨平台:该驱动程序可以在不同的操作系统上运行,并且与不同的Java开发环境兼容,包括Java SE、Java EE等。 3. 完整支持JDBC规范:mysql-connector-java-5.1.25.jar完全遵守JDBC规范,包括驱动程序管理、连接管理、SQL语句执行、结果集处理等方面的要求。 4. 支持事务处理:通过该驱动程序,开发人员可以方便地使用Java的事务处理机制来实现数据库事务的管理和控制。 5. 支持连接池:mysql-connector-java-5.1.25.jar支持连接池的功能,能够有效地管理和复用数据库连接,提高系统的性能和资源利用率。 6. 支持高级功能:除了基本的数据库查询和操作功能外,该驱动程序还提供了许多高级功能,如批处理操作、存储过程和函数调用、元数据查询等。 7. 提供了丰富的API:该驱动程序提供了丰富的API,简化了开发人员连接和操作MySQL数据库的工作,使其更加方便和高效。 之,mysql-connector-java-5.1.25.jar是一个功能强大的MySQL数据库驱动程序,为Java开发人员提供了方便、高效的方式来连接和操作MySQL数据库。 ### 回答2: mysql-connector-java-5.1.25.jar是一个Java程序与MySQL数据库进行连接的驱动程序。这个JAR文件是使用Java编写的,并且提供了一个API,允许开发人员使用Java语言编写应用程序与MySQL数据库进行交互。 这个驱动程序是使用Java Database Connectivity(JDBC)接口构建的,它允许Java应用程序通过标准的JDBC API与各种关系型数据库进行通信。通过使用mysql-connector-java-5.1.25.jar,我们可以使用Java编写应用程序来执行各种数据库操作,如查询数据,插入数据,更新数据和删除数据。 这个JAR文件必须在Java应用程序中引入,以便应用程序能够正确地使用MySQL数据库。我们可以通过将这个JAR文件添加到Java应用程序的类路径中来引入它。 mysql-connector-java-5.1.25.jar提供了一些类和方法,用于建立与MySQL数据库的连接,并执行各种数据库操作。通过使用这个驱动程序,我们可以通过Java代码获取对数据库的访问权限,并利用其功能来管理和操作数据库中的数据。 之,mysql-connector-java-5.1.25.jar是一个用于Java程序与MySQL数据库进行通信的驱动程序。它允许我们使用Java编写应用程序来连接和操作MySQL数据库,并提供了便捷的API接口,简化了与数据库的交互过程。 ### 回答3: mysql-connector-java-5.1.25.jar是MySQL官方提供的Java连接器,用于在Java应用程序中连接和操作MySQL数据库。这个文件是一个JDBC(Java Database Connectivity)驱动,可以让开发人员通过Java代码连接到MySQL数据库服务器。 使用mysql-connector-java-5.1.25.jar,开发人员可以方便地在Java应用程序中执行SQL查询、插入、更新和删除操作。连接器提供了一组API,可以进行数据库连接管理、事务处理以及结果集的获取与处理。 该jar文件的安装非常简单,只需将它包含到Java项目的类路径中即可。然后,开发人员就可以使用Java的JDBC API以及连接器提供的特定方法来连接到MySQL数据库,并执行所需的操作。 mysql-connector-java-5.1.25.jar具有与MySQL数据库之间的高速数据传输能力,并且支持最新的MySQL服务器功能。它与MySQL数据库服务器紧密集成,可以提供出色的性能和稳定性。 该版本的连接器已经过一定程度的测试和验证,可以广泛应用于生产环境中。除了普通的连接和查询功能,mysql-connector-java-5.1.25.jar还支持连接池和布式事务等高级特性,可以满足各种复杂的应用程序需求。 之,mysql-connector-java-5.1.25.jar是连接Java应用程序与MySQL数据库之间的桥梁。它提供了简单且高效的连接和操作API,使开发人员能够轻松地将Java和MySQL集成在一起,并构建出强大、可靠的应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值