看看男人日女人,亚洲欧美日韩日本国产三,国产精品欧美日韩区二区,妓女影库妓女网在线视频

數(shù)據(jù)庫(kù)常見(jiàn)面試題精選(數(shù)據(jù)庫(kù)常見(jiàn)面試題精選及答案)

(1)表的操作

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

表的刪除:drop table 表名

表的更改:alter table 表名 add|drop 列名|約束名

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

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

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

查詢(xún)記錄:select 列名… from 表名 where 條件

(2)什么是數(shù)據(jù)庫(kù)約束,常見(jiàn)的約束有哪幾種?

約束可以分為:主鍵約束primary key、

外鍵約束foreign key、

唯一約束unique、

檢查約束check、

空值約束not null、

默認(rèn)值約束default

數(shù)據(jù)庫(kù)常見(jiàn)面試題精選(數(shù)據(jù)庫(kù)常見(jiàn)面試題精選及答案)

(3)主鍵和外鍵的區(qū)別?

主鍵在本表中是唯一的,不可為空的,外鍵可以重復(fù)可以為空。

外鍵和另一張表的主鍵關(guān)聯(lián),不能創(chuàng)建對(duì)應(yīng)表中不存在的外鍵。

(4)什么是索引??jī)?yōu)缺點(diǎn)?

對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),使用索引可快速訪問(wèn)數(shù)據(jù)庫(kù)表中的特定信息。

優(yōu)缺點(diǎn):優(yōu)點(diǎn):利用索引可以加速對(duì)數(shù)據(jù)的檢索,索引是可以唯一的,創(chuàng)建索引允許指定單個(gè)列或者多個(gè)列

缺點(diǎn):減慢了數(shù)據(jù)錄入速度,同時(shí)也增加了數(shù)據(jù)庫(kù)的尺寸大小

(5)order by和group by的區(qū)別?

order by為排序查詢(xún)、

ASC升序 DESC降序

group by為分組查詢(xún)、

having只能用于group by子句、作用于組內(nèi)、

having條件子句的查詢(xún)語(yǔ)句需要使用聚合函數(shù)

(6)sql的表連接方式有哪些?

內(nèi)連接、外連接、交叉連接

內(nèi)連接:inner join in ,兩表都滿足的組合

外連接:分為左連接、右連接、全連接

左連接 A left(outer) join B

以A表為基礎(chǔ),A表的全部數(shù)據(jù),B表有的組合,沒(méi)有的為null

右連接 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,即使笛卡爾乘積

(7)在數(shù)據(jù)庫(kù)中查詢(xún)語(yǔ)句速度很慢,如何優(yōu)化?

① 建立索引

② 減少表之間的關(guān)聯(lián)

③ 優(yōu)化sql語(yǔ)句,盡量讓sql很快定位數(shù)據(jù),不要讓sql做全表查詢(xún),應(yīng)該走索引,把數(shù)據(jù)量大的排在前面

④ 簡(jiǎn)化查詢(xún)字段,沒(méi)用的字段不要

⑤ 盡量用PreparedStatement來(lái)查詢(xún),不要用Statement

(8)什么是游標(biāo)?

游標(biāo)是一種能從包括多條數(shù)據(jù)記錄的結(jié)果中每次提取一條記錄進(jìn)行處理的機(jī)制。

游標(biāo)的使用步驟:① 定義游標(biāo) declare cursor 游標(biāo)名稱(chēng) for select 查詢(xún)語(yǔ)句[for {readonly|update}]

② 打開(kāi)游標(biāo) open cursor

③ 從游標(biāo)中操作數(shù)據(jù) fetch… current of cursor

④ 關(guān)閉游標(biāo) close cursor

(9)如何在刪除主表記錄時(shí),一并刪除從表相關(guān)聯(lián)的記錄?

如果兩張表存在主外鍵關(guān)系,那么在刪除主鍵表的記錄時(shí),如果從表有相關(guān)聯(lián)的記錄那么將導(dǎo)致刪除失敗

