查询记录

查询表达式

每个表达式表示想要的一列,必须至少一个。

多个类之间以英文逗号分隔。

“*”号表示所有列

例如

只查询id和name两列

SELECT id,name FROM student;

WHERE

条件表达式

对记录进行过滤,如果没有指定WHERE自居,则显示所有记录。

在WHERE表达式中,可以使用MySQL支持的杉树或运算符。

例如:

查询id为偶数的记录

SELECT * FROM student WHERE id%2=0;

GROUP BY

查询结果分组

例如

按照分数分组,并且降序排列

SELECT * FROM student GROUP BY score DESC;

HAVING

分组条件

例如:

按照分数分组,并且只显示大于60分的

SELECT * FROM student GROUP BY score HAVINGscore > 60;

ORDER BY

对查询结果进行排序

例如:

按照id降序排列

SELECT * FROM student ORDER BY id DESC;

LIMIT

限制查询结果返回的数量

例如:

返回查询结果中的第二条记录

SELECT * FROM student LIMIT2;

返回2条记录,从第一条记录开始(记录从0开始编号);

SELECT * FROM student LIMIT 1,2;

输出分数最高的3名学生记录

SELECT * FROM student WHERE name LIKE ‘L%’;

子查询

概念

子查询(Subquery)是指出现在其他SQL语句内的Select子句。

例如:

SELECT * FROM T1 WHERE col1=(SELECT col2FROM t2);

其中SELECT * FROM t1,称为OuterQuery/Out

SELECT col2 FROM t2,称为SubQuery

注意

子查询指嵌套在查询内部,且必须始终出现在圆括号内。

子查询可以包含多个关键字或条件,如果GROUP BY,ORDER BY,LIMIT,函数等。

子查询的外层查询可以是:SELECT,INSERT,UPDATE,SET 或DO.

子查询返回值

子查询可以返回标量,一行,一列,或子查询。

使用比较运算符的子查询

=,>,=,<=,!=

例如:查询高于班级平均分的学生

方法一先求平均值,然后查询

SELECT AVG(score) FROM student;

SELECT * FROM student WHEREscore>=(SELECT AVG(score) FROM student);

多表连接查询

使用on关键字来设定连接条件,使用WHERE关键字进行结果集记录的过滤。

INNER JOIN 内连接

多个表的交集

LEFT(OUTER)JOIN 左外连接

左表和多个表的交集

RIGHT(OUTER)JOIN 右外连接

右表和多个表的交集

例:

SELECT * FROM user RIGHT JOIN province ONprovince id=user.pid;

常用函数

字符函数

[NOT]LIKE

模式匹配

例:

SELECT * FROM student WHERE name LIKE ’L%’;

查找名字以L开头的学生信息

%表示匹配任意个字符_表示匹配任意一个字符

比较函数

IS [NOT]NULL

是否为空

例:

SELECT * FROM student WHERE name IS NULL;

查找名字为null的学生信息

聚合函数

AVG()平均值

MAX()最大值

MIN()最小值

SUM()求和

COUNT()求数量

JDBC

概念

JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它是由一组用Java语言编写的类和接口组成。

使用JDBC连接数据库步骤

1加载JDBC驱动程序,不同的数据库加载的驱动不一样

Class.forName("com.mysql.jdbc.Driver");

2建立连接。通过DriverManager类的getConnection方法建立连接时,需要注意getConnection会抛出SQLException异常,需要在try/catch块中捕获。

String url = "jdbc:mysql://localhost/bookshop";

String user = "root";

String password = "123456";

Connection con = DriverManager.getConnection(url, user, password);

3.创建Statement对象 用来向数据库发送查询和命令 大部分数据库驱动程序允许在同一个连接中打开多个并行的Statement对象,创建好Statement对象之后,就可以使用它来进行数据库的操作了。

Statement state = con.createStatement();

4.结果集处理。

//查询数据

ResultSet set = state.executeQuery("SELECT * FROM user");

while(set.next()){

String name = set.getString("name");

System.out.println(name);

}

//更新记录

state.executeUpdate("UPDATE user SET pass = '000' WHERE id = 1");

//插入记录

state.executeUpdate("INSERT user (name, pass)VALUES('Herry', '124')");

