一、Oracle
1、增、删、改、查
// 建表
create table 表名(
列名1 列类型[char|varchar|date|number](长度) [not null|null] primary key,
列名2 列类型[char|varchar|date|number](长度) [not null|null],
列名3 列类型[char|varchar|date|number](长度) [not null|null]
)
//增
insert into 表名(字段1,字段2,....) values (值1,值2,.....)
//删
delete from 表名 where 条件
//改
update 表名 set 列名1='',列名2=''... where 条件
//查
select [*|列名1,列名2] from 表名 [where 条件]
//聚合函数的使用
sum:求和、count():统计个数、avg():求平均值、max()求最大值、min()求最小值
select [sum|count|avg|amx|min|max] as 别名 from 表名
2、分组查询
select ★,聚合函数(△) from 表名 group by★;
其中★填写的很简单,根据谁分组就写谁,比如根据性别分组,这★就是sex组。执行的时候是先根据★分组,然后再在每个组里面计算聚合函数。
3、having子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。 HAVING 子句可以让我们筛选分组后的各组数据。
用having就一定要和group by连用, 用group by不一有having
4、模糊查询
select * from 表名 where name[字段名] like '%一%' //查询所有name包含’一‘的所有记录
##字段 like '%关键字%'字段包含"关键字"的记录
##字段 like '关键字%'字段以"关键字"开始的记录
##字段 like '%关键字'字段以"关键字"结束的记录
5、BETWEEN 操作符
SELECT column_name(s)
FROM table_name
WHERE column_name [BETWEEN | NOT BETWEEN ] value1 AND value2;
6、删表/删库
drop table 表名|数据库名
7、多表连接
//两表
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
//三表
SELECT A1,A2,C1,C2 字段
FROM B --中间表
INNER JOIN A ON A.A1 = B.B1 --A表中的与B表中相同的字段
INNER JOIN C ON C.C1 = B.B1 --C表中的与B表中相同的字段
where xxxxx ---条件为可选项项
二、JDBC
1、什么是JDBC
JDBC是一种数据库连接,全称Java Database Connectivity,简称JDBC。
作用:主要是用来规范客户端如何访问数据库的应用程序接口,提供了增删改查等API接口。
2、常用API
DriverManager:负责加载各种不同的驱动,并返回对应的数据库连接。
Connection:数据库连接,负责和数据库通讯。
PreparedStatement()或者createStatement():用来执行包含动态参数的SQL,增删改查等。
executeQuery()或者executeUpdate():执行sql语句,前者返回的是结果集,后者返回的是影响的行数
3、JDBC连接步骤
第一步:加载(注册)数据库驱动类
第二步:建立数据库连接
第三步:执行SQL语句
第四步:处理执行SQL返回的结果集
第五步:关闭数据库连接
4、Java中实现JDBC连接Oracle
// 配置jdbc的驱动和Oracle服务的地址
static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
static final String DB_URL = "jdbc:oracle:thin:@localhost:1521:ORCL";
// 配置用户名和密码
static final String USER = "#";
static final String PASS = "123456";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
//向jdbc的驱动发送请求
Class.forName("oracle.jdbc.driver.OracleDriver");
//进行连接Oracle
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "select id, name from Person where name = '"+name+"'";
ResultSet rs = stmt.executeQuery(sql);
//关闭连接,减少资源占用
rs.close();
stmt.close();
conn.close();
} catch () {
//捕获异常
}