黑马程序员技术交流社区
标题: 【石家庄校区】阶段笔记整理 [打印本页]
作者: 夕阳海风 时间: 2018-5-9 17:22
标题: 【石家庄校区】阶段笔记整理
【石家庄校区】MySQL数据库及JDBC阶段笔记整理
MySQL
1. Sql语句的分类
DDL:关键字有create,alter,drop,truncate
DML:关键字有insert,update,delete
DCL:关键字有if
DQL:关键字有select
2. 对数据库的操作,数据库并不会涉及到频发的操作,所以用得不是太多
相对重要的主要集中在表的创建,表结构(字段)的修改,以及对表中的记录的操作, 其 中包括在表中添加记录,删除记录,修改记录,查询记录等,其中查询记录的操作 更为多变,使用频率也更高,因而重要程度也更高
3. Create table 表名(字段名 字段类型(长度) 约束);
4. 创建数据库和表,用create关键字,在表中插入记录用insert into关键字
删除数据库和表,用drop关键字,删除表中的记录用delete关键字,删除表记录时一 般会加上where条件,因为很少有需求将整个表中的记录清空
5. 指定插入某些列时:insert into 表名(列名1,列名2,...) values(值1,值2,...) 值需与列名 顺序一一对应
一次性插入所有列:insert into 表名 values(值1,值2,...) 值需与表中的字段的顺序一一 对应
6. 对表记录进行修改,删除,查询时,一般都会添加where条件,因为修改和删除数据 时,很少遇到整列修改,或者全部删除的情况,查询时,往往也是查询我们需要的数据
7. 查询语句的整体规则:
select 字段 from 表名 where 条件 group by 字段 having order by 字段
Where条件中不能出现聚合函数,如果使用带有聚合函数的条件进行过滤,使用having
8. 升序asc 降序 desc 模糊查询like 模糊查询中,占位符_表示一个字符,%表示0个或 多个字符,范围查询用in关键字,并列条件用and or not
9. 聚合函数:求和sum 统计个数count 最大值max
10. 多表设计:一对多:在多的一方设置关联字段,跟一的一方主键对应,根据业务需求, 可以选择是否将多的一方的关联字段设置为外键(设置为外键,会增加数据的安全性, 但是不易于修改表)
多对多:需要建立中间表,中间表中至少要有两个字段,分别关联两个表中的主键字段, 同样,是否设置成外键,需要根据具体的业务需求来决定
11. 内连接:隐式内连接在:select * from tab1,tab2 where 关联条件
左外连接:select * from tab1 left join tab2 on 关联条件
JDBC
12. 使用PreparedStatement
第一步:注册驱动Class.forName()
第二步:获得连接Connection conn = DriverManager.getConnection(url.username,password)
第三步:编写sql语句:需要用到值的地方用占位符?代替
第四步:预编译sql并获得可执行的PreparedStatement对象
第五步:为sql语句中的占位符设置值:PreparedStatement对象.setString/setInt(int n[第几个问号],String s/Int m)
第六步:执行sql语句:增删改都用executeUpdate() 查询用executeQuery() 查询结果返回Resultset对象,如果要查看,需要遍历打印
第七步:释放资源
13. 为了提高程序的复用性,与解耦合,需要进行工具类的抽取,创建一个工具类和一个配置文件,配置文件的后缀名是.properties
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |