#第二阶段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(); //关闭与数据库的连接

发布了24 篇原创文章 · 获赞 0 · 访问量 606
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览