SQL learning - chapter1

Posted by franki on February 16, 2023

第1课 了解 SQL

1.1 数据库基础

每当你从电子邮件地址薄里面查找名字的时候,就是在使用数据库。你在网络上进行搜索,也是在使用数据库。

1.1.1 数据库

从本书而言(SQL),数据库就是一个以某种有组织的方式存储的数据集合。最简单的方式就是将数据库想象成一个文件柜。这个文件柜是一个存储数据的物理位置,不管数据是什么,也不管数据如何组织的。

1.1.2 表

存放数据的时候,并不是一股脑的塞入就完事了,而是通过固定的数据放入到固定的文件位置,方便后续查找。在数据库领域,这个位置文件叫做表。表是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信息清单。

关键点事,存储在表中的数据是同一种类型的数据或者清单。

表名,必须唯一。

表具有一些特性,这些特性定义了表中如何进行存储,包括存储什么样的数据,数据如何分解,各部分信息如何命名等信息。描述表的这组信息就是所谓的模式(schema),模式可以描述数据库中特定的表,也可以用来描述整个数据库。

1.1.3 列和数据类型

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

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

数据库中的每个列都有响应的数据类型。数据类型(datatype)定义了列可以存储的哪些数据种类。可以是数值、日期、字符串。

1.1.4 行

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

1.1.5 主键

表中每一行应该有一列可以唯一标识自己。顾客可以用顾客编号。

用来标识一个特定的行。没有主键,更新或者删除表中特定的行就极为困难。

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

  • 任何两行都不具有相同的主键值
  • 每一行都必须具有一个主键值
  • 主键列中的值不允许修改或更新
  • 主键值不能重用

1.2 什么是 SQL

SQL 是 Structured Query Language(结构化查询语言)的缩写。

特点

  • SQL 不是特定某个数据库供应商的专有语言
  • SQL 简单易学
  • SQL 虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作

1.3 动手实践

需要一个数据库和用来测试 SQL 语句的应用系统。

1.4 小结

介绍了什么是 SQL,它为什么很有用。因为 SQL 是用来与数据库打交道的,所以,我们复习了一些基本的数据库术语。