SQL必知必会 - 读书笔记(一)

何为数据库(DataBase)

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

何为表(Table)

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

使表成为唯一的,实际上是数据库名和表名的组合

何为行(Row)

表中的一个记录

有时人们提到行(Row)时也将其称为数据库记录(Record),这两个术语是互通的,但从技术上来讲,行才是正确术语

何为列(Column)

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

Q:何为数据类型 ?

A:描述该列允许什么类型的数据

问题延申 - 数据类型兼容问题:

  • 数据类型及名称是SQL不兼容的一个主要原因
  • 虽然多数SQL都支持基本的数据类型,但是高级的数据类型却不互通
  • 更糟的是,偶尔会有相同数据类型,但在DBMS里具有不同的名称

重要的是,我们要在创建表结构时记住这些差异

何为主键(primary key)

一列(或几列),其值能够唯一标识表中的每一行

关于主键:

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

冷知识:使用多个列作为主键时,单个列的主键值可以不唯一

何为SQL(Structured Query Language)

SQL:专门用于与数据库沟通的语言

优点:

  • SQL不是数据库厂商特有的语言,绝大多数DBMS都支持SQL
  • 简单,强大,可以进行复杂数据库操作

冷知识:

  • 标准SQL由ANSI标准委员会管理,故也称 ANSI SQL
  • 许多DBMS厂商对SQL进行扩展,增加语句或指令,提供执行特定操作的额外功能或简化方法