#第二阶段JavaWeb# 第三天DQL连接查询、子查询、JDBC入门 #学习笔记#

1、DQL之连接查询

  • 主表和从表(目前理解)
  • 主表:需要显示信息的表
  • 从表:主表中有的某个字段,从表有的才会显示
  • 内联查询
    select * from1,2 where 条件
    	
    -- SQL标准格式
    select * from1, inner join2 on1.字段i =2.字段i
    
    -- 例如,展示一个学生和在哪个班级的信息
    select * from student s inner join class c on s.cid = c.cid 
    
  • 外连接(左连接、右连接)
    -- 左连接语法
    select * from1 left join2 on1.字段i =2.字段i
    --(这里表1是主表,表2是从表)
    
    -- 右连接语法
    select * from1 right join2 on1.字段i =2.字段i
    -- (这里表2是主表,表1是从表)
    
    发生在两个或者两个以上的表之间; 一定有主外键关系,才能进行连接查询;

2、DQL之子查询

  • 子查询
    -- 语法类似
    select * from1 where 字段 > (select * from1 where 字段=)
    
    -- 例子,查询所有工资高于JONES的工资的员工
    select * from emp where sal > (select sal * from emp where ename='JONES')
    

3、MySQL数据类型(了解)

* varchar	 -- 字符串
* tinyint	-- 占1个字节,类似java中的byte
* smallint	-- 占2个字节,类似java中的short
* mediumint		-- 3个字节的整数
* int		-- 占四个字节的整数,类似java中的int
* bigint	--占八个字节的整数,类似java中的long

4、补充

if(ex1,ex2,ex3)

select if(条件,真返回,假返回) from test;

select name,if(sex=0,'女','男') as sex from student;
-----------------------------------------------------

case 字段
	whenthen 结果
	whenthen 结果
	else 结果
end 

SELECT
  s.sname    '姓名',
  CASE s.gender
    WHEN 'male' THEN '男' 
    WHEN 'female' THEN '女'
    ELSE '保密'
  END       '性别'
FROM stu s 
-- --------
nullif()
-- -----------------------------------

ifnull(字段,默认值)

select ifnull(age,0) from test;

----------------------------------------

isnull(字段)   如果字段为null ,返回1 ,否则返回0;

SELECT ISNULL(age) FROM stu WHERE sname='xxx';

5、JDBC(入门)

  • 概念
    DriverManager: 此类管理数据库驱动程序列表。使用通信协议将来自java应用程序的连接请求与适
    当的数据库驱动程序匹配。
    
    Driver:此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用
    DriverManager对象来管理这种类型的对象。
    
    Connection:该接口具有用于连接数据库的所有方法。连接对象表示通信上下文,数据库的所有通信
    仅通过连接对象。
    
    Statement:使用从此接口创建的对象将SQL语句提交到数据库。用于对数据库进行通用访问
    。在运行时使用静态SQL语句时很有用。Statement接口不能接受参数。
    
    PreparedStatement 多次使用SQL语句时使用。PreparedStatement接口在运行时接
    受输入参数。
    
    ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭
    代器,允许我们移动其数据。
    
    SQLException:此类处理数据库应用程序中发生的任何异常。
    
5.1、JDBC六部曲
  • 1、导入jar包(eclipse、idea自行百度)
  • 2、加载驱动

    Class.forName(“com.mysql.jdbc.Driver”);

  • 3、获取数据库连接

    DriverManager.getConnection(url,name,pass);

  • 4、获取操作数据的对象

    1、connection.createStatement();
    2、connection.prepareStatement(sql);

  • 5、执行SQL语句

    1、int executeUpdate(String SQL)
    2、int executeUpdate()

  • 6、关闭连接

    createStatement.close(); //关闭操作数据库的对象
    connection.close(); //关闭与数据库的连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBC(Java Database Connectivity)是Java语言操作数据库的基础API,它提供了一种标准的方法来连接和操作各种关系型数据库。 JDBC的基本使用分为以下几个步骤: 1. 加载驱动程序:在使用JDBC操作数据库之前,需要先加载相应的驱动程序。不同的数据库需要加载不同的驱动程序,一般情况下驱动程序的jar包都会提供。 ```java Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立连接:使用DriverManager类的getConnection()方法连接数据库。 ```java String url = "jdbc:mysql://localhost:3306/test?useSSL=false"; String username = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, username, password); ``` 其中url为连接数据库的URL,username和password为连接数据库的用户名和密码。 3. 创建Statement对象:通过Connection对象的createStatement()方法创建一个Statement对象,用于执行SQL语句。 ```java Statement stmt = conn.createStatement(); ``` 4. 执行SQL语句:可以通过Statement对象的execute()或executeQuery()方法执行SQL语句,如果是更新操作则使用executeUpdate()方法。 ```java ResultSet rs = stmt.executeQuery("SELECT * FROM users"); ``` 5. 处理结果集:如果执行的SQL语句返回了结果集,则可以通过ResultSet对象进行处理。 ```java while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println("id: " + id + ", name: " + name); } ``` 6. 关闭连接:使用完数据库后需要关闭连接,释放资源。 ```java rs.close(); stmt.close(); conn.close(); ``` 以上就是JDBC的基本使用过程,通过JDBC可以实现Java程序与数据库的交互,完成各种数据库操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值