新聞中心
如何將C課程內(nèi)容增加到SQL數(shù)據(jù)庫中

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的那坡網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在計(jì)算機(jī)科學(xué)中,C語言是一門廣泛使用的編程語言,在軟件工程中也是不可缺少的一部分。而SQL(結(jié)構(gòu)化查詢語言)則是一種標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言,它被廣泛應(yīng)用于數(shù)據(jù)庫管理系統(tǒng)之中。本文將會探討如何將C課程內(nèi)容增加到SQL數(shù)據(jù)庫中,幫助讀者更好地了解計(jì)算機(jī)科學(xué)并提高編程技能。
之一步:建立數(shù)據(jù)庫
在將C課程內(nèi)容添加到SQL數(shù)據(jù)庫之前,需要先建立一個數(shù)據(jù)庫并命名。可以使用MySQL、Microsoft SQL Server等數(shù)據(jù)庫管理系統(tǒng)軟件。以MySQL為例,執(zhí)行以下命令來創(chuàng)建一個名為’c_courses’的數(shù)據(jù)庫:
“`
CREATE DATABASE c_courses;
“`
第二步:編寫表結(jié)構(gòu)
在創(chuàng)建數(shù)據(jù)庫后,需要將C課程內(nèi)容定義為表結(jié)構(gòu)。每個課程可以定義為一行數(shù)據(jù),包含以下列:課程名稱、教授名稱、授課時(shí)間、學(xué)分等等。可以使用以下命令來創(chuàng)建一個名為’courses’的表:
“`
CREATE TABLE courses (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
professor VARCHAR(255) NOT NULL,
time VARCHAR(255) NOT NULL,
credits INT(11),
PRIMARY KEY (id)
);
“`
以上命令會創(chuàng)建一個具有自動遞增ID的’courses’表。ID用于唯一標(biāo)識每門課程,指定表結(jié)構(gòu)后可以將C課程內(nèi)容添加到表內(nèi)。
第三步:使用INSERT命令添加數(shù)據(jù)
在建立表結(jié)構(gòu)后,使用INSERT命令將C課程內(nèi)容添加到表內(nèi)。使用以下命令來添加一門課程:
“`
INSERT INTO courses (name, professor, time, credits)
VALUES (‘C++ Programming’, ‘John Smith’, ‘Tue&Thur 1:00pm-2:30pm’, 4);
“`
以上命令會在’courses’表內(nèi)添加一行數(shù)據(jù),其中包含課程名稱(’C++ Programming’)、教授名稱(’John Smith’)、授課時(shí)間(’Tue&Thur 1:00pm-2:30pm’)和學(xué)分(4)??梢允褂妙愃频拿钐砑痈嗟恼n程內(nèi)容并將其保存到表內(nèi)。
第四步:使用SELECT命令查詢數(shù)據(jù)
添加課程后,可以使用SELECT命令查詢數(shù)據(jù)。使用以下命令查詢’courses’表內(nèi)所有課程:
“`
SELECT * FROM courses;
“`
以上命令將返回’courses’表內(nèi)所有行的數(shù)據(jù)。若只需要查詢特定的課程名稱或教授名稱等信息,可以使用以下命令:
“`
SELECT * FROM courses WHERE name=’C++ Programming’;
“`
以上命令將會返回名為’C++ Programming’的課程的所有信息。
本文介紹了如何將C課程內(nèi)容添加到SQL數(shù)據(jù)庫中,包括建立數(shù)據(jù)庫、定義表結(jié)構(gòu)、使用INSERT命令添加數(shù)據(jù)以及使用SELECT命令查詢數(shù)據(jù)。使用SQL數(shù)據(jù)庫可以更好地管理C課程內(nèi)容,提高編程效率。
相關(guān)問題拓展閱讀:
- sql數(shù)據(jù)庫 建立三個表 student(學(xué)號 姓名 性別) sc(學(xué)號 課程號 成績)course(課程號 課程名 分?jǐn)?shù) )
sql數(shù)據(jù)庫 建立三個表 student(學(xué)號 姓名 性別) sc(學(xué)號 課程號 成績)course(課程號 課程名 分?jǐn)?shù) )
select a.姓名, b.*
from students a,
(select sc.學(xué)號, avg(sc.成績), count(sc.課程號) 不及格數(shù)桐和量啟圓
from sc
where sc.成績 1) b
where a.學(xué)號 = b.學(xué)號悄輪塌
order by a.學(xué)號;
select 姓名,savg from (select 學(xué)號,avg(成績)as savg from sc where 成績=2) t1,student where t1.學(xué)號=student.學(xué)號
1. Group By 語句簡介:
Group By語句從英文的字面意義上理解就是“根據(jù)(by)一定的規(guī)則進(jìn)行分組(Group)”。它的作用是通過一定的規(guī)則將一個數(shù)據(jù)集劃分成若干個小的區(qū)卜談域,然后針對若干個小區(qū)域進(jìn)行數(shù)據(jù)處理。 2. Group By 的使用: 上面已經(jīng)給出了對Group By語句的理解。基于這個理解和SQL Server 2023的聯(lián)機(jī)幫助,下面對Group By語句的各種典型使用進(jìn)行依次列舉說明。 2.1 Group By : 這個恐怕是Group By語句最常見的用法了,Group By + (可以有多個)。在執(zhí)行了這個操作以后,數(shù)據(jù)集將根據(jù)分組字段的值將一個數(shù)據(jù)集劃分成各個不同的小組。比如有如下數(shù)據(jù)集,其中水果名稱(FruitName)和出產(chǎn)國家(ProductPlace)為聯(lián)合主鍵: FruitName ProductPlace Price
Apple China $1.1
Apple Japan $2.1
Apple USA $2.5
Orange China $0.8
Banana China $3.1
Peach USA $3.0
如果我們想知道每個國家有多少種水果,那么我們可以通過如下SQL語句來完成: SELECT COUNT(*) AS 水果種類, ProductPlace AS 出產(chǎn)國 FROM T_TEST_FRUITINFO GROUP BY ProductPlace 這個SQL語句就是使用了Group By + 分組字段的方式,那么這句SQL語句就可以解釋成“我按照出產(chǎn)國家(ProductPlace)將數(shù)據(jù)集進(jìn)行分組,然后分別按照各個組來統(tǒng)計(jì)各自的記錄數(shù)量?!焙芎美斫鈱Π伞_@里值得注意的是結(jié)果集中有兩個返回字段,一個是ProductPlace(出產(chǎn)國), 一個是水果種類。如果我們這里水果種類不是用Count(*),而是類似如下寫法的話: SELECT FruitName, ProductPlace FROM T_TEST_FRUITINFO GROUP BY ProductPlace 那么SQL在執(zhí)行此語句的時(shí)候會報(bào)如下的類似錯誤:者轎 選擇列表中的列 ‘T_TEST_FRUITINFO.FruitName’ 無效,因?yàn)樵摿袥]有包含在聚合函數(shù)或 GROUP BY 子句中。 這就是我們需要注意的一點(diǎn),如果在返回集字段中,這些字段要么就要包含在Group By語句的后面,作為分組的依據(jù);要么就要被包含在聚合函數(shù)中。我們可以將Group By操作想象成如下的一個過程,首先系統(tǒng)根據(jù)SELECT 語句得到一個結(jié)果集,如最開始的那個水果、出產(chǎn)國家、單價(jià)的一個詳細(xì)表。然后根據(jù)分組字段,將具有相同分組字段的記錄歸并成了一條記錄。這個時(shí)候剩下的那些不存在于Group By語句后面作為分組依據(jù)的字段就有可能出現(xiàn)多個值,但是目前一種分組情況只有一條記錄,一個數(shù)據(jù)格是無法放入多個數(shù)值的,所以這里就需要通過一定的處理將這些多值的列轉(zhuǎn)化成單值,然后將其放在對應(yīng)的數(shù)據(jù)格中,那么完成這個步驟的就是聚合函數(shù)。這就是為什么這些函數(shù)叫聚合函數(shù)(aggregate functions)了。 2.2 Group By All : Group By All + 分組字段, 這個和前面提到的Group By 的形式多了一個關(guān)鍵字ALL。這個關(guān)鍵字只有在使用了where語句的,且where條件篩選掉了一些組的情況才可以首弊肆看出效果。在SQL Server 2023的聯(lián)機(jī)幫助中,對于Group By All是這樣進(jìn)行描述的: 如果使用 ALL 關(guān)鍵字,那么查詢結(jié)果將包括由 GROUP BY 子句產(chǎn)生的所有組,即使某些組沒有符合搜索條件的行。沒有 ALL 關(guān)鍵字,包含 GROUP BY 子句的 SELECT 語句將不顯示沒有符合條件的行的組。 其中有這么一句話“如果使用ALL關(guān)鍵字,那么查詢結(jié)果將包含由Group By子句產(chǎn)生的所有組…沒有ALL關(guān)鍵字,那么不顯示不符合條件的行組?!边@句話聽起來好像挺耳熟的,對了,好像和LEFT JOIN 和 RIGHT JOIN 有點(diǎn)像。其實(shí)這里是類比LEFT JOIN來進(jìn)行理解的。還是基于如下這樣一個數(shù)據(jù)集: FruitName ProductPlace Price
Apple China $1.1
Apple Japan $2.1
Apple USA $2.5
Orange China $0.8
Banana China $3.1
Peach USA $3.0
首先我們不使用帶ALL關(guān)鍵字的Group By語句: SELECT COUNT(*) AS 水果種類, ProductPlace AS 出產(chǎn)國 FROM T_TEST_FRUITINFO WHERE (ProductPlace ‘Japan’) GROUP BY ProductPlace 那么在最后結(jié)果中由于Japan不符合where語句,所以分組結(jié)果中將不會出現(xiàn)Japan。 現(xiàn)在我們加入ALL關(guān)鍵字: SELECT COUNT(*) AS 水果種類, ProductPlace AS 出產(chǎn)國 FROM T_TEST_FRUITINFO WHERE (ProductPlace ‘Japan’) GROUP BY ALL ProductPlace 重新運(yùn)行后,我們可以看到Japan的分組,但是對應(yīng)的“水果種類”不會進(jìn)行真正的統(tǒng)計(jì),聚合函數(shù)會根據(jù)返回值的類型用默認(rèn)值0或者NULL來代替聚合函數(shù)的返回值。 2.3 GROUP BY WITH CUBE | ROLLUP: 首先需要說明的是Group By All 語句是不能和CUBE 和 ROLLUP 關(guān)鍵字一起使用的。 首先先說說CUBE關(guān)鍵字,以下是SQL Server 2023聯(lián)機(jī)幫助中的說明: 指定在結(jié)果集內(nèi)不僅包含由 GROUP BY 提供的正常行,還包含匯總行。在結(jié)果集內(nèi)返回每個可能的組和子組組合的 GROUP BY 匯總行。GROUP BY 匯總行在結(jié)果中顯示為 NULL,但可用來表示所有值。使用 GROUPING 函數(shù)確定結(jié)果集內(nèi)的空值是否是 GROUP BY 匯總值。 結(jié)果集內(nèi)的匯總行數(shù)取決于 GROUP BY 子句內(nèi)包含的列數(shù)。GROUP BY 子句中的每個操作數(shù)(列)綁定在分組 NULL 下,并且分組適用于所有其它操作數(shù)(列)。由于 CUBE 返回每個可能的組和子組組合,因此不論指定分組列時(shí)所使用的是什么順序,行數(shù)都相同。 我們通常的Group By語句是按照其后所跟的所有字段進(jìn)行分組,而如果加入了CUBE關(guān)鍵字以后,那么系統(tǒng)將根據(jù)所有字段進(jìn)行分組的基礎(chǔ)上,還會通過對所有這些分組字段所有可能存在的組合形成的分組條件進(jìn)行分組計(jì)算。由于上面舉的例子過于簡單,這里就再適合了,現(xiàn)在我們的數(shù)據(jù)集將換一個場景,一個表中包含人員的基本信息:員工所在的部門編號(C_EMPLINFO_DEPTID)、員工性別(C_EMPLINFO_SEX)、員工姓名(C_EMPLINFO_NAME)等。那么我現(xiàn)在想知道每個部門各個性別的人數(shù),那么我們可以通過如下語句得到: SELECT C_EMPLINFO_DEPTID, C_EMPLINFO_SEX, COUNT(*) AS C_EMPLINFO_TOTALSTAFFNUM FROM T_PERSONNEL_EMPLINFO GROUP BY C_EMPLINFO_DEPTID, C_EMPLINFO_SEX 但是如果我現(xiàn)在希望知道: 1. 所有部門有多少人(這里相當(dāng)于就不進(jìn)行分組了,因?yàn)檫@里已經(jīng)對員工的部門和性別沒有做任何限制了,但是這的確也是一種分組條件的組合方式); 2. 每種性別有多人(這里實(shí)際上是僅僅根據(jù)性別(C_EMPLINFO_SEX)進(jìn)行分組); 3. 每個部門有多少人(這里僅僅是根據(jù)部門(C_EMPLINFO_DEPTID)進(jìn)行分組);那么我們就可以使用ROLLUP語句了。 SELECT C_EMPLINFO_DEPTID, C_EMPLINFO_SEX, COUNT(*) AS C_EMPLINFO_TOTALSTAFFNUM FROM T_PERSONNEL_EMPLINFO GROUP BY C_EMPLINFO_DEPTID, C_EMPLINFO_SEX WITH CUBE 那么這里你可以看到結(jié)果集中多出了很多行,而且結(jié)果集中的某一個字段或者多個字段、甚至全部的字段都為NULL,請仔細(xì)看一下你就會發(fā)現(xiàn)實(shí)際上這些記錄就是完成了上面我所列舉的所有統(tǒng)計(jì)數(shù)據(jù)的展現(xiàn)。使用過SQL Server 2023或者RDLC的朋友們一定對于矩陣的小計(jì)和分組功能有印象吧,是不是都可以通過這個得到答案。我想RDLC中對于分組和小計(jì)的計(jì)算就是通過Group By的CUBE和ROLLUP關(guān)鍵字來實(shí)現(xiàn)的。(個人意見,未證實(shí)) CUBE關(guān)鍵字還有一個極為相似的兄弟ROLLUP, 同樣我們先從這英文入手,ROLL UP是“向上卷”的意思,如果說CUBE的組合是絕對自由的,那么ROLLUP的組合就需要有點(diǎn)約束了。我們先來看看SQL Server 2023的聯(lián)機(jī)中對ROLLUP關(guān)鍵字的定義: 指定在結(jié)果集內(nèi)不僅包含由 GROUP BY 提供的正常行,還包含匯總行。按層次結(jié)構(gòu)順序,從組內(nèi)的更低級別到更高級別匯總組。組的層次結(jié)構(gòu)取決于指定分組列時(shí)所使用的順序。更改分組列的順序會影響在結(jié)果集內(nèi)生成的行數(shù)。 那么這個順序是什么呢?對了就是Group By 后面字段的順序,排在靠近Group By的分組字段的級別高,然后是依次遞減。如:Group By Column1, Column2, Column3。那么分組級別從高到低的順序是:Column1 > Column2 > Column3。還是看我們前面的例子,SQL語句中我們僅僅將CUBE關(guān)鍵字替換成ROLLUP關(guān)鍵字,如: SELECT C_EMPLINFO_DEPTID, C_EMPLINFO_SEX, COUNT(*) AS C_EMPLINFO_TOTALSTAFFNUM FROM T_PERSONNEL_EMPLINFO GROUP BY C_EMPLINFO_DEPTID, C_EMPLINFO_SEX WITH ROLLUP 和CUBE相比,返回的數(shù)據(jù)行數(shù)減少了不少。:),仔細(xì)看一下,除了正常的Group By語句后,數(shù)據(jù)中還包含了: 1. 部門員工數(shù);(向上卷了一次,這次先去掉了員工性別的分組限制) 2. 所有部門員工數(shù);(向上又卷了依次,這次去掉了員工所在部門的分組限制)。 在現(xiàn)實(shí)的應(yīng)用中,對于報(bào)表的一些統(tǒng)計(jì)功能是很有幫助的。 這里還有一個問題需要補(bǔ)充說明一下,如果我們使用ROLLUP或者CUBE關(guān)鍵字,那么將產(chǎn)生一些小計(jì)的行,這些行中被剔除在分組因素之外的字段將會被設(shè)置為NULL,那么還存在一種情況,比如在作為分組依據(jù)的列表中存在可空的行,那么NULL也會被作為一個分組表示出來,所以這里我們就不能僅僅通過NULL來判斷是不是小計(jì)記錄了。下面的例子展示了這里說得到的情況。還是我們前面提到的水果例子,現(xiàn)在我們在每種商品后面增加一個“折扣列”(Discount),用于顯示對應(yīng)商品的折扣,這個數(shù)值是可空的,也就是可以通過NULL來表示沒有對應(yīng)的折扣信息。數(shù)據(jù)集如下所示: FruitName ProductPlace Price Discount
Apple China $1.1 0.8
Apple Japan $2.1 0.9
Apple USA $2.5 1.0
Orange China $0.8 NULL
Banana China $3.1 NULL
Peach USA $3.0 NULL
現(xiàn)在我們要統(tǒng)計(jì)“各種折扣對應(yīng)有多少種商品,并總計(jì)商品的總數(shù)?!?,那么我們可以通過如下的SQL語句來完成: SELECT COUNT(*) AS ProductCount, Discount FROM T_TEST_FRUITINFO GROUP BY Discount WITH ROLLUP 好了,運(yùn)行一下,你會發(fā)現(xiàn)數(shù)據(jù)都正常出來了,按照如上的數(shù)據(jù)集,結(jié)果如下所示: ProductCount Discount
3 NULL
1 0.8
1 0.9
1 1.0
6 NULL
好了,各種折扣的商品數(shù)量都出來了,但是在顯示“沒有折扣商品”和“商品小計(jì)”的時(shí)候判斷上確存在問題,因?yàn)榇嬖趦蓷lDiscount為Null的記錄。是哪一條呢?通過分析數(shù)據(jù)我們知道之一條數(shù)據(jù)(3, Null)應(yīng)該對應(yīng)沒有折扣商品的數(shù)量,而(6,Null)應(yīng)該對應(yīng)所有商品的數(shù)量。需要判斷這兩個具有不同意義的Null就需要引入一個聚合函數(shù)Grouping。現(xiàn)在我們把語句修改一下,在返回值中使用Grouping函數(shù)增加一列返回值,SQL語句如下: SELECT COUNT(*) AS ProductCount, Discount, GROUPING(Discount) AS Expr1 FROM T_TEST_FRUITINFO GROUP BY Discount WITH ROLLUP 這個時(shí)候,我們再看看運(yùn)行的結(jié)果: ProductCount Discount Expr1
3 NULL 0
1 0.8 0
1 0.9 0
1 1.0 0
6 NULL 1
對于根據(jù)指定字段Grouping中包含的字段進(jìn)行小計(jì)的記錄,這里會標(biāo)記為1,我們就可以通過這個標(biāo)記值將小計(jì)記錄從判斷那些由于ROLLUP或者CUBE關(guān)鍵字產(chǎn)生的行。Grouping(column_name)可以帶一個參數(shù),Grouping就會去判斷對應(yīng)的字段值的NULL是否是由ROLLUP或者CUBE產(chǎn)生的特殊NULL值,如果是那么就在由Grouping聚合函數(shù)產(chǎn)生的新列中將值設(shè)置為1。注意Grouping只會檢查Column_name對應(yīng)的NULL來決定是否將值設(shè)置為1,而不是完全由此列是否是由ROLLUP或者CUBE關(guān)鍵字自動添加來決定的。 2.2 Group By 和 Having, Where ,Order by語句的執(zhí)行順序: 最后要說明一下的Group By, Having, Where, Order by幾個語句的執(zhí)行順序。一個SQL語句往往會產(chǎn)生多個臨時(shí)視圖,那么這些關(guān)鍵字的執(zhí)行順序就非常重要了,因?yàn)槟惚仨毩私膺@個關(guān)鍵字是在對應(yīng)視圖形成前的字段進(jìn)行操作還是對形成的臨時(shí)視圖進(jìn)行操作,這個問題在使用了別名的視圖尤其重要。以上列舉的關(guān)鍵字是按照如下順序進(jìn)行執(zhí)行的:Where, Group By, Having, Order by。首先where將最原始記錄中不滿足條件的記錄刪除(所以應(yīng)該在where語句中盡量的將不符合條件的記錄篩選掉,這樣可以減少分組的次數(shù)),然后通過Group By關(guān)鍵字后面指定的分組條件將篩選得到的視圖進(jìn)行分組,接著系統(tǒng)根據(jù)Having關(guān)鍵字后面指定的篩選條件,將分組視圖后不滿足條件的記錄篩選掉,然后按照Order By語句對視圖進(jìn)行排序,這樣最終的結(jié)果就產(chǎn)生了。在這四個關(guān)鍵字中,只有在Order By語句中才可以使用最終視圖的列名,如: SELECT FruitName, ProductPlace, Price, ID AS IDE, Discount FROM T_TEST_FRUITINFO WHERE (ProductPlace = N’china’) ORDER BY IDE 這里只有在ORDER BY語句中才可以使用IDE,其他條件語句中如果需要引用列名則只能使用ID,而不能使用IDE。
2023年3月計(jì)算機(jī)等級考試二級VFP筆試:
一、選擇題
(1)下列關(guān)于棧敘述正確的是
A) 棧頂元素更先能被刪除
B)棧頂元素最后才能被刪碼族除
C)棧底元素永尺枯遠(yuǎn)不能被刪除
D)以上三種說法都不對
(2)下列敘述中正確的是
A)有一個以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B)只有一個根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)陵模洞
C)循環(huán)鏈表是非線性結(jié)構(gòu)
D)雙向鏈表是非線性結(jié)構(gòu)
(3)某二叉樹共有7個結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)
A)3
B)4
C)6
D)7
(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是
A)軟件集成測試計(jì)劃
B)軟件詳細(xì)設(shè)計(jì)說明書
C) 用戶手冊
D)軟件需求規(guī)格說明書
(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括
A)順序結(jié)構(gòu)
B)GOTO跳轉(zhuǎn)
C)選擇(分支)結(jié)構(gòu)
D)重復(fù)(循環(huán))結(jié)構(gòu)
(6)下面描述中錯誤的是
A) 系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)
B)軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程
C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一
D)PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具
(7)負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是
A)數(shù)據(jù)定義語言
B)數(shù)據(jù)管理語言
C)數(shù)據(jù)操縱語言
D)數(shù)據(jù)控制語言
(8)一個教師可講授多門課程,一門課程可由多個教師講授。則實(shí)體教師和課程間的聯(lián)系是
A)1:1聯(lián)系
B)1:m聯(lián)系
C) m:1聯(lián)系
D) m:n聯(lián)系
(9)有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是
A)自然連接
B)交
C)除
D)并
(10)定義無符號整數(shù)類為UInt,下面可以作為類T實(shí)例化值的是
A)-369
B)369
C)0.369
D)整數(shù){1,2,3,4,5}
(11)在建立數(shù)據(jù)庫表時(shí)給該表指定了主索引,該索引實(shí)現(xiàn)了數(shù)據(jù)完整性中的
A)參照完整性
B)實(shí)體完整性
C)域完整性
D)用戶定義完整性
(12)執(zhí)行如下命令的輸出結(jié)果是
?15%4,15%-4
A)3 -1
B)3 3
C)1 1
D)1 -1
(13)在數(shù)據(jù)庫表中,要求指定字段或表達(dá)式不出現(xiàn)重復(fù)值,應(yīng)該建立的索引是
A)惟一索引
B)惟一索引和候選索引
C)惟一索引和主索引
D)主索引和候選索引
(14)給student表增加一個“平均戍績”字段(數(shù)值型,總寬度6} 2位小數(shù))的SQL命令是
A)ALTER TABLE studeni ADD平均成績N(b,2)
B)ALTER TABLE student ADD平均成績D(6,2)
C)ALTER TABLE student ADD平均成績E(6,2)
D)ALTER TABLE student ADD平均成績Y(6,2)
(15)在Visual FoxPro中,執(zhí)行SQL的DELETE命令和傳統(tǒng)的FoxPro DELETE命令都可以刪除數(shù)據(jù)庫表中的記錄,下面正確的描述是
A)SQL的DELETE命令刪除數(shù)據(jù)庫表中的記錄之前,不需要先用USE命令打開表
B)SQL的DELETE命令和傳統(tǒng)的FoxPro DELETE命令刪除數(shù)據(jù)庫表中的記錄之前, 都需要先用命令USE打開表
C)SQL的DELETE命令可以物理地刪除數(shù)據(jù)庫表中的記錄,而傳統(tǒng)的FoxPro DELETE 命令只能邏輯刪除數(shù)據(jù)庫表中的記錄
D)傳統(tǒng)的FoxPro DELETE命令還可以刪除其它工作區(qū)中打開的數(shù)據(jù)庫表中的記錄
(16)在Visual FoxPro中,如果希望跳出SCAN…ENDSCAN循環(huán)語句、執(zhí)行ENDSCAN后面的語句,應(yīng)使用
A)LOOP語句
B)EXIT語句
C)BREAK語句
D)RETURN語句
(17)在Visual FoxPro中,“表”通常是指
A)表單
B)報(bào)表
C)關(guān)系數(shù)據(jù)庫中的關(guān)系
D)以上都不對
(18)刪除student表的“平均成績”字段的正確SQL命令是
A)DELETE TABLE student DELETE COLUMN平均成績
B)ALTER TABLE student DELETE COLUMN平均成績
C)ALTER TABLE student DROP COLUMN平均成績
D)DELETE TABLE student DROP COLUMN平均成績
(19)在Visual FoxPro中,關(guān)于視圖的正確描述是
A)視圖也稱作窗口
B)視圖是一個預(yù)先定義好的SQL SELECT語句文件
C)視圖是一種用SQL SELECT語句定義的虛擬表
D)視圖是一個存儲數(shù)據(jù)的特殊表
(20)從student表刪除年齡大于30的記錄的正確SQL命令是
A)DELETE FOR年齡>30
B)DELETE FROM student WHERE年齡>30
C)DEL ETE student FOP年齡>30
D)DELETE student WF IERE年齡>30
(21)在Vaual FoxPro中,使用LOCATL FOR }expL>命令按條件查找記錄,當(dāng)查找到滿足條件的之一條記錄后,如果還需要查找下一條滿足條件的記錄,應(yīng)該
A)再次使用LOCATE命令重新查詢
B)使用SKIP命令
C)使用CONTINUE命令
D)使用GO命令
(22)為了在報(bào)表中打印當(dāng)前時(shí)間,應(yīng)該插入的控件是
A)文本框控件
B)表達(dá)式
C)標(biāo)簽控件
D)域控件
(23)在Visual FoxPro中,假設(shè)student表中有40條記錄,執(zhí)行下面的命令后,屏幕顯示的結(jié)果是
?RECCOUNT()
A)0
B)1
C)40
D)出錯
(24)向student表插入一條新記錄的正確SQL語句是
A)APPEND INTO student VALUES(’0401’,’王芳’,’女’,18)
B)APPEND student VALUES(’0401’,’王芳’,’女’,18):
C)INSERT INTO student VALUES(’0401’,’王芳’,’女’,18)
D)INSERT student VALUES(’0401’,’王芳’,’女’,18)
(25)在一個空的表單中添加一個選項(xiàng)按鈕組控件,該控件可能的默認(rèn)名稱是
A)Optiongroup 1
B)Checkl
C)Spinnerl
D)Listl
(26)恢復(fù)系統(tǒng)默認(rèn)菜單的命令是
A)SET MENU TO DEFAULT
B)SET SYENU TO DEFAULT
C)SET SYSTEM MENU TO DEFAULT
D)SET SYSTEM TO DEFAULT
(27)在Visual F’oxPro中,用于設(shè)置表單標(biāo)題的屬性是
A)Text
B)Title
C)Lable
D)Caption
(28)消除SQL SELECT查詢結(jié)果中的重復(fù)記錄,可采取的方法是
A)通過指定主關(guān)鍵字
B)通過指定惟一索引
C)使用DISTINCT短語
D)使用UNIQUE短語
(29)在設(shè)計(jì)界面時(shí),為提供多選功能,通常使用的控件是
A)選項(xiàng)按鈕組
B)一組復(fù)選框
C)編輯框
D)命令按鈕組
(30)為了使表單界面中的控件不可用,需將控件的某個屬性設(shè)置為假,該屬性是
A)Default
B)Enabled
C)Use
D)Enuse
第(31)-(35)題使用如下三個數(shù)據(jù)庫表:
學(xué)生表:student(學(xué)號,姓名,性別,出生日期,院系)
課程表:course(課程號,課程名,學(xué)時(shí))
選課成績表:score(學(xué)號,課程號,成績)
其中出生日期的數(shù)據(jù)類型為日期型,學(xué)時(shí)和成績?yōu)閿?shù)值型,其它均為字符型。
(31)查詢“計(jì)算機(jī)系”學(xué)生的學(xué)號、姓名、學(xué)生所選課程的課程名和成績,正確的命令是
A)SELECT s.學(xué)號,姓名,課程名,成績
FROM student s, score sc, course c
WHERE s.學(xué)號= sc.學(xué)號,sc.課程號=c.課程號,院系=’計(jì)算機(jī)系’
B)SELECT學(xué)號,姓名,課程名,成績
FROM student s, score sc, course c
WHERE s.學(xué)號=sc.學(xué)號AND sc.課程號=c.課程號AND院系=’計(jì)算機(jī)系’
C)SELECT s.學(xué)號,姓名,課程名,成績
FROM(student s JOIN score sc ON s.學(xué)號=sc.學(xué)號).
JOIN course cON sc.課程號=c.課程號
WHERE院系=’計(jì)算機(jī)系’
D)SELECT學(xué)號,姓名,課程名,成績
FROM(student s JOIN score sc ON s.學(xué)號=sc.學(xué)號)
JOIN course c ON sc.課程號=c.課程號
WHERE院系=’計(jì)算機(jī)系’
(32)查詢所修課程成績都大于等于85分的學(xué)生的學(xué)號和姓名,正確的命令是
A)SELECT學(xué)號,姓名FROM student s WHERE NOT EXISTS
(SELECT*FROM score sc WHERE sc.學(xué)號=s.學(xué)號AND成績<85)
B)SELECT學(xué)號,姓名FROM student s WHERE NOT EXISTS
(SELECT * FROM score sc WHERE sc.學(xué)號=s.學(xué)號AND成績>= 85)
C)SELECT學(xué)號,姓名FROM student s,score sc
WHERE s.學(xué)號=sc.學(xué)號AND成績>= 85
D)SELECT學(xué)號,姓名FROM student s,score sc
WHEkE s.學(xué)號=sc.學(xué)號AND ALL成績>=85
(33)查詢選修課程在5門以上(含5門)的學(xué)生的學(xué)號、姓名和平均成績,并按平均成
績降序排序,正確的命令是
A)SELECT s.學(xué)號,姓名,平均成績FROM student s,score sc
WHEREs.學(xué)號=sc.學(xué)號
GROUP BY s.學(xué)號HAVING COUNT(*)>=5 ORDER BY平均成績DESC
B)SELECT學(xué)號,姓名,AVG(成績)FROM student s,score sc
WHERE s.學(xué)號=sc.學(xué)號AND COUNT(*)>=5
GROUP BY學(xué)號ORDER BY 3 DESC
C)SELECT s.學(xué)號,姓名,AVG(成績)平均成績FROM student s,score sc
WHERE s.學(xué)號=sc.學(xué)號AND COUNT(*)>= 5
GROUP BY s.學(xué)號ORDER BY平均成績DESC
D)SELECT s.學(xué)號,姓名,AVG(成績)平均成績FROM student s,score sc
WHERE s.學(xué)號=sc.學(xué)號
GROUP BY s.學(xué)號HAVING COUNT(*)>=5 ORDER BY 3 DESC
(34)查詢同時(shí)選修課程號為C1和C5課程的學(xué)生的學(xué)號,正確的命令是
A)SELECT學(xué)號FROM score sc WHERE課程號=’C 1’AND學(xué)號IN
(SELECT學(xué)號FROM score sc WHERE課程號=’C5’)
B)SELECT學(xué)號FROM score sc WHERE課程號=’C1’AND學(xué)號=
(SELECT學(xué)號FROM score sc WHERE課程號=’C5’}
C)SELECT學(xué)號FROM score sc WHERE課程號=’C 1’ AND課程號=’C5’
D)SELECT學(xué)號FROM score sc WHERE課程號=’C 1’OR ’C5’
(35)刪除學(xué)號為“”且課程號為“C1”的選課記錄,正確命令是
A)DELETE FROM score WHERE課程號=’C 1’AND學(xué)號=’’
B)DELETE FROM score WHERE課程號=’C 1’OR學(xué)號=’’
C)DELETE FORM score WHERE課程號=’C 1’AND學(xué)號=’’
D)DELETE score WHERE課程號=’C 1’AND學(xué)號=’’
二、填空題
(1)有序線性表能進(jìn)行二分查找的前提是該線性表必須是存儲的。
(2)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF則后序遍歷結(jié)果為。
(3)對軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測試通常稱為測試。
(4)實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫中元組的屬性值不能為空。
(5)在關(guān)系A(chǔ)(S, SN, D)和關(guān)系B(D,CN, NM)中,A的主關(guān)鍵字是S, B的主關(guān)鍵字是D,則稱是關(guān)系A(chǔ)的外碼。
(6)表達(dá)式EMPTY(.NULL.)的值是。
(7)假設(shè)當(dāng)前表、當(dāng)前記錄的“科目”字段值為“計(jì)算機(jī)”(字符型),在命令窗口輸入如下命令將顯示結(jié)果。
m=科目-“考試”
?m
(8)在Visual FoxPro中假設(shè)有查詢文件queryl.qpr,要執(zhí)行該文件應(yīng)使用命令。
(9)SQL語句“SELECT TOP 10 PERCENT*FROM訂單ORDER BY金額DESC”的查詢結(jié)果是訂單中金額的10%的訂單信息。
(10)在表單設(shè)計(jì)中,關(guān)鍵字表示當(dāng)前對象所在的表單。
(11)使用SQL的CREATE TABLE語句建立數(shù)據(jù)庫表時(shí),為了說明主關(guān)鍵字應(yīng)該使用關(guān)鍵詞KEY。
(12)在Visual FoxPro中,要想將日期型或日期時(shí)間型數(shù)據(jù)中的年份用4位數(shù)字顯示,應(yīng)當(dāng)使用SET CENTURY命令進(jìn)行設(shè)置。
(13)在建立表間一對多的永久聯(lián)系時(shí),主表的索引類型必須是。
(14)為將一個表單定義為頂層表單,需要設(shè)置的屬性是。
(15)在使用報(bào)表向?qū)?chuàng)建報(bào)表時(shí),如果數(shù)據(jù)源包括父表和子表,應(yīng)該選取報(bào)表向?qū)А?/p>
可以這樣寫:我已經(jīng)測試過了:
select student.姓名,avg(sc.成猛做績)
from student,sc
where student.學(xué)號=sc.學(xué)號 and 姓名彎兆
in
(
select student.姓名 from student,sc
where student.學(xué)號=sc.學(xué)號 and sc.成績=2
)
group by student.姓名
另外group by的詳細(xì)資料更好使用sql自帶的枝鬧衡幫助文檔,那里最全的,其他的資料都是從哪盜版過去的,遇到group by問題可以問我的。
關(guān)于c 增加課程到sql數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享題目:如何將c課程內(nèi)容增加到SQL數(shù)據(jù)庫中(c增加課程到sql數(shù)據(jù)庫)
分享鏈接:http://m.fisionsoft.com.cn/article/ccdpjog.html


咨詢
建站咨詢
