了解SQL

Understanding SQL

数据库基础

你正在阅读本书,这表明你需要以某种方式与数据库打交道。在深入学习MySQL及其SQL语言的实现之前,应该对数据库及数据库技术的某些基本概念有所了解。

什么是数据库

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

表(table):某种特定类型数据的结构化清单。表名的唯一性取决于多个因素,如数据库名和表名等的结合。这表示,虽然在相同数据库中不能两次使用相同的表名,但在不同的数据库中却可以使用相同的表名。

列和数据类型

表有列组成,列中存储着表中某部分的信息。

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

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

表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表想象为网络,网络中垂直的列为表列,水平行为表行。

行(row):表中的一个记录。

主键

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

应该总是定义主键。虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后数据操纵和管理。

表中的任何列都可以作为主键,只需要它满足以下条件,且这些条件是MySQL本身强制实施的:

  • 任意两行都不具有相同的主键值。

  • 每个行都必须具有一个主键值(主键列不允许NULL值)

主键的好习惯。除MySQL强制实施的规则外,应该坚持的几个普遍认可的最好习惯:

  • 不更新主键列中的值

  • 不重用主键列的值

  • 不在主键列中使用可能会更改的值

什么是SQL

SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。

SQL有如下的优点。

  • SQL不是某个特定数据库供应商专有的语言

  • SQL简单易学

  • SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。