0726_MySQL数据库基础

311 阅读3分钟

关系型数据库

关系型数据库基本术语:

  • 关系:一个关系对应一张二维表。
  • 元组: 表中的一行作为一个元组。
  • 属性: 表中的一列作为一个属性,每一列的第一行是属性名,其余行为属性值。
  • 候选码:表中某个属性或属性组合。
  • 主码: 在多个候选码选择一个作为主码,它还有一个名字叫做主键
  • 主码是一个能唯一标识一个元组的属性。

关系应该满足的特质:

  • 关系必须是规范化的,即要求关系必须满足一定的规范条件,最基本的一条就是,关系的每一列不可再分
  • 关系中必须有主码(极少情况可以没有),用来标识元组,使得元组唯一。
  • 元组的个数有限且元组顺序可以任意交换。
  • 属性名唯一且属性列顺序可以任意交换。

关系完整性规则:

  • 实体完整性规则: 主码的属性值不能为空值。如果允许空值,则无法保证元组的唯一性。
  • 参照完整性规则: 关系之间的联系靠公共属性实现,如果这个公共属性是另外一个关系的主码,那么我们也会称之为外码(或外键)
  • 用户定义完整性: 反映某一具体应用所涉及的数据必须满足语义要求。

MySQL

MySQL 是一种关系型数据库,有社区开源版和商业支持版。

MySQL 的三种存储引擎: MyISAM、InnoDB、MEMMORY。

  • InnoDB 存储引擎特点: 支持外键、支持事务,处于安全性考虑 InnoDB 引擎是一个很好的选择。
  • MyISAM 存储引擎特点:具有检查和修复表的大多数工具、表可以被压缩,支持全文索引,不支持外键、不支持事务, 主要用于高负载的 select 查询。
  • MEMMORY 存储引擎将所有数据都存储在内存,但安全性不高。而且相对存储的数据量较小。

SQL 语句

SQL 是用于访问和处理数据库的标准的计算机语言。有了它,就能够取回和更新数据库中的书籍。目前绝大多数的数据库都能使用标准的 SQL 命令,不过不同的数据库可能会做一些拓展命令

SQL 语言的特点:

  • 语言简洁,易学易用 (指的是语法简单,但场景可以超级复杂)
  • 同一种语法结构提供两种使用方式,一种是 命令行(交互式)的使用,另一种是嵌入其他高级语言中使用
  • 面向集合的操作方式
  • 高度非过程化,只需要提出做什么,而不必知名怎么做
  • 综合统一:语言风格统一、数据操作统一。

SQL 命令分为四种 : DDL 、 DML、 DCL、TCL。

DMLDDLDCLTC
SELECT UPDATE INSERT ...CREATE DROP ALTER ...GRANT REVOKE ...START TRANSACTION COMMIT ROLLBACK ....

推荐一本书 SQL基础教程第2版,不过这本书是用的 PostgreSQL 数据库 另外推荐一个 同步的视频,UP主声音好好听。 SQL基础教程第2版-已获出版社授权

##其他链接

MySQL 命令种类 MySQL 教程