今天数据库的第二天学习,讲了SQL查询的排序,分组,函数,又学习了JDBC,java连接数据库,用java代码操作数据库,不得不吐槽一句作业做着实在是太打脑壳了,程序员最多的果然是ctrl+c,ctrl+v;
高级查询
-- 排序 (desc 降序 asc 升序(默认))
SELECT * FROM zhangwu ORDER BY zmoney DESC;
-- by 后面跟两个,次级排序
SELECT id,zmoney FROM zhangwu ORDER BY zmoney,id DESC;
-- 聚合函数 count sum avg max min
SELECT COUNT(*) FROM zhangwu;
SELECT SUM(zmoney) FROM zhangwu;
SELECT AVG(zmoney) FROM zhangwu;
-- 分组查询
-- 按zname分组计算总额
SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname;
-- 查询所有不同支出分别的总额
SELECT SUM(zmoney),zname FROM zhangwu WHERE zname LIKE '%支出%' GROUP BY zname;
-- 显示上面 总额大于800的
SELECT SUM(zmoney) AS 总额,zname FROM zhangwu WHERE zname LIKE '%支出%' GROUP BY zname
HAVING 总额>800;
-- 上面升序
SELECT SUM(zmoney) AS 总额,zname FROM zhangwu WHERE zname LIKE '%支出%' GROUP BY zname
HAVING 总额>800 ORDER BY 总额 ASC;
三、JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,
可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC工具类
/**
*
* @author Administrator 定义工具类,获取数据库连接 获取连接方式采用读取配置文件方式,读取的是bin目录下的
* 读取获取一次,static
*/
public class JDBCUtils {
private static String driver;
private static String url;
private static String user;
private static String password;
private static Connection con;
static {
try {
// 读取配置
readConfig();
// 加载驱动
Class.forName(driver);
// 获取数据库连接
con = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
}
private JDBCUtils() {
}
/**
* 获取数据库连接
*
* @return Connection对象
* @throws Exception
*/
public static Connection getConnection() throws Exception {
return con;
}
/**
* 关闭资源
*
* @param con
* 数据库连接
* @param st
* 执行者平台
* @param rs
* 结果集
*/
public static void colse(Connection con, Statement st, ResultSet rs) {
if (con != null) {
try {
con.close();
} catch (SQLException se) {
}
}
if (st != null) {
try {
st.close();
} catch (SQLException se) {
}
}
if (rs != null) {
try {
rs.close();
} catch (SQLException se) {
}
}
}
/**
* 关闭资源
*
* @param con
* 数据库连接
* @param st
* 执行者平台
*/
public static void colse(Connection con, Statement st) {
if (con != null) {
try {
con.close();
} catch (SQLException se) {
}
}
if (st != null) {
try {
st.close();
} catch (SQLException se) {
}
}
}
private static void readConfig() throws IOException {
// 类加载获取配置文件的输入流
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("database.properties");
Properties pro = new Properties();
// 读取配置文件
pro.load(is);
// 获取参数
driver = pro.getProperty("driver");
url = pro.getProperty("url");
user = pro.getProperty("user");
password = pro.getProperty("password");
}
|
|