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

表(table):
某种特定类型数据的结构化清单。(表名在这个数据库中是唯一的)

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

表由列组成。列存储表中某部分的信息
列(column):
表中的一个字段。所有表都是由一个或多个列组成的

数据类型:
所允许的数据的类型。每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。
数据类型限定了可存储在列中的数据种类

注意:数据类型兼容
数据类型及其名称是SQL不兼容的一个主要原因。虽然大多数基本数据类型得到了一致的支持,但许多高级的数据类型却没有。更糟的是,偶然会有相同的数据类型在不同的DBMS中具有不同的名称。对此用户毫无办法,重要的是在创建表结构时要记住这些差异。

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

主键(primary key)
一列(或一组列),其值能够唯一标识表中每一行。
表中的任何列都可以作为主键,只要它满足以下条件:
• 任意两行都不具有相同的主键值;
• 每一行都必须具有一个主键值(主键列不允许NULL值);
• 主键列中的值不允许修改或更新;
• 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。
主键通常定义在表的一列上,但并不是必需这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)

二、什么是SQL
SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库沟通的语言。
设计SQL的目的是很好地完成一项任务——提供一种从数据库中读写数据的简单有效的方法。
SQL有如下的优点。
• SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
• SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。
• SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

标准SQL由ANSI标准委员会管理,从而称为ANSI SQL。所有主要的DBMS,即使有自己的扩展,也都支持ANSI SQL。各个实现有自己的名称,如PL/SQL、Transact-SQL 等。这里主要讲的是ANSI SQL。