書名: 快速念咒:MySQL入門指南與進(jìn)階實戰(zhàn)作者名: 彭宇奇本章字?jǐn)?shù): 1106字更新時間: 2024-05-24 18:33:18
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)系。除此以外,大家甚至可以這樣理解:雖然我們在檢索語句中輸入的是列(名),但實際得到(輸出)的卻是行。
- 深入理解Android(卷I)
- Mastering RabbitMQ
- 小創(chuàng)客玩轉(zhuǎn)圖形化編程
- DevOps Automation Cookbook
- Mastering matplotlib
- Oracle BAM 11gR1 Handbook
- Mastering ServiceNow(Second Edition)
- HTML5開發(fā)精要與實例詳解
- Oracle數(shù)據(jù)庫編程經(jīng)典300例
- Scratch從入門到精通
- Oracle 12c從入門到精通(視頻教學(xué)超值版)
- 征服C指針(第2版)
- Blender 3D Cookbook
- C++面向?qū)ο蟪绦蛟O(shè)計
- Getting Started with Windows Server Security