//删除记录

state.executeUpdate("DELETE FROM user WHERE id = 1");

5.关闭连接。关闭连接的同时,还要关闭对应的Statement和ResultSet对象。

set.close();

state.close();

con.close();

jdbc查mysql_mysql的查询及连接JDBC数据库相关推荐

  1. jdbc连接数据库mysql的问题_JDBC连接Mysql数据库出现的问题汇总

    最近安装了一个 mysql 8.0 版本的数据库,在程序中连接的时候可谓是状况不断.之前也会遇到一些问题,这里就对使用 JDBC 连接 mysql 会出现的问题做一个汇总. 在此之前说明一下环境: 开 ...

  2. java对Oracle数据库查询_java 连接Oracle数据库 查询

    java 连接Oracle数据库 查询 (2014-03-03 16:07:15) 标签: it 在ADF要先引入jar包 Oracle JDBC ;不然加载驱动不会成功. public static ...

  3. navicat如何查询已连接的数据库密码信息

    好久之前,我在电脑上装了一个linux系统,安装了数据库,今天想用这个数据库,之前我连接过,但是密码忘了,一般我都是设置比较简单的密码,结果还都不对.接下来教大家如何在navicat已连接的数据库中获 ...

  4. java mysql 查询_java连接mysql数据库达成数据查询详细教程

    前言:本篇文章适用于所有前后端开发者 众所周知,只要是编程,那肯定是需要存储数据的,无论是c语言还是java,都离不开数据的读写,数据之间传输不止,这也就形成了现代互联网的一种相互存在关系! 而读写存 ...

  5. java ssdb查询_java连接ssdb数据库

    附带ssdb的资源和客户端的驱动. 目前学习用的是windows环境下的. 客户端java代码http://download.csdn.net/detail/a331251021/8156029 im ...

  6. mysql分页查询出租房屋信息_分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)...

    分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目时一个简单的运用eclipse ...

  7. jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)

    使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...

  8. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  9. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  10. java JDBC连接MySQL数据库调用存储过程进行查询

    java JDBC连接MySQL数据库调用存储过程进行查询 主程序代码 工具类 文件信息 存储过程 结果截图 主程序代码 package Mysql;import util.JDBCUtils; im ...

最新文章

  1. POCO:InvalidOperationError:Mapping and metadata information could not be found for Entity Type
  2. 鍵盤彈出,頁面佈局被推上去了.....
  3. 部署Dashboard图形界面控制docker集群
  4. 45度炸队Alpha冲刺博客集
  5. [深圳活动] OTT互联网机顶盒产品分享活动
  6. PostgreSQL的德哥教程
  7. Java根据正则生成随机字符串
  8. c++虚函数的前奏--函数指针与回调
  9. Linux 命令之 ifconfig -- 配置和显示网卡的网络参数
  10. 如何在React中使用功能组件
  11. android选项菜单xml,使用 XML 定义选项菜单
  12. html把字体设置为繁体,XP下怎样将繁体字设置成系统字体?XP下把系统字体改为繁体的方法...
  13. 与合作伙伴合作,如何正确的“吵架”
  14. App crash原因以及解决办法
  15. pthon图片信息-3cv2-高阶处理
  16. 数据库范式1NF 2NF 3NF详细阐述
  17. 面试题16:不含重复字符的最长子字符串(Java版)
  18. 上面两点下面一个三角形_三角形光栅化
  19. 苹果电脑Mac键盘快捷键
  20. 千亿电子签赛道,谁是中国版DocuSign?

热门文章

  1. R、Rstudio的下载和安装教程
  2. 世界名着100部简介
  3. Mac M1芯片安装打开Axure9
  4. 非合作博弈篇——非合作博弈的矩阵表示
  5. WEB前端大作业-程序员个人在线简历响应式网站模板(HTML+CSS+JavaScript)
  6. 一个帅气的车牌输入插件
  7. 项目日报模板_知名房企的精细化施工管理,从项目日常到施工图,全方位涵盖...
  8. CISCO常用配置命令
  9. 屏蔽广告方法(Adblock 插件)
  10. mysql多个数据库查询_如何跨多个数据库查询