本文是《SQL必知必会》书籍读书笔记的第1篇。

SQL入门 [Understanding SQL]

基础概念

数据库[database]:以某种有组织的方式存储的数据集合。

数据库软件不是数据库,而应称为数据库管理系统[DBMS]

表[table]:某种特定类型数据的结构化表单。具有表名,一般是数据库名+表名,唯一索引。描述表和数据库的布局及特性的一组信息称为模式[schema]

数据表

  • 列[column]:正确地将表分为多个列对于分类和过滤特别重要。每个列都有相应的数据类型数据类型[datatype]定义了列可以存储哪些数据种类。
  • 行[row]:又称为记录record,但行才是规范用语。
  • 主键[primary key]:用于唯一标识表中行的一列。并不必须,但推荐标识。

    主键定义要求:

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

    SQL[Structured Query Language]:结构化查询语言。

SQL优点

SQL 优点:

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

关键字[keyword]:如SELECT INSERT等,不能用作表和列的名字。

SQL语法规则

SQL 语法规则:

  • 不区分大小写(许多SQL开发人员喜欢对SQL关键字使用大写,而对列名和表名使用小写)

    • 虽然SQL不区分大小写,但表名、列名和值可能区分(取决于具体的DBMS及其配置)
  • 使用;来结束语句(虽有些数据库并不必须,但应习惯加上以免出错。)
  • 所有空格、换行均被忽略(多数SQL开发人员认为,将SQL语句分成多行更容易阅读和调试。)
  • 行内注释方法:-- 注释语句,多行注释方法:/* 注释语句 */

    • 亦有一种注释方法是在行首#,然后一整行都是注释,但这种很少得到支持,并不推荐使用。