一,多表连接
1,多表查询
概述:
一次查询两张以上的表,叫做多表查询---》交叉查询,很少使用,有错误数据(笛卡尔积,笛卡尔集)
格式:
select * from 表1,表2;
2,内连接查询
概述:
在交叉查询的基础上,使用外键约束作为查询条件
格式:
select * from 表1,表2 where 表1.主键=表2.外键; (隐式内连接查询)
select * from 表1[inner] join 表2 on 表1.主键=表2.外键; (显式内连接查询)
二,JDBC
1,概述:
使用java程序作为TCP客户端执行SQL语句操作数据库,对数据库进行增删改查
1》原理:
TCP客户端---》驱动程序---》数据库
TCP客户端---》java中提供了用于操作数据库的类和接口
DriverManager 类
Connection 接口 Statement 接口 ResultSet 接口
驱动程序---》就是数据库厂商根据java提供的接口,创建接口的实现类用于操作自己的数据库,我们可以使用驱动程序对数据库进行CRUD操作
2》优点:
我们无需关注每种数据库程序,只需关注java中提供的类与接口怎么使用。 这种编程---》面向接口编程
3》和JDBC相关的类和接口
java.sql.DriverManager类---》用于管理数据库程序
java.sql.Connection---》用于获取数据库连接Connection对象
java.sql.Statement---》用于获取执行SQL语句Statement对象
java.sql.ResultSet---》用于接收查询的结果集
2,JDBC入门案例
1,步骤:
0,准备数据
1,导入jar包
2,注册驱动 告诉JVM我们使用哪种驱动程序
Class.forName("com.mysql.jdbc.Driver");
3,获取连接 Connection对象
DriverManager.getConnection(url,user,password);
Stirng url=jdbc:mysql://localhost:3306/day04;
4,获取执行对象 Statement对象把SQL语句发送到数据库执行
con.creatStatement();
5,执行SQL语句返回结果
state.executeUpdate(sql语句);
增,删,改 返回int类型 affected受影响的行数
查 返回ResultSet结果集
6,处理结果集
增,删,改 不需处理,打印即可
查 需要遍历查看
7,释放资源
★,2,3,4,7不变 5,6根据CRUD不同而不同
2,创建工具类
工具类中的方法都是静态方法,为了方便直接通过类名.调用
定义方法获取Connection对象,并返回
定义方法释放资源