JAVA连接数据库--mysql

先简单了解一下mysql

存储引擎的区别

innoDB、MyIsam、Merory

关系型数据库与NeSQL(非关系型)的区别

主流的关系型数据库:Oracle、MySQL
主流的非关系型数据库:Redis

Mysql和Redis的关系不是替代关系,而是在数据量非常大、数据库并发操作非常频繁的情况下,可以通过搭建Reis缓存服务器来分担Mysql的压力

视图、存储过程、存储函数、触发器

SQL语句优化和数据库优化的思路

数据库的备份

冷备份指的是停机(关闭数据库)后备份,此时服务不可用
热备份指的是不停机备份,此时服务可用

通常使用varchar的长度不会超过5000,否则就会使用text

Mysql(重点)

数据类型

1.float和double区别:
float单精度、double双精度
float4字节,double8字节
double精度比float更高
但是float和double都不是绝对精确地小数

2.char和varchar的区别:

char支持的长度是0~255
vachar支持的长度是0~65535
char的长度是定长的,varchar会根据填入的数据长度自动调整
char是以空间换时间,varchar是时间换空间
varchar需要进行动态的空间计算,性能没有char好,但是varchar更节约存储空间

3.char和varchar中()里的长度是字节数还是字符数

mysql5.0版本之前是字节、之后改为字符
假设字符集是UTF-8,一个中文三个字节那么char(32)只能存储10个中文字符

4.用什么类型存储金额

用定点数decimall(a,b) a表示一共有多少位,b表示小数位有多少位
使用长整型(longint)存储到最小单位

5.超长(5000字节)的文本博客文档怎么存储

严禁使用varchar存储长文本,改用blob或者text
并且应该把超长文本字段拆分,独立建表,与主表主外键关联,防止影响主表的查询效率

6.二进制文件(图片、视频、音频)怎么存储

MySQL数据库是可以存储二进制数据的,使用binary但是性能比较差
正确做法:二进制文件直接存放在磁盘中,然后在数据库创建字段来存储文件地址(绝对路径)

7.Mysql的整型支持无符号,通过关键词UNSIGNED

age tinyint ------age字段取值范围(-128~127)
age tinyint unsigned ---------age字段范围是(0~255)

约束

1.非空约束 not null
2.检查约束 check(MySQL不支持)
3.唯一约束 unique
4.主键约束 primary key
5.外键约束 foreign key

SQL的分类,语法整理(DDL、DML、DQL、DCL)

数据定义语言DDL(Data Ddefinition Language)
CREATE,DROP,ALTER、show

数据操纵语言DML(Data Manipulation Language)executeUpdate 返回int

INSERT,UPDATE,DELETE

数据查询语言DQL(Data Query Languagejava中executedQury返回resultSet

SELECT,FROM,WHERE,GROUP BY,ORDER BY,having,inner join等

数据控制语言DCL(Data Control Language)

GRANT,REVOKE,COMMIT,ROLLBACK
grant和revoke是授予和回收给用户的权限
grant 权限 on 数据库对象 to 用户 identified by 密码

关系类型和三范式、反三范式

数据库表关系一对一、一对多、多对多
三范式目的:以时间换空间(增加关系来减少冗余数据)
反三范式目的:以空间换时间(允许适量的冗余数据,减少关系)
第一范式:列属性不能再拆分
第二范式:在第一范式基础上,属性完全依赖于主键(消除部分子函数依赖)
第三范式:属性不依赖于其他非主属性(消除传递依赖)

事物的四大特性和四种隔离级别

事务的四大特性

1. 原子性(Atomicity)

事务包含的所有数据库操作要么全部成功,要不全部失败回滚。

2. 一致性(Consistency)

一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。一致性规定事务提交前后只存在两个状态,提交前的状态和提交后的状态,绝对不会出现中间的状态。最典型的例子就是银行转账,A和B之间互相转账,账面加起来总和5000元,无论A和B之间怎么转,转几次,成功与否,事务结束后A和B账面总和还是5000元。

3. 隔离性(Isolation)

隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。

4. 持久性(Durability)

持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。

四种隔离级别

1. 读未提交(Read uncommitted)

所有事务都可以看到其他未提交事务的执行结果。本隔离级别是最低的隔离级别,虽然拥有超高的并发处理能力及很低的系统开销,但很少用于实际应用。因为采用这种隔离级别只能防止更新丢失问题(这个问题现代关系型数据库已经不会发生),不能解决脏读,不可重复读及幻读问题。

2. 读已提交(Read committed)

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别可以防止脏读问题,但会出现不可重复读及幻读问题。

3. 可重复读(Repeatable read)

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。这种隔离级别可以防止除幻读外的其他问题。

4. 串行化(Serializable )

这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读、第二类更新丢失问题。在这个级别,可以解决上面提到的所有并发问题,但可能导致大量的超时现象和锁竞争,通常数据库不会用这个隔离级别,我们需要其他的机制来解决这些问题:乐观锁和悲观锁。


image.png

锁的种类

表锁、行锁
死锁、如何防止死锁

索引

连表查询

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容