黑马程序员技术交流社区

标题: 【石家庄校区】学习总结 [打印本页]

作者: TISHIHANG    时间: 2018-1-11 15:33
标题: 【石家庄校区】学习总结
本帖最后由 小石姐姐 于 2018-1-26 12:04 编辑

学习总结
MySQL 数据库
数据库(文件系统): io流读写 效率低 数据库效率高 方便增删改查
数据库管理系统(软件):DBMS 操作管理数据库
MySQL--->管理系统--->数据库-->数据表(存储)--->数据(记录)
表名---Java类名
列名--- 类中的属性
记录1一-:类的对象1
记录-----类的对象2
cmd:
net start mysql 启动命令
net stop mysql 停止命令
SQL语句 结构化查询语言
不区分大小写 建议关键字使用大写 自己定义的 小写
惯例:SQL关键字大写/数据库名.表名.字段名 等小写,便于阅读
一条SQL语句可以单行或多行书写 一条语句必须以 分号 结尾.
字符串 日期 使用 单引号 包裹.
DDL数据定义语言 用来定义数据库对象(库/表等) 建库(create database +库名)
DML数据操作语言 对表中的记录一进行 增 删(drop database + 库名) 改
DQL数据查询语言 对表中的记录进行 查询 show databases
DCL数据控制语言 创建修改用户 权限
约束:
* constraint
* 作用: 就是对列中记录的值进行限制, 如果插入的数据不符合约束规则, 则该操作会被立刻终止
* 扩展:
* 约束的种类:
* **主键约束**: `PRIMARY KEY`, 限制该列的记录值不能为空且唯一(不能重复), 相当于同时设定了`NOT NULL`和`UNIQUE`
* **自增约束**: `AUTO_INCREMENT`, 设置该列的记录值可以自动增加
* 默认从几开始? 1
* 能用于什么类型? 只能用于数字类型(如INT, DOUBLE, 小数1.23自增后是2)
* 外键约束: `FOREIGN KEY`, 主要是连接另一个表的主键
* 非空约束: `NOT NULL`, 限制该列的记录值不能为空
* 唯一约束: `UNIQUE`, 唯一, 限制该列的记录值不能重复
* 检查约束: `CHECK (条件)`, 限制该列插入的记录值是否符合要求
* 默认值约束: `DEFAULT 值`, 限制该列记录如果没有插入值, 则使用默认值
高级SQL     JDBC     SQL注入
聚合函数 分组统计(group by 列名 having 条件 ) count sum max min avg
* 注意:
* 聚合函数与分组的使用效果
* 使用聚合函数后再进行分组, 才相当于汇总统计
* `SELECT zname, SUM(zmoney) FROM zhangwu GROUP BY zname;`
* 不使用聚合函数的分组, 只有第一条记录的值
* `SELECT zname, zmoney FROM zhangwu GROUP BY zname;`
* `HAVING`和`WHERE`的区别
* 过滤时机不同
* WHERE是在分组前先对查询结果进行过滤
* HAVING是在查询结果分组后再次过滤
* 是否可跟随聚合函数不同
* WHERE条件中不可使用聚合函数
* HAVING条件中可以使用聚合函数
* 条件可用列名不同
* HAVING条件中的列名必须是SELECT或GROUP BY中使用过的列名
* WHERE条件中可以使用表的所有列名
DBCP 连接池
* DBCP的`BasicDataSource`类: 实现了`javax.sql.DataSource`接口
* 构造方法:
* `BasicDataSource()`: 创建对象
* 成员方法:
* `void setDriverClassName(String name)`: 设置驱动类名
* `void setUrl(String url)`: 设置连接地址
* `void setUsername(String username)`: 设置用户名
* `void setPassword(String password)`: 设置密码
* `BasicDataSource`类的配置方法
* 成员方法:
* `void setInitialSize(int size)`: 初始连接数. 连接池中最初的连接数
* `void setMaxActive(int n)`: 最大连接数量. 程序能够连接数据库的最大连接数量
* `void setMinIdle(int n)`: 最小空闲连接. 连接池中允许存在的最小空闲数量, 如果小于该数量, 则会创建新的连接, 直到满足该最小空闲连接数
* `void setMaxIdle(int n)`: 最大空闲连接. 连接池中允许存在的最大空闲数量, 如果超出该数量, 则超出的空闲连接会被真实关闭
管家婆项目
项目包结构图
gjp # 项目名称
|_ src
| |_ com.itheima.gjp # 包名
| |_ app # 程序入口
| |_ controller # 控制层
| |_ dao # 数据访问层
| |_ domain # 实体类
| |_ service # 业务层
| |_ tools # 工具类
| |_ view # 视图层
|_ lib
|_ commons-dbcp-1.4.jar
|_ commons-dbutils-1.6.jar
|_ commons-pool-1.5.6.jar
|_ mysql-connector-java-5.1.28-bin.jar


作者: wrp123456    时间: 2018-1-11 16:59
加油  加油  加油
作者: 小影姐姐    时间: 2018-1-11 17:00
厉害了
作者: wrp123456    时间: 2018-1-11 17:03
加油  加油  加油
作者: Port    时间: 2018-1-11 17:20


作者: 绮丽    时间: 2018-1-12 09:13

作者: wrp123456    时间: 2018-1-15 09:58
加油  加油  加油  加油  
作者: 小影姐姐    时间: 2018-1-23 15:44
加油~ヾ(◍°∇°◍)ノ゙




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2