MYSQL狂神 学习

数据库

show create database warehouse;
show create table user;

数据库引擎

MyISAMInnoDB
事务支持不支持支持
数据行锁定不支持支持
外键不支持支持
全文索引支持不支持
表空间的大小较小较大,约为2被

常规使用操作

  • MYISAM 节约空间,速度较块
  • INNODB 安全性高,支持事务,支持外键(多表多数据操作)

在物理空间存在的位置

所有的数据库文件都存在 data 目录下

本质还是文件的存储!

MySQL 引擎在物理文件上的区别

  • InnoDB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata文件
  • MYISAM 对应文件
    • *.frm -表结构的定义文件

分页 limit 和排序 order by

为什么要分页?

1、缓解数据库压力,给人体验更好, 瀑布流

网页应用:当前页,总的页数,页面大小

每页只显示五条数据

语法: limit 起始值,页面的大小

limit 0,5 0~5

limit 5,5 5~10

数据库级别的MD5 加密

MD5 不可逆,具体值的MD5是一样的

MD5 破解网站的原理,背后有一个字典,MD5加密后的值,加密前的值

加密

update user set password=MD5(pwd) where id=1

如何效验:将用户传进来的密码,进行md5加密,对比加密后的值

事务

要么都成功,要么都失败

事务原则:ACID原则

原子性 一致性 隔离性 永久性

set autocommit = 0;  -- 关闭自动提交

start transaction
事务
commit  -- 提交事务   永久保存
rollback   -- 没有提交还可以回滚恢复

set autocommit = 1  -- 开启自动提交
try{
    事务
     commit
}catch{
    rollback
}

事务的隔离级别

脏读 : 指一个事务读取了另一个事务未提交的数据

不可重复读 : 在一个事务读取表中的一行数据,多次结果不一样(不一定是错误,只是某些场合不适用)

幻读 : 读取了别人刚插入的数据,导致前后读取不一致

执行事务

mysql 是默认开启事务自动提交的

关闭自动提交

set autocommit = 0

索引

索引是帮助mysql高效获取数据的数据结构

索引:数据结构

索引的分类

主键索引只能有一个,唯一索引可以有多个

  • 主键索引 primary key
    • 唯一的标识,不能重复
  • 唯一索引 unique key
    • 避免出现重复的列,唯一索引可以重复,多个列都可以标识为唯一索引
  • 常规索引 key/index
    • 默认的,用index 或者 key来设置
  • 全文索引 FullText
    • 在特定的数据库引擎下才有
    • 快速定位数据

索引的使用

1、创建表的时候给字段 加索引

2、 创建完毕后,加索引

-- 添加全文索引
alter table test add fulltext index "test_index"(column1);

-- 分析sql 执行的状况
explain 

插入100万条数据


索引在小数据量的时候,用处不大

在大数据量的使用,效果很好

索引会降低增删改的效率,但是会提高查的速度,利大于弊

索引一般加载常用来查询的字段上

Btree: innodb 默认底层

权限管理

数据库连接池

数据库连接 — 执行完毕 — 释放

连接----释放 十分浪费资源

池化技术:准备一些预先的资源,过来就连接预先准备好

类比:银行 你去取钱 ------开门----取完钱-----关门 十分的慢

池化技术: 开门-----业务员-----等待----服务----- 最后关门

最小连接数:10 业务员的个数

最大连接数:100 业务最高承载上线

连接数全部用完,排队等待,可能会等待超时

编写连接池 ,只需要实现DataSource接口

开源数据源实现

  • DBCP
  • C3P0
  • Druid : 阿里巴巴

使用这些数据库连接池之后,就不需要编写连接数据库的代码了!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值