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