黑马程序员技术交流社区
标题:
day16 学习笔记分享
[打印本页]
作者:
kuqi3712
时间:
2017-12-28 21:37
标题:
day16 学习笔记分享
查询对结果进行排序
默认是升序
升序: order by 列名[asc]
降序: order by 降序[desc]
聚合
可以对一列进行计算,返回单一的值
count
select count (*) from 表名
select sum(money) from 表名
select max 最大值
select avg 平均数
这些方法的后面不能有空格
SELECT COUNT(*),department FROM student GROUP BY department;
SELECT 列名1,列名2 FROM 表名 order BY 列名1,列名2 desc; 2种排序
排序语句一定是在sql语句的末尾
select truncate(avg(列名),2) from 表名 计算平均值后保留2位
查询后 在count 列的后面有一个department列
分组之后再次筛选 用having 关键字
where 与 having 区别
where 是分组之前过滤 having 是分组之后过滤
JDBC:
可以理解为java提供的一套API,可以为多种数据库提供统一的访问.是java访问数据库的规范
JDBC的开发步骤:
!.注册驱动
告知jvm使用的是哪一个数据库驱动
//使用 java.sql.DriverManager的静态方法registerDriver(Driver driver)
driver 是一个接口,参数传递 MySQL驱动程序中的实现类
通过看源码发现这种方法 注册了两次
解决办法
Class.forName("com.mysql.jdbc.Driver");
2.获得连接
使用jdbc中的类完成对MySQL数据库的连接
//url: 数据库地址 jdbc:mysql://链接主机ip:端口号//数据库名字
String url="jdbc:mysql://localhost:3306/mydatabase";
String username="root";
String password="root";
Connection connection=DriverManager.getConnection(url,username,password);
3.获得语句执行平台
通过连接对象获取对SQL语句的执行者对象
//获取statement对象
Statement statement= connection.createStatement();
4.执行sql语句
使用执行者对象,向数据库执行SQL语句
//int executeUpdate(String sql) 执行数据库中的sql语句 仅限 insert delete update
//返回值int是操作成功数据表的行数
int row= statement.executeUpdate("NSERT INTO sort(sname,sprice,sdesc) VALUES ('汽车用品',200000,'疯狂涨价')");
System.out.println(row);
statement.executeQuery(sql);查询
注入攻击
密码处填写 ' or 1='1
防止注入攻击
PreparedStatement
set
可以多次高效的执行SQL语句
//?是占位符
String sql = "SELECT * FROM pass WHERE puser=? AND ppassword=?";
PreparedStatement pstatement=connection.prepareStatement(sql);
//PreparedStatement中的set方法 设置占位符
pstatement.setObject(1, user);
pstatement.setObject(2, pass);
//用PreparedStatement获取结果集不用传sql的参数
ResultSet rs = pstatement.executeQuery();
prepareStatement是connection接口中的方法
获取数据库执行后的结果
// boolean next()
5.处理结果
6.释放资源
一堆的close
statement.close();
connection.close();
使用JDBC查询表 获取结果集
作者:
陈文老师
时间:
2017-12-29 09:27
作者:
wheat
时间:
2017-12-29 10:11
不错哦哦
作者:
渝小妹
时间:
2017-12-29 10:28
总结很不错哟~继续加油
作者:
1414225997
时间:
2017-12-29 13:57
保持,继续努力
作者:
xiongliu
时间:
2018-1-2 10:21
新年快乐~~~~·
作者:
渝小妹
时间:
2018-1-2 10:23
成功不是“一朝一夕”的事,需要的是“一如既往”的坚持,“一成不变”的乐观,“一门心思”的奋斗,“一鸣惊人”的能力,“一丝不苟”的态度,只有这样,2018你才能取得“一飞冲天”的骄人成绩。
作者:
狸大大
时间:
2018-1-2 14:35
新年快乐 继续加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2