购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.4 理解表中的“列”与“行”

通过以上内容,想必大家都很清楚:所谓的检索整张表,其实就是检索一张表中含有的所有列。当我们对表中信息有了大致了解以后,就可以将注意力集中在某些特定列上。不过话说回来,究竟要怎样理解表中的“列”才最贴切呢?

一张表中往往含有多个列,它们代表一组数据的分类和归属,所以我们可以将“列”视为比表更小一级的存储单位。也正因如此,大家不妨这样理解:当我们从表中检索信息的时候,其实是在检索列中含有的信息。

不错!但是大家还要知道:由于各个列记录的信息种类不尽相同,所以它们对应的数据类型可能也会存在差异。例如,“name”“age”“join_date”这3列对应的数据类型就各不相同,这是因为它们预备接收的信息种类存在区别,分别为字符串、数值和时间。

其实当我们创建联络清单表时,就会对各个列指定数据类型,这将保证只有数据类型相符的信息才会被允许录入,否则就会录入失败,例如将人名“Jenny”录入“join_date”列就会报错。

事实上,字符串、数值和时间就是3种主要的数据类型,不过它们都还有各自的分支。关于数据类型,大家现阶段稍做了解就可以了。

好了,当同学们对表中的列有了更进一步的理解之后,接下来,我们将要一起讨论如何理解表中的行,举个例子来看。

我是Jenny(珍妮),今年28岁,现居爱丁堡。希望你活泼风趣,能给我带来数不尽的快乐!

瞧,行就是各个列值的组合,它们会在横向体现一组数据的对应关系。例如该行信息就表示:这位女孩名叫Jenny,今年28岁,她于2020年5月17日鼓起勇气加入姻缘介绍所,现居地是爱丁堡。然而同学们都知道,列值的组合方式并非一成不变的,它们会在数量、种类和顺序上发生变化。

1. 检索不同的列,将得到不同的横向输出。例如检索所有列,那么输出行中含有的信息就会非常全面:

而如果只检索name列,那么整行内容就会只剩下姓名信息:

再比如,我们要同时检索name列和age列,那么一行中含有的内容又会发生变化:

2. 检索相同的列,但书写顺序不同,我们也将得到不同的横向输出。

例如,同样是检索name和age两列信息,“SELECT name,age”和“SELECT age,name”得到的输出行并不一样:

正因为行是列值的组合,所以行是表中数据的动态输出形式。输出行之所以是动态的,是因为它们会随着检索语句的变化而变化。也就是说,通过执行一条检索语句,表中的信息会以行的形式返回并呈现。再结合此前对列的描述,我们就可以做出如下概括。

列是比表更小一级的存储单位,它在纵向体现一组数据的分类和归属;而行则是各个列值的组合,它们也是表中数据的动态输出形式。虽然输出行会随着检索语句的变化而变化,但它们始终都在横向体现一组数据的对应关系。除此以外,大家甚至可以这样理解:虽然我们在检索语句中输入的是列(名),但实际得到(输出)的却是行。 4+cvK2lQJyC1Mr/Eb7FsJ1R5V/xMVUtmjSTb61n3dsjOM9js8aWWQUyLjDeqHSBv

点击中间区域
呼出菜单
上一章
目录
下一章
×