1.了解SQL「SQL必知必会 第5版」

前言

本系列是个人看 《SQL必知必会(第5版)》 的记录,需要的数据可以通过 建表 导入数据 下载导入.

正文

数据库

数据库这个术语的用法很多,从 SQL 的角度来看,数据库是一个以某种有组织的方式存储的数据集合。最简单的办法是将数据库想象为一个文件柜。

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

注意:误用导致混淆
人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的,也因此产生了许多混淆。确切地说,数据库软件应称为数据库管理系统(DBMS)。

表是一种结构化的文件,可用来存 储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信息清单。

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

数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即数据库中没有其他表具有相同的名字。

列和数据类型

表由列组成。列存储表中某部分的信息。

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

数据库中每个列都有相应的数据类型。数据类型(datatype)定义了列可以存储哪些数据种类。举个🌰子,如果列中存储的是数字(或许是订单中的物品数),则相应的数据类型应该为数值类型。如果列中存储的是日期、文本、注释、金额等,则应该规定好恰当的数据类型。

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

主键

表中每一行都应该有一列(或几列)可以唯一标识自己。 主键用来表示一个特定的行。没有主键,更新或删除表中特定行就极为困难,因为你不能保证操作只涉及相关的行,没有伤及无辜。

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

  • 任意两行都不具有相同的主键值;
  • 每一行都必须具有一个主键值(主键列不允许空值 NULL);
  • 主键列中的值不允许修改或更新;
  • 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

主键通常定义在表的一列上,但并不是必须这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但其中单个列的值可以不唯一)。还有一种非常重要的键,称为外键,

什么是 SQL

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

SQL 有哪些优点呢?

  • SQL 不是某个特定数据库厂商专有的语言。绝大多数重要的DBMS支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
  • SQL 简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。
  • SQL 虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。