在定義外鍵約束時(shí),可以同時(shí)指定3種刪除策略:一是將從表記錄一并刪除(級(jí)聯(lián)刪除);

二是將從表記錄外鍵字段設(shè)置為NULL;

(10)列舉幾種常用的聚合函數(shù)?

sum函數(shù) avg函數(shù) max函數(shù) min函數(shù) count函數(shù)

數(shù)據(jù)庫(kù)常見(jiàn)面試題精選(數(shù)據(jù)庫(kù)常見(jiàn)面試題精選及答案)

(11)oracle基本數(shù)據(jù)類(lèi)型?

字符串類(lèi)型 char 、nchar 、 varchar 、 vachar2

② 數(shù)字類(lèi)型 number 、 integer

③ 浮點(diǎn)類(lèi)型 float

④ 日期類(lèi)型 date 、 timestamp

⑤ LOB類(lèi)型 blob 、 clob 、 nclob 、 bfile

(12)oracle和mysql的區(qū)別?

庫(kù)函數(shù)不同

② oracle是用表空間來(lái)管理的,mysql不是

③ 顯示當(dāng)前所有的表、用戶(hù)、改變連接用戶(hù)、顯示當(dāng)前連接用戶(hù)、執(zhí)行外部腳本的語(yǔ)句的不同

④ 分頁(yè)查詢(xún)時(shí),mysql用limit ;oracle用rownum

(13)union和union all有什么不同?

union在進(jìn)行表連接后篩選重復(fù)的記錄,所以在表連接后會(huì)對(duì)所產(chǎn)生的結(jié)果集進(jìn)行排序運(yùn)算,刪除重復(fù)的記錄再返回結(jié)果

union all 只是簡(jiǎn)單地將兩個(gè)結(jié)果合并后返回

從效率上說(shuō),union all比union快很多,所以,如果可以確認(rèn)合并的兩個(gè)結(jié)果集中不包括重復(fù)的數(shù)據(jù)的話,那么就使用union all

(14)truncate和delete的區(qū)別?

相同處:二者均刪除表中的全部行

不同處:① truncate table比delete速度快

② delete語(yǔ)句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項(xiàng);truncate通過(guò)釋放存儲(chǔ)數(shù)據(jù)所用的數(shù)據(jù)頁(yè)來(lái)刪除數(shù)據(jù),并且只在事務(wù)日志中記錄頁(yè)的釋放。

③ truncate table刪除內(nèi)容,釋放空間但不刪除定義

④ delete table刪除內(nèi)容,不刪除定義但不釋放空間

⑤ drop table刪除內(nèi)容和定義,釋放空間

(15)行轉(zhuǎn)列、列轉(zhuǎn)行怎么轉(zhuǎn)?

① 使用decode函數(shù)

② 使用case when語(yǔ)句

(16)oracle怎么去重?怎么獲取系統(tǒng)時(shí)間?

去重:使用distinct關(guān)鍵字 select distinct name from A

獲取系統(tǒng)時(shí)間:select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss') from dual;

(17)序列的作用?

oracle使用序列來(lái)生成唯一編號(hào),用來(lái)處理一個(gè)表中自增字段。

一旦訪問(wèn)一個(gè)序列號(hào),oracle將在處理下一個(gè)請(qǐng)求之前自動(dòng)遞增下一個(gè)編號(hào),從而確保不會(huì)出現(xiàn)重復(fù)值。

(18)什么是存儲(chǔ)過(guò)程?存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn)?

存儲(chǔ)過(guò)程一個(gè)預(yù)編譯的sql語(yǔ)句,優(yōu)點(diǎn)是允許模塊化的設(shè)計(jì)

就是說(shuō)只需創(chuàng)建一次,以后在該程序中就可以調(diào)用多次,如果某次操作需要執(zhí)行多次sql,使用存儲(chǔ)過(guò)程比單純的sql語(yǔ)句執(zhí)行要快。

存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn):

優(yōu)點(diǎn):① 存儲(chǔ)過(guò)程是預(yù)編譯過(guò)的,執(zhí)行效率高

