日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

软件测试mysql常用语句_【松勤软件测试】数据库常见面试题总结

發(fā)布時(shí)間:2024/3/24 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件测试mysql常用语句_【松勤软件测试】数据库常见面试题总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

數(shù)據(jù)庫(kù)在筆試題的時(shí)候會(huì)讓你寫,但是在面試的時(shí)候,面試官不會(huì)說(shuō)出題目給你,讓你口頭回答這道題這么做,有時(shí)候他可能會(huì)問(wèn)刪除用什么命名或者啥的,雖然基礎(chǔ),但是真的有可能會(huì)問(wèn)到,今天來(lái)看看數(shù)據(jù)庫(kù)一些基礎(chǔ)的。希望對(duì)大家有所幫助。覺(jué)得不錯(cuò)的話就點(diǎn)贊哦,轉(zhuǎn)發(fā)就更好了

1、SQL的表連接方式有哪些?

SQL中連接按結(jié)果集分為:內(nèi)連接,外連接,交叉連接

內(nèi)連接:inner join on,兩表都滿足的組合。內(nèi)連接分為等值連接,不等連接,自然連接。

等值連接:兩表中相同的列都會(huì)出現(xiàn)在結(jié)果集中。

自然連接:兩表中具體相同列表的列會(huì)合并為同一列出現(xiàn)在結(jié)果集中。

外連接:分為左(外)連接,右(外)連接,全連接

左(外)連接:A left (outer) join B,以A表為基礎(chǔ),A表的全部數(shù)據(jù),B表有的組合,沒(méi)有的為。

右(外)連接:A right(outer) join B,以B表為基礎(chǔ),B表的全部數(shù)據(jù),A表有的組合,沒(méi)有的位null。

全連接:A full (outer) join 兩表相同的組合在一起,A表有,B表沒(méi)有的數(shù)據(jù)(顯示為null),同樣B表有,A表沒(méi)有的顯示為null。

交叉連接:cross join,就是笛卡爾乘積。

2、三范式

1NF:表中的字段都是單一屬性,不再可分。

2NF:在1NF的基礎(chǔ)上,表中所有的非主屬性都必須完全依賴于任意一組候選鍵,不能僅依賴于候選鍵中的某個(gè)屬性。

3NF:在2NF的基礎(chǔ)上,表中所有的屬性都不依賴其他非主屬性。

簡(jiǎn)單的說(shuō)就是:1NF表示每個(gè)屬性不可分割,2NF表示非主屬性不存在對(duì)主鍵的部分依賴,3NF表示不存在非主屬性對(duì)主鍵的依賴傳遞。

3、表的操作

表的創(chuàng)建:create table 表名 (列名1 類型 約束,列2 類型 約束…)

表的刪除:drop table 表名

表的更改(結(jié)構(gòu)的更改,不是記錄的更新):alter table 表名 add|drop 列名|約

束名

插入記錄:insert into 表名…values…

更新記錄:update 表名 set 列名=值 where 條件

刪除記錄:delete from 表名 where 條件

4、數(shù)據(jù)的完整性

數(shù)據(jù)完整性指的是存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的一致性和準(zhǔn)確性。

完整性分類:

(1 )實(shí)體完整性:主鍵值必須唯一且非空。(主鍵約束)

(2)引用完整性(也叫參照完整性):外鍵要么為空,要么引用主表中存在的記錄。(外鍵約束)。

(3)用戶自定義完整性:針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)中的約束條件。

5、SQL的查詢優(yōu)化

(1)從表連接的角度優(yōu)化:盡量使用內(nèi)連接,因?yàn)閮?nèi)連接是兩表都滿足的行的組合,而外連接是以其中一個(gè)表的全部為基準(zhǔn)。

(2)盡量使用存儲(chǔ)過(guò)程代替臨時(shí)寫SQL語(yǔ)句:因?yàn)榇鎯?chǔ)過(guò)程是預(yù)先編譯好的SQL語(yǔ)句的集合,這樣可以減少編譯時(shí)間。

(3)從索引的角度優(yōu)化:對(duì)那些常用的查詢字段簡(jiǎn)歷索引,這樣查詢時(shí)值進(jìn)行索引掃描,不讀取數(shù)據(jù)塊。

(4)還有一些常用的select優(yōu)化技巧:

(5)A、只查詢那些需要訪問(wèn)的字段,來(lái)代替select*

B、將過(guò)濾記錄越多的where語(yǔ)句向前移:在一個(gè)SQL語(yǔ)句中,如果一個(gè)where條件過(guò)濾的數(shù)據(jù)庫(kù)記錄越多,定位越準(zhǔn)確,則該where條件越應(yīng)該前移。

6、索引的作用,聚集索引與非聚集索引的區(qū)別

索引是一個(gè)數(shù)據(jù)庫(kù)對(duì)象,使用索引,可以是數(shù)據(jù)庫(kù)程序無(wú)須對(duì)整個(gè)數(shù)據(jù)進(jìn)行掃描,就可以在其中找到目標(biāo)數(shù)據(jù),從而提高查找效率。索引的底層采用的是B樹(shù)。

聚集索引:根據(jù)記錄的key再表中排序數(shù)據(jù)行。

非聚集索引:獨(dú)立于記錄的結(jié)構(gòu),非聚集所以包含的key,且每個(gè)鍵值項(xiàng)都有指向該簡(jiǎn)直的數(shù)據(jù)行的指針。

聚集索引與非聚集索引的區(qū)別:

(1)聚集索引的物理存儲(chǔ)按索引排序,非聚集所以的物理存儲(chǔ)不按索引排序。

(2) 聚集索引插入,更新數(shù)據(jù)的速度比非聚集索引慢,單查詢速度更快。

(3) 聚集索引的葉級(jí)結(jié)點(diǎn)保存的是時(shí)間的數(shù)據(jù)項(xiàng),而非聚集結(jié)點(diǎn)的葉級(jí)結(jié)點(diǎn)保存的是指向數(shù)據(jù)項(xiàng)的指針。

(4)一個(gè)表只能有一個(gè)聚集索引(因?yàn)橹挥幸环N排序方式),但可以有多個(gè)非聚集索引。

7、存儲(chǔ)過(guò)程與函數(shù)的區(qū)別

(1)函數(shù)有返回值,存儲(chǔ)過(guò)程沒(méi)有返回值。

(2) 因?yàn)榇鎯?chǔ)過(guò)程沒(méi)有返回值,所以不能將存儲(chǔ)過(guò)程的執(zhí)行結(jié)果賦值給變量;函數(shù)有返回值類型,調(diào)用函數(shù)時(shí),可以將函數(shù)的執(zhí)行結(jié)果賦值給變量。也就是說(shuō),函數(shù)可以在select語(yǔ)句中使用,而存儲(chǔ)過(guò)程則不能。

總結(jié)

以上是生活随笔為你收集整理的软件测试mysql常用语句_【松勤软件测试】数据库常见面试题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。