MySQL必知必会—概念篇

术语

不同的人可能会使用相同的数据库术语表示不同的事物,会造成一些混乱,下面是一张重要的数据库术语清单。

数据库(database)

数据库是保存有组织的数据的容器(通常是一个文件或一组文件)。

易混点:人们经常用“数据库”这个词代表他们使用的数据库软件。数据库软件是 DBMS(数据库管理系统),例如 MySQL 就是一种 DBMS ,而数据库是通过 DBMS 创建和操纵的容器。我们通常不直接访问数据库,而是通过使用 DBMS 来访问数据库。

表(table)

表是某种特定类型数据的结构化清单。

数据库中的每个表都有一个名字,用来标识自己,称之为“表名”。此名字是唯一的,在相同的数据库中不能使用重复的表名,但是在不同的数据库中可以使用。

模式(schema)

模式是关于数据库和表的布局及特性的信息。

列(column)

列是表中的一个字段。所有的表都是由一个或多个列组成的。

数据类型(datatype)

数据类型是所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据类型。

行(row)

行是表中的一个记录。

有人会把行(row)称之为数据库记录(record),这两个数据是可以互相代替的,但是从技术上说,行才是正确的术语。

主键(primary key)

主键是一列(或一组列),其值能够唯一区分表中每个行。

表中的任何列只要满足以下条件,都可以作为主键:

  • 任意两行都不具有相同的主键值;
  • 每个行都必须具有一个主键值(主键列不允许 NULL 值)

此外还有几个主键的最佳实践:

  • 不更新主键列中的值;
  • 不重用主键列的值;
  • 不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,就得必须更改这个主键。)

外键(foreign key)

外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。

子句(clause)

SQL 语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。例如 SELECT 语句的 FROM 子句。

操作符(operator)

用来联结或改变 WHERE 子句中的子句的关键字。也称为 逻辑操作符(logical operator)

通配符(wildcard)

用来匹配值的一部分的特殊字符。

搜索模式(search pattern)

由字面量、通配符或两者组合构成的搜索条件

拼接(concatenate)

将值联结到一起构成单个值

别名(alias)

是一个字段或值的替换名。别名用 AS 关键字赋予。别名有时也称为导出列(derived column),不管称为什么,它们所代表的都是相同的东西。

聚集函数(aggregate function)

运行在行组上,计算和返回单个值的函数。

查询(query)

任何 SQL 语句都是查询。但此术语一般指 SELECT 语句。

相关子查询(correlated subquery)

涉及外部查询的子查询。

可伸缩性(scale)

能够适应不断增加的工作量而不失败。设计良好的数据库或应用程序称之为可伸缩性好(scale well)

变量(variable)

内存中一个特定的位置,用来临时存储数据。所有 MySQL 变量都必须以 @ 开始。

SQL(Structured Query Language)

SQL 是结构化查询语言(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言。

SQL 的优点:

  • SQL 不是某个特定数据库供应商专有的语言。即 SQL 不是一种专利语言,而且存在一个标准委员会。几乎所有重要的 DBMS 都支持 SQL。
  • SQL 简单易学。它的语句全都是由描述性很强的英语单词组成,而且这些单词的书目不多。
  • SQL 尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。


一个持续更新的github笔记,链接地址:Front-End-Basics,可以watch,也可以star。

此篇文章的地址:MySql必知必会

你可能感兴趣的:(mysql)