Mysql必知必会 第一章 了解SQL

第一章 了解SQL

1.1 数据库基础

1.1.1 什么是数据库

  • 数据库的定义:保存有组织的数据的容器
  • 数据库软件不是数据库,而是DBMS

1.1.2 表

  • 表(Table)的定义:某种特定类型数据的结构化清单
  • 在同一个数据库中,表名唯一
  • 模式(schema)的定义: 关于数据库和表的布局及特性的信息(有时,模式用作数据库的同义词)

    1.1.3 列和数据类型

  • 表由列组成。列中存储着表中某部分的信息
  • 列(column)的定义: 表中的一个字段。所有表都是由一个或多个列组成的
  • 数据类型(datatype) 的定义:所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据

1.1.4 行

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

    1.1.5 主键

  • 主键(primary key)的定义:一列(或一组列),其值能够唯一区分表中每个行。
  • 表中的任何列都可以作为主键,只要它满足以下两个条件:任意两行都不具有相同的主键值; 每个行都必须具有一个主键值(主键列不允许NULL值)。
  • 可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

主键的最好习惯

除MySQL强制实施的规则外,应该坚持的几个普遍认可的最好习惯为:

  • 不更新主键列中的值;
  • 不重用主键列的值;
  • 不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

1.2 什么是SQL

  • SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。
  • 设计SQL的目的是很好地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法

SQL的优点

  • SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL
  • 灵活使用其语言元素,可以进行非常复杂和高级的数据库操作

猜你喜欢

转载自www.cnblogs.com/shanbei/p/10641727.html