A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© TISHIHANG 初级黑马   /  2018-1-11 15:33  /  1562 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 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

7 个回复

倒序浏览
加油  加油  加油
回复 使用道具 举报
厉害了
回复 使用道具 举报
加油  加油  加油
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
加油  加油  加油  加油  
回复 使用道具 举报
加油~ヾ(◍°∇°◍)ノ゙
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马