怎么理解mysql里的字段和记录?

请教一个非常基础的问题, 今天看了个关于mysql的基础视频, 里面老师讲:

  • 像excel表格一样
  • 行 - 记录
  • 列 - 字段

乍一听觉得很简单很好理解, 但仔细一想, 我觉得有点理解不透. 以下面图片为例.

  1. 行 - 记录, 一行就是一条记录.
  2. 列 - 字段

    • 图片里的字段仅仅是指ID, 姓名, 年龄, 籍贯? 还是包括其下方的整列数据?
    • 如果说字段是整列数据的话, 那红蓝交叉的单元格, 既是字段又是记录?
    • 字段和记录有什么关系呢? 字段组成记录?

      • 从列的角度来看, 这四个字段( 1, 刘一, 11, 北京)组成一条记录?
    • 这样理解有什么问题吗? 该怎么正确理解? 有没有其它需要注意的点?
  3. 从单个数据来看的话, 既可能是行, 也可能是列. 所以"行- 记录, 列-字段" 这种说法, 让人有点迷.

    • 类似地, 像键名 - 键值, 集合, 子集, 空集, 元素, 这些名词的含义都是非常确定, 就比较好理解.

图片描述

阅读 5.1k
2 个回答

你觉得混乱是因为你把 的概念忽略掉了。

  1. 先有表,那表的定义里很重要的一部分就是这个表里有什么字段。比如对任何合法公民来说,都应该有身份证号、姓名、年龄等等。注意这里的 应该有,即对于一个主体(表),它具有一些元素(字段),但是这些元素的值是允许不存在的(比如黑户)、重复的(姓名、年龄),具体哪些字段允许哪些不允许,这也是字段本身的属性,这在建表的时候你应该能发现语句中关于这里的定义部分;
  2. 现在再来理解记录就容易多了。任何表从一开始就会有 N(N >= 0)个字段,但此时表中没有任何记录。有了记录之后,每一行记录显然都由于表的定义(即表结构)而明确了记录中的各个部分(数据项)对于这条记录有怎样的含义。

字段就是表中定义的某一个或多个属性,是有类型的,而没有实际数据。
一条记录对应多个字段,并根据多个字段的类型逐一赋值,它是有实际数据的,一条记录的数据项个数取决于你定义的字段的个数。
字段和记录都可以有多个,但是字段是垂直叠加的,而记录是水平叠加。
一个表先有表和字段,才会有记录。
从博主的图来看,字段只包含第一行,多个字段垂直分布,记录有n行,多个记录水平分布。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题