mysql的查询及连接JDBC数据库

    xiaoxiao2024-07-26  10

    查询记录

    查询表达式

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

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

    “*”号表示所有列

    例如

    只查询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();

    转载请注明原文地址: https://ju.6miu.com/read-1291076.html
    最新回复(0)