1、DQL之连接查询

  • 主表和从表(目前理解)
  • 主表:需要显示信息的表
  • 从表:主表中有的某个字段,从表有的才会显示
  • 内联查询
select * from 表1,表2 where 条件
	
-- SQL标准格式
select * from 表1, inner join 表2 on 表1.字段i = 表2.字段i

-- 例如,展示一个学生和在哪个班级的信息
select * from student s inner join class c on s.cid = c.cid
  • 外连接(左连接、右连接)
-- 左连接语法
select * from 表1 left join 表2 on 表1.字段i = 表2.字段i
--(这里表1是主表,表2是从表)

-- 右连接语法
select * from 表1 right join 表2 on 表1.字段i = 表2.字段i
-- (这里表2是主表,表1是从表)

2、DQL之子查询

  • 子查询
-- 语法类似
select * from 表1 where 字段 > (select * from 表1 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 字段
	when 值 then 结果
	when 值 then 结果
	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(); //关闭与数据库的连接