官术网_书友最值得收藏!

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

通過以上內(nèi)容,想必大家都很清楚:所謂的檢索整張表,其實就是檢索一張表中含有的所有列。當(dāng)我們對表中信息有了大致了解以后,就可以將注意力集中在某些特定列上。不過話說回來,究竟要怎樣理解表中的“列”才最貼切呢?

一張表中往往含有多個列,它們代表一組數(shù)據(jù)的分類和歸屬,所以我們可以將“列”視為比表更小一級的存儲單位。也正因如此,大家不妨這樣理解:當(dāng)我們從表中檢索信息的時候,其實是在檢索列中含有的信息。

不錯!但是大家還要知道:由于各個列記錄的信息種類不盡相同,所以它們對應(yīng)的數(shù)據(jù)類型可能也會存在差異。例如,“name”“age”“join_date”這3列對應(yīng)的數(shù)據(jù)類型就各不相同,這是因為它們預(yù)備接收的信息種類存在區(qū)別,分別為字符串、數(shù)值和時間。

其實當(dāng)我們創(chuàng)建聯(lián)絡(luò)清單表時,就會對各個列指定數(shù)據(jù)類型,這將保證只有數(shù)據(jù)類型相符的信息才會被允許錄入,否則就會錄入失敗,例如將人名“Jenny”錄入“join_date”列就會報錯。

事實上,字符串、數(shù)值和時間就是3種主要的數(shù)據(jù)類型,不過它們都還有各自的分支。關(guān)于數(shù)據(jù)類型,大家現(xiàn)階段稍做了解就可以了。

好了,當(dāng)同學(xué)們對表中的列有了更進(jìn)一步的理解之后,接下來,我們將要一起討論如何理解表中的行,舉個例子來看。

我是Jenny(珍妮),今年28歲,現(xiàn)居愛丁堡。希望你活潑風(fēng)趣,能給我?guī)頂?shù)不盡的快樂!

瞧,行就是各個列值的組合,它們會在橫向體現(xiàn)一組數(shù)據(jù)的對應(yīng)關(guān)系。例如該行信息就表示:這位女孩名叫Jenny,今年28歲,她于2020年5月17日鼓起勇氣加入姻緣介紹所,現(xiàn)居地是愛丁堡。然而同學(xué)們都知道,列值的組合方式并非一成不變的,它們會在數(shù)量、種類和順序上發(fā)生變化。

1.檢索不同的列,將得到不同的橫向輸出。例如檢索所有列,那么輸出行中含有的信息就會非常全面:

而如果只檢索name列,那么整行內(nèi)容就會只剩下姓名信息:

再比如,我們要同時檢索name列和age列,那么一行中含有的內(nèi)容又會發(fā)生變化:

2.檢索相同的列,但書寫順序不同,我們也將得到不同的橫向輸出。

例如,同樣是檢索name和age兩列信息,“SELECT name,age”和“SELECT age,name”得到的輸出行并不一樣:

正因為行是列值的組合,所以行是表中數(shù)據(jù)的動態(tài)輸出形式。輸出行之所以是動態(tài)的,是因為它們會隨著檢索語句的變化而變化。也就是說,通過執(zhí)行一條檢索語句,表中的信息會以行的形式返回并呈現(xiàn)。再結(jié)合此前對列的描述,我們就可以做出如下概括。

列是比表更小一級的存儲單位,它在縱向體現(xiàn)一組數(shù)據(jù)的分類和歸屬;而行則是各個列值的組合,它們也是表中數(shù)據(jù)的動態(tài)輸出形式。雖然輸出行會隨著檢索語句的變化而變化,但它們始終都在橫向體現(xiàn)一組數(shù)據(jù)的對應(yīng)關(guān)系。除此以外,大家甚至可以這樣理解:雖然我們在檢索語句中輸入的是列(名),但實際得到(輸出)的卻是行。

主站蜘蛛池模板: 玉环县| 巴林右旗| 延庆县| 塘沽区| 呼伦贝尔市| 米林县| 六枝特区| 南郑县| 张掖市| 建阳市| 扶沟县| 松溪县| 汉阴县| 遵化市| 新民市| 多伦县| 清水河县| 广南县| 新昌县| 永靖县| 比如县| 镇安县| 洛隆县| 安图县| 深泽县| 太保市| 东安县| 三门县| 龙南县| 武义县| 峡江县| 通许县| 泰宁县| 云安县| 浑源县| 丹阳市| 灌南县| 巴青县| 新密市| 陕西省| 蒙阴县|