mysql数据库应用与开发姜桂洪 课后答案_数据库(MySQL) 入门实践

本文介绍了MySQL数据库的基础知识,包括SQL的四大类语句、NoSQL的区别、数据库范式、存储引擎的特点以及事务的ACID特性。详细讲解了InnoDB的行锁类型和加锁方式,以及索引的概念和类型,强调了索引在性能优化中的作用。此外,还提到了幻读问题和RR隔离级别的解决方案,以及SQL执行顺序和binlog在数据恢复与主从复制中的应用。
摘要由CSDN通过智能技术生成

1 数据库

存放数据的仓库。例如你的账号信息,订单记录等。

2 SQL

Structured Query Language,用于访问和处理关系数据库的标准的计算机语言。

按照功能又可分为四大类;

DQL

查询语言,基本语句 SELECT;

DML

操纵语言,主要有三种形式,INSERT、UPDATE 和 DELETE;

DDL

定义语言,创建表、视图、索引等,CREATE TABLE;

DCL

控制语言,用来授权或回收某种特权,基本形式有 GRANT、 COMMIT 和 ROLLBACK;

3 NoSQL

Not Only SQL,泛指非关系型的数据库,通常以键值对或者文档形式存储。例如 Redis、MongoDB。

关系型数据库(MySQL)能通过外键建立表之间的联系,且相比 NoSQL 而言,还具备 ACID 特性。

但 NoSQL 操作无须 SQL 解析,读写性能较高,相比关系型数据库来说,不用预设存储结构,且天然支持分布式存储。

4 范式

数据库满足一定要求的条件称为数据库范式。又能根据程度的不同,简称为第 N 范式。

第一范式 1NF

所有属性不可再分,例如属性 product 就不能分为 title 和 price,可以单独设置两个属性 productTitle、productPrice;

第二范式 2NF

每张表都有一个属性作为唯一标识,其他属性完全依赖该标识,例如自增主键ID;

第三范式 3NF

所有的非主属性不依赖于其他的非主属性。例如订单表中可以关联商品ID,但不应该关联商品非主属性 title 和 price 等;

为了提高查询效率,通常会添加冗余字段,这也就违背了 3NF,也称之为反三范式。

5 MySQL

MySQL 是一个 Oracle 旗下的关系型数据库,使用 SQL 语言进行增删改查操作。

开源免费,性能也比较好,和 PHP、Java 等 Web 开发语言完美配合,在中小型企业应用非常广泛。

后续内容都是基于 MySQL 数据库的前提下。

6 存储引擎

常见的有 MyISAM 和 InnoDB 引擎;

引擎

默认版本

外键

锁粒度

count(*)

事务

MyISAM

< 5.5

不支持

表锁

变量存储

不支持

InnoDB

>= 5.5

支持

行锁

全表扫描

支持

7 事务

一条或多条 SQL 组成一个事务(transaction)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值