② 存儲(chǔ)過(guò)程的代碼存放于數(shù)據(jù)庫(kù)中,通過(guò)存儲(chǔ)過(guò)程名直接調(diào)用,減少網(wǎng)絡(luò)通訊。

③ 安全性高,執(zhí)行存儲(chǔ)過(guò)程需要有一定權(quán)限的用戶(hù)

④ 存儲(chǔ)過(guò)程可以重復(fù)使用,可減少數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的工作量

缺點(diǎn):移植性差

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

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

② 因?yàn)榇鎯?chǔ)過(guò)程沒(méi)有返回值,所以不能將存儲(chǔ)過(guò)程的執(zhí)行結(jié)果賦值給變量;函數(shù)有返回值類(lèi)型,調(diào)用函數(shù)時(shí),可以將函數(shù)的執(zhí)行結(jié)果賦值給變量。

也就是是說(shuō),函數(shù)可以在select語(yǔ)句中使用,而存儲(chǔ)過(guò)程則不能。

下面是一些sql語(yǔ)句練習(xí):

— 查詢(xún)所有學(xué)生的數(shù)學(xué)成績(jī)

select s.name,g.score

from student s, grade g

where s.id=g.id and g.kemu='數(shù)學(xué)';

— 統(tǒng)計(jì)每個(gè)學(xué)生的總成績(jī),顯示字段:姓名、總成績(jī)

select a.name sum(b.score) as sum_score

from student a, grade b

where a.id = b.id group by name;

— 列出各門(mén)課程成績(jī)最好的學(xué)生,要求顯示字段:學(xué)號(hào)、姓名、科目、成績(jī)

select a.id, a.name, g.kemu, max(g.score)

from student a, grade g

where a.id = g.id group by g.kemu

— 列出數(shù)學(xué)成績(jī)前三名的學(xué)生信息

select a.id, a.name, g.kemu, g.score

from student a, grade g

where g.score = '數(shù)學(xué)' order by score limit 3;

— 統(tǒng)計(jì)英語(yǔ)課少于80分的人

select a.id, a.name, g.kemu, g.score

from student a, grade g where a.id g.id

and g.kemu = '英語(yǔ)' orader by g.score <80;

— 查詢(xún)每科成績(jī)的前兩名

select a.id , a.name, g.kemu, g.score

from student a, grade g

where a.id = g.id

order by g.kemu limit 2;

數(shù)據(jù)庫(kù)常見(jiàn)面試題精選(數(shù)據(jù)庫(kù)常見(jiàn)面試題精選及答案)

感謝每一個(gè)認(rèn)真閱讀我文章的人!??!

如果下面這些資料用得到的話可以直接拿走:

1、自學(xué)開(kāi)發(fā)或者測(cè)試必備的完整項(xiàng)目源碼與環(huán)境

2、測(cè)試工作中所有模板(測(cè)試計(jì)劃、測(cè)試用例、測(cè)試報(bào)告等)

3、軟件測(cè)試經(jīng)典面試題

4、Python/Java自動(dòng)化測(cè)試實(shí)戰(zhàn).pdf

5、Jmeter/postman接口測(cè)試全套視頻獲取

我個(gè)人整理了我這幾年軟件測(cè)試生涯整理的一些技術(shù)資料,包含:電子書(shū),簡(jiǎn)歷模塊,各種工作模板,面試寶典,自學(xué)項(xiàng)目等。需要的可以找我

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢(xún)
分享本頁(yè)
返回頂部
潜山县| 张家港市| 平顺县| 左权县| 元江| 理塘县| 出国| 石城县| 桐柏县| 青铜峡市| 武川县| 巢湖市| 衡阳县| 沅陵县| 湘潭县| 新昌县| 庆城县| 千阳县| 化州市| 法库县| 育儿| 安国市| 梅州市| 隆化县| 武城县| 高雄县| 应用必备| 施甸县| 三江| 扎赉特旗| 华容县| 青铜峡市| 赞皇县| 吴江市| 莱西市| 台山市| 铜梁县| 民勤县| 囊谦县| 美姑县| 丹江口市|