《MySQL》第一章 了解SQL

数据库基础

1.1.1 什么是数据库

数据库是一个以某种有组织的方式储存的数据集合,可以把数据库想象成一个文件柜

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

数据库(database)与数据库软件(DBMS)
数据库是通过DBMS创建和操作的容器
不能直接访问数据库,而要使用DBMS,他替你访问数据库。

1.1.2 表

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

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

  • 储存在表中的应该是一种类型的数据或者一个清单,绝不应该将顾客的清单和订单的清单储存在同一个数据库表中——这样会使以后的检索和访问变得很困难。
  • 数据库中的每一个表都一个名字,用来标识自己,此名字是唯一的。
  • 表具有一些特性,这些特性定义了数据在表中如何存储:如可以存储什么样的数据、数据如何分解、各部分信息如何命名等等。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库。

模式(schema)关于数据库和表的布局及特性的信息。

1.1.3 列和数据类型

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

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

  • 例如再顾客表中,一个列存储着顾客编号,另一个存储着顾客名,地址、城市、州以及邮政编码全都存储在各自的列中。
  • 数据库中每个列都有相应的数据类型。数据类型定义列可以存储的数据种类。

数据类型(datatype)所容许数据的类型,每个表列都有相应的数据类型,限制该列中存储的数据。
数据类型能帮助正确地排序数据,并在优化磁盘使用方面起重要作用。

1.1.4 行

表中的数据是按行存储的,所保存的每个记录存储在自己的行内。
行(row)表中的一个记录。

是记录还是行?
行(row)和数据库记录(record)很大程度上是可以互相代替的。

1.1.5 主键

表中的每一行都应该有可以唯一标识自己的一列(或一组列)。
主键(primary key)一列(或一组列),其值能够唯一区分表中的每一行。

  • 没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。

应该总是定义主键
虽然并不总是需要主键,但是因该保证每一个表都有一个主键,以便于以后的数据操纵和管理

  • 表中的任何列都可以作为主键,只要它满足以下条件:
    1. 任意两行都不具有相同的主键值
    2. 每个行都必须具有一个主键值(主键列不允许NULL值)
  • 主键通常定义在表的一列上,但这并非必须,也可以一起使用多个列作为主键。此时,所有列值的自核必须是唯一的(但是单个列的值可以不唯一)

主键的几个好习惯
除MySQL强制实施的规则之外,应该坚持的几个普遍认可的好习惯为:
1. 不更新主键列中的值
2. 不重用主键列中的值
3. 不在主键列中使用可能会更改的值(使用一个名字作为主键以标识某个供应商,当该供应商更名时,就必须更改这个主键。)

1.2 什么SQL

SQL是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容