實(shí)驗(yàn)指導(dǎo)書(shū) (MySQL 5) V5.0

上傳人:優(yōu)*** 文檔編號(hào):58999731 上傳時(shí)間:2022-03-01 格式:DOC 頁(yè)數(shù):76 大?。?.99MB
收藏 版權(quán)申訴 舉報(bào) 下載
實(shí)驗(yàn)指導(dǎo)書(shū) (MySQL 5) V5.0_第1頁(yè)
第1頁(yè) / 共76頁(yè)
實(shí)驗(yàn)指導(dǎo)書(shū) (MySQL 5) V5.0_第2頁(yè)
第2頁(yè) / 共76頁(yè)
實(shí)驗(yàn)指導(dǎo)書(shū) (MySQL 5) V5.0_第3頁(yè)
第3頁(yè) / 共76頁(yè)

下載文檔到電腦,查找使用更方便

18 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《實(shí)驗(yàn)指導(dǎo)書(shū) (MySQL 5) V5.0》由會(huì)員分享,可在線閱讀,更多相關(guān)《實(shí)驗(yàn)指導(dǎo)書(shū) (MySQL 5) V5.0(76頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、真誠(chéng)為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請(qǐng)指正。 實(shí)驗(yàn)指導(dǎo)書(shū) 《數(shù)據(jù)庫(kù)原理》 編者:呂澤華 華中科技大學(xué) 軟件學(xué)院 76 / 76 課程編號(hào) 課程名稱(中文) 數(shù)據(jù)庫(kù)原理及應(yīng)用 課程名稱(英文) Database Principle and Application 課程屬性 專業(yè)課 適用專業(yè) 軟件工程 先修課程要求 計(jì)算機(jī)導(dǎo)論、程序設(shè)計(jì)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)等 總學(xué)時(shí) 64學(xué)時(shí) 總學(xué)分 4分 實(shí)驗(yàn)學(xué)時(shí) 16學(xué)時(shí) 實(shí)驗(yàn)學(xué)分 應(yīng)開(kāi)實(shí)驗(yàn)學(xué)期 三年級(jí)第一學(xué)期

2、 教材及實(shí)驗(yàn)指導(dǎo)書(shū)名稱: 自編的實(shí)驗(yàn)指導(dǎo)書(shū) 一、課程簡(jiǎn)介及基本要求 本課程從基本原理和應(yīng)用實(shí)例兩方面全面地介紹關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),使學(xué)生能夠在熟悉數(shù)據(jù)庫(kù)系統(tǒng)基本操作及應(yīng)用的同時(shí),具備基本的應(yīng)用系統(tǒng)開(kāi)發(fā)的技能,為將來(lái)從事工作打下良好的基礎(chǔ)。 二、實(shí)驗(yàn)課程目的與要求 本實(shí)驗(yàn)課程可以使學(xué)生在理論學(xué)習(xí)之后,對(duì)課程內(nèi)容有一個(gè)直觀的了解;并通過(guò)實(shí)際操作掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的各種技能。 本實(shí)驗(yàn)課程要求學(xué)生達(dá)到如下基本要求: 1、掌握MySQL5.0的基本情況和基本使用方法。 2、掌握MySQL5.0中各級(jí)基本數(shù)據(jù)庫(kù)對(duì)象的管理,包括 (1) 數(shù)據(jù)庫(kù)的創(chuàng)建和各種基本管理操作。 (2

3、) 數(shù)據(jù)表格的創(chuàng)建和各種基本管理操作。 (3) 表格數(shù)據(jù)的編輯和維護(hù)。 (4) 表格數(shù)據(jù)的各種查詢操作。 (5) 有關(guān)視圖的操作。 3、熟悉MySQL5.0中數(shù)據(jù)庫(kù)完整性的實(shí)現(xiàn)。 4、了解MySQL5.0中數(shù)據(jù)庫(kù)安全性的實(shí)現(xiàn)。 5、熟悉MySQL5.0中數(shù)據(jù)庫(kù)的備份和恢復(fù)。 三、主要儀器設(shè)備 本實(shí)驗(yàn)課程要求的主要儀器設(shè)備是計(jì)算機(jī)。 四、實(shí)驗(yàn)方式與基本要求 本實(shí)驗(yàn)課程以學(xué)生實(shí)際上機(jī)操作為主,教師在課堂教學(xué)時(shí)進(jìn)行演示。 五、考核與報(bào)告 因?yàn)楸緦?shí)驗(yàn)課程是非獨(dú)立設(shè)課,故其考核方式與相關(guān)課程一樣,采用考試的考核方式。實(shí)驗(yàn)教學(xué)部分的成績(jī)?cè)谡n程總成績(jī)中占一定的比例。

4、 六、實(shí)驗(yàn)項(xiàng)目設(shè)置與內(nèi)容 序號(hào) 實(shí)驗(yàn)名稱 內(nèi)容摘要 實(shí)驗(yàn)學(xué)時(shí) 每組人數(shù) 實(shí)驗(yàn)屬性 實(shí)驗(yàn)者類別 開(kāi)出要求 1 熟悉MySQL5的安裝、使用環(huán)境 了解MySQL5的界面環(huán)境;熟悉服務(wù)管理器、企業(yè)管理器和查詢分析器的使用方法 2 1 驗(yàn)證 本科 必做 2 數(shù)據(jù)庫(kù)的創(chuàng)建和管理 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù);并對(duì)其進(jìn)行基本的管理操作 2 1 驗(yàn)證 本科 必做 3 表的創(chuàng)建和操作 創(chuàng)建若干個(gè)數(shù)據(jù)表格;并對(duì)它們進(jìn)行基本的管理操作 2 1 驗(yàn)證 本科 必做 4 表格數(shù)據(jù)的基本查詢操作 對(duì)表格數(shù)據(jù)進(jìn)行簡(jiǎn)單的查詢操作 2 1 設(shè)計(jì) 本科 必做 5

5、 表格數(shù)據(jù)的編輯和維護(hù) 對(duì)表格數(shù)據(jù)進(jìn)行插入、刪除和修改操作 1 1 驗(yàn)證 本科 必做 6 視圖管理 創(chuàng)建視圖;對(duì)視圖進(jìn)行基本的管理操作 1 1 設(shè)計(jì) 本科 必做 7 數(shù)據(jù)類型的使用 掌握使用Navicat和Transact-SQL語(yǔ)言兩種方法創(chuàng)建、修改和刪除表,掌握管理表的有關(guān)系統(tǒng)存儲(chǔ)過(guò)程 1 1 設(shè)計(jì) 本科 必做 8 表格數(shù)據(jù)的高級(jí)查詢操作 多表連接查詢;統(tǒng)計(jì)查詢;嵌套查詢等 2 1 設(shè)計(jì) 本科 必做 9 數(shù)據(jù)庫(kù)完整性的實(shí)現(xiàn) 實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)的完整性 2 1 驗(yàn)證 本科 必做 10 數(shù)據(jù)庫(kù)安全性的實(shí)現(xiàn) 實(shí)現(xiàn)數(shù)

6、據(jù)庫(kù)的安全性 1 1 驗(yàn)證 本科 必做 11 數(shù)據(jù)庫(kù)的備份和恢復(fù) 實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份和恢復(fù) 1 1 驗(yàn)證 本科 必做 12 綜合試驗(yàn) 2 3 設(shè)計(jì) 本科 必做 實(shí)驗(yàn)一 熟悉MySQL的安裝、使用環(huán)境及其基本工具的使用 實(shí)驗(yàn)學(xué)時(shí):0.5學(xué)時(shí) 實(shí)驗(yàn)類型:驗(yàn)證 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 熟悉MySQL的安裝和用法環(huán)境。掌握MySQL管理工具Navicat的使用。了解在Navicat中執(zhí)行SQL語(yǔ)句的方法。了解數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象。熟悉服務(wù)器的管理與使用。 二、實(shí)驗(yàn)內(nèi)容 序1:完全卸載MySQL 本次實(shí)驗(yàn)使用Windows 7 32

7、位操作系統(tǒng),部分機(jī)器可能已經(jīng)安裝了mysql。由于版本不同,配置未知,需要將已有的MySQL完全卸載,再統(tǒng)一安裝。 步驟: ① 停止MySQL服務(wù)。右鍵點(diǎn)擊“計(jì)算機(jī)—選擇“管理”,在彈出的對(duì)話框中選擇“服務(wù)和應(yīng)用程序”—“服務(wù)”,在打開(kāi)的本地服務(wù)中,選擇名為“MySQL”的服務(wù),單擊右鍵,選擇“停止”如圖所示: 圖14 ② 卸載MySQL。通過(guò)控制面板刪除MySQL Server,如圖所示: 圖15 ③ 刪除殘留的安裝文件。刪除安裝路徑(默認(rèn)為“C:\Program Files\MySQL”)下的文件夾MySQL。 ④ 刪除殘留的服務(wù)配置文件。刪除路徑“C:\Progra

8、mData\MySQL\MySQL Server 5.5\data”下的所有文件,也可直接刪除MySQL文件夾(ProgramData為隱藏文件夾,需要在“工具”—“文件夾選項(xiàng)”—“查看”中勾選查看隱藏文件。也可以直接通過(guò)搜索欄搜索)。如圖: 圖15 序2:MySQL安裝說(shuō)明 步驟: ①打開(kāi)MySQL 5.5的安裝包mysql-5.5.28-win32.msi—Next,在如圖1所示的界面中選擇Typical進(jìn)行默認(rèn)安裝 圖1 ②安裝完成之后,繼續(xù)進(jìn)入如圖2所示的配置界面: 圖2 ③選擇配置方式,“Detailed Configuration(手動(dòng)精確配置)

9、”、“Standard Configuration(標(biāo)準(zhǔn)配置)”,我們選擇“Detailed Configuration”,方便熟悉配置過(guò)程。 圖3 ④選擇服務(wù)器類型,“Developer Machine(開(kāi)發(fā)測(cè)試類,mysql占用很少資源)”、“Server Machine(服務(wù)器類型,mysql占用較多資源)”、“Dedicated MySQL Server Machine(專門(mén)的數(shù)據(jù)庫(kù)服務(wù)器,mysql占用所有可用資源)”,一般選“Server Machine”,不會(huì)太少,也不會(huì)占滿,實(shí)驗(yàn)所用則選擇Developer Machine即可 圖4 ⑤選擇mysql數(shù)據(jù)庫(kù)的大致

10、用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服務(wù)器類型,專注于事務(wù)處理,一般)”、“Non-Transactional Database Only(非事務(wù)處理型,較簡(jiǎn)單,主要做一些監(jiān)控、記數(shù)用,對(duì)MyISAM數(shù)據(jù)類型的支持僅限于non-transactional),我這里選擇“Multifunctional Database”,按“Next”繼續(xù)。 圖5 ⑥對(duì)InnoDB Tablespace進(jìn)行配置,就是為InnoDB 數(shù)據(jù)庫(kù)文件選擇一個(gè)存儲(chǔ)空間,如果修改了,要記住位置,重裝的時(shí)候要選擇一樣

11、的地方,否則可能會(huì)造成數(shù)據(jù)庫(kù)損壞,當(dāng)然,對(duì)數(shù)據(jù)庫(kù)做個(gè)備份就沒(méi)問(wèn)題了,這里不詳述。我這里沒(méi)有修改,使用用默認(rèn)位置,直接按“Next”繼續(xù)。 圖6 ⑦選擇一般mysql訪問(wèn)量,同時(shí)連接的數(shù)目,“Decision Support(DSS)/OLAP(20個(gè)左右)”、“Online Transaction Processing(OLTP)(500個(gè)左右)”、“Manual Setting(手動(dòng)設(shè)置,自己輸一個(gè)數(shù))”,我這里選“Decision Support(DSS)/OLAP”,按“Next”繼續(xù)。 圖7 ⑧選擇是否啟用TCP/IP連接,設(shè)定端口,如果不啟用,就只能在自己的機(jī)器上

12、訪問(wèn)mysql數(shù)據(jù)庫(kù)了,我這里啟用,把前面的勾打上,Port Number:3306,在這個(gè)頁(yè)面上,我們還可以選擇“啟用標(biāo)準(zhǔn)模式”(Enable Strict Mode),這樣MySQL就不會(huì)允許細(xì)小的語(yǔ)法錯(cuò)誤。熟悉MySQL以后,盡量使用標(biāo)準(zhǔn)模式,因?yàn)樗梢越档陀泻?shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)的可能性。按“Next”繼續(xù)。 圖8 ⑨選擇編碼。這里我們選擇默認(rèn)的西文編碼“Latin1”。有需要可以選擇第三項(xiàng)手動(dòng)設(shè)置默認(rèn)編碼,如需要正常使用漢字則選擇第三個(gè),然后在Character Set那里選擇或填入“gbk”,當(dāng)然也可以用“gb2312”,區(qū)別就是gbk的字庫(kù)容量大,包括了gb2312的所有漢字,

13、并且加上了繁體字。使用mysql的時(shí)候,在執(zhí)行數(shù)據(jù)操作命令之前運(yùn)行一次“SET NAMES GBK;”(運(yùn)行一次就行了,GBK可以替換為其它值,視這里的設(shè)置而定),就可以正常的使用漢字了。按“Next”繼續(xù)。 圖9 ⑩選擇是否將mysql安裝為windows服務(wù),還可以指定Service Name(服務(wù)標(biāo)識(shí)名稱),是否將mysql的bin目錄加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我們這里全部打上了勾,S

14、ervice Name不變。按“Next”繼續(xù)。 圖10 ?這一步詢問(wèn)是否要修改默認(rèn)root用戶(超級(jí)管理)的密碼(默認(rèn)為空),“New root password”如果要修改,就在此填入新密碼(如果是重裝,并且之前已經(jīng)設(shè)置了密碼,在這里更改密碼可能會(huì)出錯(cuò),請(qǐng)留空,并將“Modify Security Settings”前面的勾去掉,安裝配置完成后另行修改密碼),“Confirm(再輸一遍)”內(nèi)再填一次,防止輸錯(cuò)。我們這里設(shè)置密碼為“root”。“Enable root access from remote machines(是否允許root用戶在其它的機(jī)器上登陸,如果要安全,就不要勾

15、上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一個(gè)匿名用戶,匿名用戶可以連接數(shù)據(jù)庫(kù),不能操作數(shù)據(jù),包括查詢)”,一般就不用勾了,設(shè)置完畢,按“Next”繼續(xù)。 圖11 ?確認(rèn)設(shè)置無(wú)誤,如果有誤,按“Back”返回檢查。按“Execute”使設(shè)置生效。 圖12 ?設(shè)置完畢,按“Finish”結(jié)束mysql的安裝與配置——這里有一個(gè)比較常見(jiàn)的錯(cuò)誤,就是不能“Start service”,一般出現(xiàn)在以前有安裝mysql的服務(wù)器上,解決的辦法,先保證以前安裝的mysql服務(wù)器徹底卸載掉了;不行的話,檢查是否按上面一步所說(shuō),之前的密碼是否

16、有修改,照上面的操作;如果依然不行,將mysql安裝目錄下的data文件夾備份,然后刪除,在安裝完成后,將安裝生成的 data文件夾刪除,備份的data文件夾移回來(lái),再重啟mysql服務(wù)就可以了,這種情況下,可能需要將數(shù)據(jù)庫(kù)檢查一下,然后修復(fù)一次,防止數(shù)據(jù)出錯(cuò)。 序3:Navicat配置 本次實(shí)驗(yàn)所使用的Navicat for MySQL為免安裝版,解壓即可使用??捎谩発ey.txt”中的激活碼激活。 1、打開(kāi)MySQL服務(wù)。 ①右鍵點(diǎn)擊“我的電腦—選擇“管理”,在彈出的對(duì)話框中選擇“服務(wù)和應(yīng)用程序”—“服務(wù)”,如圖1.1所示:

17、 圖1.1 ②在打開(kāi)的本地服務(wù)中,選擇名為“MySQL”的服務(wù),單擊右鍵,選擇“開(kāi)啟”(也可以在“屬性”中設(shè)置為隨系統(tǒng)的啟動(dòng)而自動(dòng)啟動(dòng)),如圖1.2所示: 圖1.2 ③在“開(kāi)始”菜單—所有程序中找到MySQL,點(diǎn)擊“MySQL Command Line Client”,將出現(xiàn)如圖1.3所示的窗口: 圖1.3 ④實(shí)驗(yàn)所用的MySQL已事先配置好,用戶名、密碼均為“root”。因此直接輸入“root”并回車(chē),若出現(xiàn)如圖1.4所示結(jié)果,說(shuō)明MysQL服務(wù)已正常啟動(dòng)并且可以通過(guò)該窗口用相應(yīng)語(yǔ)句進(jìn)行操作: 圖1.4 2、學(xué)習(xí)使用MySQL管理工

18、具Navicat的基本操作,建立連接MySQL并在它左邊的樹(shù)型結(jié)構(gòu)中查看數(shù)據(jù)庫(kù),觀察該數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)庫(kù)對(duì)象,如表、視圖、存儲(chǔ)過(guò)程、默認(rèn)、規(guī)則等,學(xué)習(xí)查詢的創(chuàng)建、連接的關(guān)閉和刪除。 ①新建連接MySQL。打開(kāi)Navicat,進(jìn)入主界面后點(diǎn)擊“連接”,在彈出的對(duì)話框中輸入連接名“MySQL”,用戶名和密碼均為“root”,輸入之后點(diǎn)擊“確定”(可事先點(diǎn)擊“連接測(cè)試”),如圖2.1所示: 圖2.1 ②打開(kāi)連接MySQL,查看默認(rèn)生成的數(shù)據(jù)庫(kù)、表。右鍵單擊新建的連接MySQL,選擇“打開(kāi)連接”,可以看到默認(rèn)生成的四個(gè)數(shù)據(jù)庫(kù),以數(shù)據(jù)庫(kù)“mysql”為例,點(diǎn)擊打開(kāi),如圖2.2所示。以數(shù)據(jù)庫(kù)

19、“mysql”中的表“help_category”為例,點(diǎn)擊打開(kāi),如圖2.3所示. 圖2.2 圖2.3 ③新建查詢。打開(kāi)數(shù)據(jù)庫(kù)“mysql”,點(diǎn)擊Navicat主界面上方的“查詢”,選擇“新建查詢”,在彈出的查詢編輯器中輸入如下語(yǔ)句: USE mysql; SELECT * FROM help_category; 點(diǎn)擊上方的“運(yùn)行”操作及結(jié)果如圖2.4所示: 圖2.4 ④關(guān)閉、刪除連接。右鍵點(diǎn)擊連接“MySQL”選擇“關(guān)閉連接”。同樣的操作選擇“刪除連接”,結(jié)果如圖2.5所示: 圖2.5 3、學(xué)習(xí)在Navicat下用戶的管理,包括新建、編輯、

20、刪除。 ①新建用戶。打開(kāi)連接“MySQL”,點(diǎn)擊Navicat主界面上方的“用戶”,在彈出的對(duì)話框中填寫(xiě)如下內(nèi)容:用戶名“NewUser”、主機(jī)“l(fā)ocalhost”、密碼“1234”并再次確認(rèn),將“服務(wù)器權(quán)限”全部勾選,點(diǎn)擊“保存”。如圖3.1所示: 圖3.1 使用新建的用戶創(chuàng)建一個(gè)新的連接“NewSQL”,操作如圖3.2所示: 出現(xiàn)如圖3.3所示結(jié)果,說(shuō)明用戶創(chuàng)建成功。 圖3.3 ②編輯用戶。點(diǎn)擊用戶“NewUser@localhost”,再選擇“編輯用戶”,修改相關(guān)信息后點(diǎn)擊保存,同樣以新建連接的方法檢驗(yàn)。如圖3.4所示: 圖3.4 ③刪除用戶。選

21、擇修改后的用戶,點(diǎn)擊“刪除用戶”,選擇“確定”,如圖3.5所示: 圖3.5 三、課后練習(xí)題 1、分別通過(guò)Navicat主界面和在查詢編輯器中新建查詢查看MySQL數(shù)據(jù)庫(kù)中information_schema、performance_schema兩個(gè)表的所有數(shù)據(jù)。 2、新建一個(gè)的用戶NewUser并用它創(chuàng)建一個(gè)新的連接NewSQL,執(zhí)行練習(xí)題1中的操作。 實(shí)驗(yàn)二 數(shù)據(jù)庫(kù)的創(chuàng)建和管理 實(shí)驗(yàn)學(xué)時(shí):1.5學(xué)時(shí) 實(shí)驗(yàn)類型:驗(yàn)證 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 熟練掌握使用Navicat和Transact-SQL語(yǔ)言兩種方法創(chuàng)建、修改和刪除數(shù)據(jù)庫(kù)。學(xué)習(xí)在Navicat中進(jìn)行數(shù)據(jù)

22、庫(kù)的轉(zhuǎn)儲(chǔ)和導(dǎo)入。掌握管理數(shù)據(jù)庫(kù)的有關(guān)系統(tǒng)存儲(chǔ)過(guò)程。 二、實(shí)驗(yàn)內(nèi)容 1、利用Navicat創(chuàng)建滿足以下要求的數(shù)據(jù)庫(kù): 1)數(shù)據(jù)庫(kù)存在于連接MySQL中; 2)數(shù)據(jù)庫(kù)名稱為mydb; 3)字符集選擇utf8 -- UTF-8 Unicode; 4)排序規(guī)則選擇utf8_general_ci 具體步驟如下:新建連接“MySQL”—單擊選擇并右鍵—“新建數(shù)據(jù)庫(kù)”—輸入數(shù)據(jù)庫(kù)名“mydb”、字符集“utf8 -- UTF-8 Unicode”、排序規(guī)則“utf8_general_ci”—“確定”。如圖1.1所示: 右鍵—數(shù)據(jù)庫(kù)屬性,可以看到如圖1.2所示結(jié)果: 圖1.2 2

23、、利用Transact-SQL語(yǔ)言創(chuàng)建滿足以下要求的數(shù)據(jù)庫(kù): 1)數(shù)據(jù)庫(kù)存在于連接MySQL中; 2)數(shù)據(jù)庫(kù)名稱為mydb; 3)字符集選擇utf8 -- UTF-8 Unicode; 4)排序規(guī)則選擇utf8_general_ci; 具體步驟如下: 點(diǎn)擊“新建查詢”,在查詢編輯器輸入以下代碼,點(diǎn)擊“運(yùn)行”,完成后,左側(cè)列表中選中連接“數(shù)MySQL”,點(diǎn)擊“刷新”按鈕,列表即可見(jiàn)到“testdb”。如圖2.1、2.2所示: CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

24、 圖2.1 圖2.2 3、利用Transact-SQL語(yǔ)言查看數(shù)據(jù)庫(kù)及表的信息。 ①查看連接中的所有數(shù)據(jù)庫(kù) 步驟:點(diǎn)擊“新建查詢”,輸入 SHOW DATABASES 后運(yùn)行,結(jié)果如圖3.1所示: 圖3.1 ②查看數(shù)據(jù)庫(kù)mysql中所有的表 步驟:點(diǎn)擊“新建查詢”,輸入 USE mysql; SHOW TABLES; 后運(yùn)行,(也可以用語(yǔ)句show tables from mysql;)結(jié)果如圖3.2所示: 圖3.2 ③查看數(shù)據(jù)庫(kù)“mysql”中表“help_keyword”的結(jié)構(gòu)。 步驟:點(diǎn)擊“新建查詢”,輸入 USE mysq

25、l; DESC help_keyword; 后運(yùn)行,(也可以用語(yǔ)句show tables from mysql;)結(jié)果如圖3.3所示: 圖3.3 4、利用Navicat修改數(shù)據(jù)庫(kù)mydb,修改其排序方式為utf8_bin。 步驟:右鍵單擊數(shù)據(jù)庫(kù)“mydb”—數(shù)據(jù)庫(kù)屬性,在排序方式中選擇“utf8_bin”—“確定”。 5、利用Transact-SQL語(yǔ)言修改數(shù)據(jù)庫(kù)mydb的字符集為L(zhǎng)atin1; 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行 ALTER DATABASE mydb DEFAULT CHARACTER SET = latin1; 如圖5.1所示

26、: 圖5.1 關(guān)閉數(shù)據(jù)庫(kù)“mydb”后重新打開(kāi),查看數(shù)據(jù)庫(kù)屬性,可以看到如圖5.2所示結(jié)果: 圖5.2 6、利用Navicat刪除數(shù)據(jù)庫(kù)mydb。 直接右鍵點(diǎn)擊mydb選擇刪除即可,注意要關(guān)閉當(dāng)前的SQL語(yǔ)句編寫(xiě)界面。 7、利用Transact-SQL語(yǔ)言刪除數(shù)據(jù)庫(kù)testdb。 步驟:點(diǎn)擊“新建查詢”,輸入DROP DATABASE testdb 后運(yùn)行。 刷新連接“MySQL”,查看結(jié)果。 8、轉(zhuǎn)儲(chǔ)MySQL數(shù)據(jù)庫(kù)。 步驟:打開(kāi)連接“MySQL”—右鍵單擊數(shù)據(jù)庫(kù)“mysql”—選擇“轉(zhuǎn)儲(chǔ) SQL文件”—將文件名改為“sql.sql”后保存在

27、桌面,如圖9.1所示: 圖9.1 成功后將出現(xiàn)如圖9.2所示情況: 圖9.2 9、導(dǎo)入MySQL數(shù)據(jù)庫(kù)。 ①在連接“MySQL”中新建數(shù)據(jù)庫(kù)“sql”(字符集與排序方式盡量一致)。 ②打開(kāi)數(shù)據(jù)庫(kù)“sql”—右鍵單擊—運(yùn)行SQL文件—選擇桌面的“sql.sql”文件—點(diǎn)擊“確定”。如圖10.1所示: 圖10.1 ③執(zhí)行結(jié)果如圖10.2所示則表示成功。關(guān)閉數(shù)據(jù)庫(kù)sql后重新打開(kāi),對(duì)比數(shù)據(jù)庫(kù)“sql”與最初的數(shù)據(jù)庫(kù)“mysql”,看是否完全相同。 圖10.2 三、課后練習(xí)題 1、分別用以下幾種語(yǔ)句查看數(shù)據(jù)庫(kù)“mysql”中任意表的結(jié)構(gòu)或數(shù)據(jù)(先輸入:“

28、USE mysql;”): ①SHOW COLUMNS FROM 表名; ②DESCRIBE 表名; ③DESC 表名 ④SELECT * FROM 表名 2、思考以下問(wèn)題: 1)mysql中utf8編碼的utf8_bin,utf8_general_cs,utf8_general_cs三者的區(qū)別。 2)不同編碼方式的數(shù)據(jù)庫(kù)之間進(jìn)行轉(zhuǎn)儲(chǔ)和導(dǎo)入會(huì)不會(huì)出現(xiàn)錯(cuò)誤。 實(shí)驗(yàn)三 表的創(chuàng)建和管理 實(shí)驗(yàn)學(xué)時(shí):1.5學(xué)時(shí) 實(shí)驗(yàn)類型:驗(yàn)證 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 熟練掌握使用Navicat和Transact-SQL語(yǔ)言兩種方法創(chuàng)建、修改和刪除表。掌握管理表的有關(guān)系統(tǒng)存儲(chǔ)過(guò)程。 二

29、、實(shí)驗(yàn)內(nèi)容 1、利用Navicat創(chuàng)建滿足以下要求的數(shù)據(jù)庫(kù):①數(shù)據(jù)庫(kù)存在于連接MySQL中;②數(shù)據(jù)庫(kù)名稱為xsgl; ③字符集選擇utf8 -- UTF-8 Unicode;排序規(guī)則選擇utf8_general_ci。 2、在數(shù)據(jù)庫(kù)xsgl中,利用Navicat創(chuàng)建以下表格: 1)表格名為xs(學(xué)生基本情況表); 2)表格中各個(gè)屬性的定義如下: 列名 含義 數(shù)據(jù)類型 長(zhǎng)度 能否取空值 備注 xh 學(xué)號(hào) int no 主碼 xm 姓名 char 8 yes xb 性別 char 2 yes nl 年齡 tinyint ye

30、s zy 專業(yè) char 16 yes jtzz 家庭住址 char 50 yes 具體步驟如下:打開(kāi)新建的數(shù)據(jù)庫(kù)“xsgl”–右鍵點(diǎn)擊“表”--“新建表”。按照上表內(nèi)容輸入個(gè)屬性的定義,填寫(xiě)“列名”、“數(shù)據(jù)類型”,并取消或選擇“允許NULL值”前的選項(xiàng),并右鍵點(diǎn)擊“xh”,選擇將其設(shè)為主鍵,如圖2.1所示: 圖2.1 點(diǎn)擊“保存”,輸入表名:xs。結(jié)果如圖2.2所示: 圖2.2 3、按照以下步驟向表格xs中添加如下記錄: xh (學(xué)號(hào)) xm (姓名) xb (性別) nl (年齡) zy (專業(yè)) jtzz

31、(家庭住址) 200809412 莊小燕 女 24 計(jì)算機(jī) 上海市中山北路12號(hào) 200809415 洪波 男 25 計(jì)算機(jī) 青島市解放路105號(hào) 200109102 肖輝 男 23 計(jì)算機(jī) 杭州市鳳起路111號(hào) 200109103 柳嫣紅 女 22 計(jì)算機(jī) 上海市邯鄲路1066號(hào) 200307121 張正正 男 20 應(yīng)用數(shù)學(xué) 上海市延安路123號(hào) 200307122 李麗 女 21 應(yīng)用數(shù)學(xué) 杭州市解放路56號(hào) 1)打開(kāi)Navicat; 2)打開(kāi)連接MySQL找到數(shù)據(jù)庫(kù)xsgl中的表格xs; 3)在表格xs上右擊

32、鼠標(biāo),選擇“打開(kāi)表”; 4)在接著出現(xiàn)的記錄錄入界面上添加記錄。(方向鍵下增加新紀(jì)錄) 添加完后如圖3.1所示: 4、向表xs中增加“入學(xué)時(shí)間”屬性列,其列名為rxsj,數(shù)據(jù)類型為datetime型。 步驟:右鍵單擊xs表—設(shè)計(jì)表—加入列rxsj,設(shè)置數(shù)據(jù)類型為datetime。如圖4.1所示: 圖4.1 5、將表xs中nl(年齡)列的數(shù)據(jù)類型改為int型。 步驟:與第4項(xiàng)類似 6、在數(shù)據(jù)庫(kù)xsgl中,利用Transact-SQL語(yǔ)言創(chuàng)建以下表格: 1)表格名為kc(課程情況表); 2)表格中各個(gè)屬性的定義如下: 列名 含義 數(shù)據(jù)類型 長(zhǎng)度 能否取空

33、值 備注 kch 課程號(hào) char 4 no 主碼 kcm 課程名 char 20 yes xss 學(xué)時(shí)數(shù) int yes xf 學(xué)分 int yes 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行 USE xsgl; create table kc ( kch char(4) not null, kcm char(20) null, xss int null, xf int null, primary key(kch) )engine=innodb default charset=utf8 au

34、to_increment=1; 命令成功完成后,在 “xggl”數(shù)據(jù)庫(kù)中右鍵點(diǎn)擊“表”,選擇“刷新”,結(jié)果如圖所示: 7、利用Transact-SQL語(yǔ)言修改kc表。 ①增加“成績(jī)”一列cj,int型,允許為空值,默認(rèn)為0。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行 ALTER TABLE kc ADD COLUMN cj INT DEFAULT 0; ②修改cj列的類型為char。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行 ALTER TABLE kc CHANGE COLUMN cj cj CHAR(4); ③修改cj列的列名為mark。 步

35、驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行 ALTER TABLE kc CHANGE cj mark CHAR(4) DEFAULT 0; ④刪除mark列。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊運(yùn)行 ALTER TABLE kc DROP COLUMN mark; 7、利用Navicat和Transact-SQL語(yǔ)言兩種方式刪除表kc。 ①步驟:右鍵點(diǎn)擊表“kc”,選擇刪除。 ②步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊執(zhí)行 DROP TABLE kc 8、利用Transact-SQL將表xs重命名為Students。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼

36、,點(diǎn)擊執(zhí)行 RENAME TABLE xsgl.xs TO xsgl.Students; 三、課后練習(xí)題 1、創(chuàng)建一個(gè)名為cpxs的數(shù)據(jù)庫(kù),在該數(shù)據(jù)庫(kù)中分別通過(guò)Navicat和查詢分析器創(chuàng)建一個(gè)名為cp的表(產(chǎn)品表),表格中各個(gè)屬性的定義如下: 列名 含義 數(shù)據(jù)類型 長(zhǎng)度 能否取空值 備注 cpbh 產(chǎn)品編號(hào) char 6 no 主碼 cpmc 產(chǎn)品名稱 char 30 no jg 價(jià)格 money yes kcl 庫(kù)存量 int yes 2、思考以下問(wèn)題: 1)如果要在一個(gè)已經(jīng)存在的表格上刪除一列并增加一列,能不

37、能用一個(gè)ALTER TABLE語(yǔ)句來(lái)完成? 實(shí)驗(yàn)四 表數(shù)據(jù)的簡(jiǎn)單查詢 實(shí)驗(yàn)學(xué)時(shí):1學(xué)時(shí) 實(shí)驗(yàn)類型:設(shè)計(jì) 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 掌握SELECT語(yǔ)句的基本用法。掌握計(jì)算列的用法。掌握WHERE子句中各類查詢條件的寫(xiě)法。 二、實(shí)驗(yàn)內(nèi)容 1、在連接“MySQL”中新建數(shù)據(jù)庫(kù)“world”,并將數(shù)據(jù)庫(kù)文件world_inno.sql導(dǎo)入到該數(shù)據(jù)庫(kù)之中 2、查詢world數(shù)據(jù)庫(kù)的country表中的國(guó)名(Name)、洲名(Continent)和地區(qū)(Region)。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊執(zhí)行 USE world SELECT NAME,C

38、ontinent,Region FROM country; 運(yùn)行結(jié)果如圖2.1: 圖2.1 3、從world數(shù)據(jù)庫(kù)的city表中搜索返回前20條的數(shù)據(jù)。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊執(zhí)行 USE world; SELECT * FROM city LIMIT 0,20; 其中,“LIMIT M,N”中的M表示從第M條(不包括M)開(kāi)始 結(jié)果如圖3.1: 圖3.1 4、使用WHERE 子句從world 數(shù)據(jù)庫(kù)的country表中檢索出所有領(lǐng)土面積超過(guò)一百萬(wàn)平方公里的國(guó)家名稱(Name)、洲名(Continent)以及領(lǐng)土面積(SurfaceArea)。

39、 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊執(zhí)行 USE world; SELECT NAME,Continent,SurfaceArea FROM country WHERE SurfaceArea > 1000000; 結(jié)果如圖4.1: 圖4.1 5、查詢?cè)趙orld數(shù)據(jù)庫(kù)的country表中Name以字母C開(kāi)頭的國(guó)家的洲名Continent,地區(qū)Region。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊執(zhí)行 USE world; SELECT Name,Continent,Region FROM country WHERE NAME like

40、'C%'; 運(yùn)行結(jié)果如圖5.1: 圖5.1 6、查詢world數(shù)據(jù)庫(kù)Country表中所有國(guó)家的Name和Condinent,并按生日SurfaceArea從小到大進(jìn)行排列。 步驟:點(diǎn)擊“新建查詢”,輸入以下代碼,點(diǎn)擊執(zhí)行 USE world; SELECT Name,Continent,SurfaceArea FROM country ORDER BY SurfaceArea; 運(yùn)行結(jié)果如圖6.1: 圖6.1 練習(xí)鞏固 7、查詢country表中政體(GovernmentForm)屬于共和國(guó)(Republic)的國(guó)家的Name和Population、Gover

41、nmentForm。 USE world; SELECT NAME,Population,GovernmentForm FROM country WHERE GovernmentForm = 'Republic'; 8、country表中查詢前20個(gè)非洲國(guó)家的名稱。 USE world; SELECT NAME FROM country WHERE Continent= 'Africa' LIMIT 0,20; 9、city表中查詢阿富汗(Countrycode為AFG)的所有城市的名稱和人口,并要求對(duì)查詢結(jié)果按人口的降序排列。 USE world; SELECT

42、NAME,Population FROM city WHERE CountryCode= 'AFG' ORDER BY Population DESC; 10、Country表中查詢領(lǐng)土面積介于一百萬(wàn)和五百萬(wàn)平方公里之間的國(guó)家的名稱和領(lǐng)土面積(領(lǐng)土面積以除以一萬(wàn)的結(jié)果顯示)。 USE world; SELECT NAME,SurfaceArea/10000 FROM country WHERE Continent = 'Africa' AND SurfaceArea BETWEEN 1000000 AND 5000000; 11、查詢名稱以“C”開(kāi)頭的亞洲國(guó)家或非洲國(guó)家的

43、名稱和洲名 USE world; SELECT Name,Continent FROM country WHERE (Continent = 'Asia' OR Continent = 'Africa') AND Name LIKE 'C%'; 12、country表中查詢獨(dú)立年份為空的國(guó)家的名稱、國(guó)家年份。 USE world; SELECT NAME,IndepYear FROM country WHERE IndepYear is null; 三、課后練習(xí)題 以下題目在數(shù)據(jù)庫(kù)world中完成。 1、查詢country表中所有亞洲國(guó)家的名稱、地區(qū),要求查

44、詢結(jié)果按人口的升序排列。 2、查詢city表中智利(CHL)或保加利亞(BGR)的城市名稱。 3、查詢country表中Region字段包含“Europe”的國(guó)家的全部信息。 4、查詢所有君主立憲制(Constitutional Monarchy)國(guó)家的名稱和人口,按人口降序排列。 實(shí)驗(yàn)五 表數(shù)據(jù)的維護(hù) 實(shí)驗(yàn)學(xué)時(shí):1學(xué)時(shí) 實(shí)驗(yàn)類型:驗(yàn)證 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 熟練掌握使用Transact-SQL語(yǔ)言和通過(guò)Navicat輸入表數(shù)據(jù)、修改表數(shù)據(jù)和刪除表數(shù)據(jù)的操作。 二、實(shí)驗(yàn)內(nèi)容 1、在數(shù)據(jù)庫(kù)world中建立一個(gè)名為newlanguage的表,其結(jié)構(gòu)與表country

45、language完全一樣(注意各字段的默認(rèn)值、字符集、排序方式等),如圖1.1: 圖1.1 2、在表newlanguage中插入中國(guó)的客家話,其名稱為CountryCode為CHN,language為Kejia,isOfficial為F,percentage為0.3。 USE world; INSERT INTO newlanguage VALUES ('CHN','Kejia','F',0.3); 4、試將表countrylanguage中的所有記錄插入到表newlanguage中去,其SQL命令為: USE world; INSERT INTO newla

46、nguage SELECT * FROM countrylanguage; 5、將表newlanguage中Language為“Kejia”的語(yǔ)言的Percentage改為0.4 USE world; UPDATE newlanguage SET Percentage = 0.4 WHERE Language = 'Kejia'; 6、將表newlanguage中語(yǔ)言的Percentage均減去0.1。 USE world; UPDATE newlanguage SET Percentage = Percentage - 0.1; 7、刪除表newla

47、nguage中澳大利亞(CountrCode為“AUS”)的英語(yǔ)記錄。 USE world; DELETE FROM newlanguage WHERE CountryCode='AUS' AND Language='English'; 8、清空表newlanguage中的所有數(shù)據(jù)。 USE world; TRUNCATE TABLE newlanguage; 三、課后練習(xí)題 以下題目在數(shù)據(jù)庫(kù)world中完成。 1、通過(guò)Navicat,在country、countrylanguage、和city三個(gè)表中各輸入10條記錄。 2、將一條新的城市記錄(Name:Beijin

48、g,Country:AFG,District:Beijing,Population:21148000)插入表city中。 3、插入一條語(yǔ)言記錄(“CHN”,“Minnan”,“F”,0.5)到表countrylanguage。 4、刪除CountryCode為“ABW”的語(yǔ)言記錄。 實(shí)驗(yàn)六 視圖管理 實(shí)驗(yàn)學(xué)時(shí):1學(xué)時(shí) 實(shí)驗(yàn)類型:設(shè)計(jì) 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 掌握視圖的定義與維護(hù)操作,加深對(duì)視圖在關(guān)系數(shù)據(jù)庫(kù)中作用的理解。 二、實(shí)驗(yàn)內(nèi)容 在數(shù)據(jù)庫(kù)world中完成以下操作: 1、 建立亞洲國(guó)家的視圖asia_country,并要求進(jìn)行修改和插入操作時(shí)仍需保證該視圖只

49、有亞洲國(guó)家,視圖的屬性名為Code,Name,Continent,Population,GNP, GovernmentForm. USE world; CREATE VIEW asia_country AS SELECT Code,Name,Continent,Population,GNP,GovernmentForm FROM country WHERE Continent='Asia'; 對(duì)于視圖的使用,將其當(dāng)做基本表即可,可用下面語(yǔ)句用來(lái)顯示asia_country表中的所有亞洲國(guó)家: USE world; SELECT * FROM asia_co

50、untry; 或者直接在左側(cè)目錄【world】下的【視圖】下多出的“asia_country”上點(diǎn)擊右鍵,在彈出選項(xiàng)里選擇“設(shè)計(jì)視圖”。 結(jié)果如圖1.1所示: 圖1.1 2、建立國(guó)家簡(jiǎn)稱(country.Code)、城市名(city.Name)、語(yǔ)言名(countrylanguage.Language)的視圖cc_language。本視圖由三個(gè)基本表的連接操作導(dǎo)出,其SQL語(yǔ)句如下: USE world; CREATE VIEW cc_language AS SELECT country.Code,city.Name,countrylanguage.Language

51、 FROM country,city,countrylanguage WHERE country.Code = city.CountryCode AND country.Code = countrylanguage.CountryCode; 用以下語(yǔ)句查看: USE world; SELECT * FROM cc_language; 結(jié)果如圖:2.1: 圖2.1 3、定義一個(gè)反映國(guó)家獨(dú)立年份的視圖c_indepyear。 USE world; CREATE VIEW c_indepyear(country_code, country_name, co

52、untry_indepyear) AS SELECT Code, Name, IndepYear FROM country; 用以下語(yǔ)句查看: USE world; SELECT * FROM c_indepyear; 結(jié)果如圖3.1所示 圖3.1 4、刪除視圖c_indepyear。 USE world; DROP VIEW c_indepyear; 5、在亞洲國(guó)家視圖asia_country中找出國(guó)民生產(chǎn)總值GNP大于50000的國(guó)家名稱和GNP。 USE world; SELECT Name,GNP FROM asia_country W

53、HERE GNP > 50000; 6、在asia_country視圖中人口多于一千萬(wàn)的國(guó)家名稱、政體。 USE world; SELECT Name,GovernmentForm FROM asia_country WHERE Population > 10000000; 7、將亞洲國(guó)家視圖asia_country中Code為“AFG”的政體改為“Republic”。 USE world; UPDATE asia_country SET GovernmentForm = 'Republic' WHERE `Code` = 'AFG'; 8、向亞洲國(guó)家視圖asia_cou

54、ntr中插入一個(gè)新的國(guó)家記錄,其中Code為“DMC”、Name為“Demacia”,Cotinent為“Asia”,Population為“10000000”,GNP為“50000”,GovernmentForm為“Monarchy”。 USE world; INSERT INTO asia_country VALUES('DMC','Demacia','Asia',10000000,50000,'Monarchy'); 三、課后練習(xí)題 1、建立共和國(guó)政體的國(guó)家的視圖。 2、建立君主立憲制(Constitutional Monarchy)國(guó)家的視圖,并要求進(jìn)行修改和插入操作時(shí)仍須

55、保證該視圖只有君主立憲制國(guó)家。 3、建立共和國(guó)政體且國(guó)名生產(chǎn)總值在10000以上的國(guó)家視圖。 實(shí)驗(yàn)七 數(shù)據(jù)類型的使用 實(shí)驗(yàn)學(xué)時(shí):0.5學(xué)時(shí) 實(shí)驗(yàn)類型:設(shè)計(jì) 實(shí)驗(yàn)要求:選做 一、實(shí)驗(yàn)?zāi)康? 熟練掌握使用Navicat和Transact-SQL語(yǔ)言兩種方法創(chuàng)建、修改和刪除表。掌握管理表的有關(guān)系統(tǒng)存儲(chǔ)過(guò)程。 二、實(shí)驗(yàn)內(nèi)容 1、如果要設(shè)計(jì)一個(gè)表用來(lái)存放商品的基本信息,包括商品編號(hào)、商品名稱、品牌商標(biāo)、型號(hào)、產(chǎn)地、生產(chǎn)廠商、生產(chǎn)日期、保質(zhì)期、進(jìn)貨價(jià)格、銷(xiāo)售價(jià)格和商品圖片等。請(qǐng)?jiān)O(shè)計(jì)出這個(gè)表的表結(jié)構(gòu),包括表名、列名、列的數(shù)據(jù)類型和長(zhǎng)度等等。 2.將數(shù)據(jù)庫(kù)world中country

56、表的capital字段的數(shù)據(jù)類型改為varchar(20). ①Navicat—設(shè)計(jì)表 ②查詢編輯器,輸入以下語(yǔ)句: USE world; alter table country modify column Capital varchar(20); 三、課后練習(xí)題 1、用Navicat和SQL語(yǔ)言兩種方式將數(shù)據(jù)庫(kù)world中Indepyear字段的數(shù)據(jù)類型改為 char(5) 實(shí)驗(yàn)八 表數(shù)據(jù)的高級(jí)查詢 實(shí)驗(yàn)學(xué)時(shí):2學(xué)時(shí) 實(shí)驗(yàn)類型:設(shè)計(jì) 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是使學(xué)生熟練掌握MySQL查詢分析器的使用方法,加深SQL語(yǔ)言查詢語(yǔ)句的理解。熟練

57、掌握數(shù)據(jù)查詢中的分組、統(tǒng)計(jì)、計(jì)算和集合的操作方法。 二、實(shí)驗(yàn)內(nèi)容 在數(shù)據(jù)庫(kù)world中完成以下操作。 1、 查詢所有國(guó)家名稱及相應(yīng)的城市、語(yǔ)言。 USE world; SELECT country.Name,city.Name,countrylanguage.Language FROM country,city,countrylanguage WHERE country.Code= city.CountryCode AND city.CountryCode = countrylanguage.CountryCode; 2、 查詢國(guó)家政體為共和國(guó)且國(guó)家人口

58、在一千萬(wàn)以上的城市的名稱和城市人口、所屬國(guó)家。 USE world; SELECT city.Name,city.Population,country.Name FROM country,city WHERE city.CountryCode = country.Code AND country.Population > 10000000; 3、 統(tǒng)計(jì)country表中共和國(guó)政體的國(guó)家數(shù)。 USE world; SELECT COUNT(Code) FROM country WHERE GovernmentForm = 'Republic'; 4、 統(tǒng)計(jì)country表

59、中共和國(guó)政體國(guó)家的平均人口。 USE world; SELECT AVG(Population) FROM country WHERE GovernmentForm = 'Republic'; 5、 統(tǒng)計(jì)countrylanguage表中官方語(yǔ)言數(shù)。 USE world; SELECT COUNT(CountryCode) FROM countrylanguage WHERE IsOfficial = 'T'; 6、 分組統(tǒng)計(jì)country表中各政體的國(guó)家個(gè)數(shù)。 USE world; SELECT GovernmentForm,count(*)

60、 FROM country GROUP BY GovernmentForm; 7、 分組統(tǒng)計(jì)各大洲平均每國(guó)人口數(shù)。 USE world; SELECT Continent,AVG(Population) FROM country GROUP BY Continent; 8、查詢有超過(guò)兩條城市記錄的國(guó)家的名稱。 USE world; SELECT country.Name FROM city,country WHERE city.CountryCode = country.Code GROUP BY city.CountryCode HAVING C

61、OUNT(city.Name) > 2; 9、查詢非共和政體的國(guó)家的名稱和政體。 USE world; SELECT Name,GovernmentForm FROM country WHERE GovernmentForm <> 'Republic'; 10、查詢獨(dú)立年份未知的國(guó)家的縮寫(xiě)和名稱 USE world; SELECT Code,Name FROM country WHERE IndepYear IS NULL; 11、查詢歐洲國(guó)民生產(chǎn)總值GNP排名前20的國(guó)家名稱及GNP值 USE world; SELECT Name,GNP FROM

62、 country WHERE Continent = 'Europe' ORDER BY GNP DESC LIMIT 0,20; 11、查詢平均每國(guó)人口數(shù)高于非洲的大洲名稱及該平均數(shù),以平均數(shù)的降序排列。 USE world; SELECT Continent,AVG(Population) FROM country GROUP BY Continent HAVING AVG(Population) > (SELECT AVG(Population) FROM country WHERE Continent = 'Africa') ORDER BY AVG(Popul

63、ation) DESC; 12、查詢city表中多于3個(gè)城市記錄且縮寫(xiě)以“A”開(kāi)頭的國(guó)家的名稱和城市平均人口,以平均人口的升序排列。 USE world; SELECT city.CountryCode,country.Name,AVG(city.Population) FROM city,country WHERE city.CountryCode LIKE 'A%' AND city.CountryCode = country.Code GROUP BY city.CountryCode HAVING COUNT(city.Name) > 3 ORDER B

64、Y AVG(city.Population); 三、課后練習(xí)題 1、建立名為SPJ的數(shù)據(jù)庫(kù)。它包括S、P、J、SPJ 4個(gè)關(guān)系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY) 供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成; 零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成; 工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工

65、程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成; 供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,標(biāo)識(shí)某供應(yīng)商 供應(yīng)某種零件 給某工程項(xiàng)目的數(shù)量為QTY。 今有若干數(shù)據(jù)如下: S表 P表 J表 SPJ表 第2~8題在數(shù)據(jù)庫(kù)SPJ中完成。 2、查詢重量最輕的零件的零件代碼。 3、查詢由供應(yīng)商S1提供零件的工程項(xiàng)目名。 4、查詢同時(shí)為工程J1和J2提供零件的供應(yīng)商代碼。 5、查詢?yōu)槲挥谔旖虻墓こ烫峁┝慵墓?yīng)商代碼。 6、查詢同時(shí)為位于天津或北京的工程提供紅色零件的供應(yīng)商代碼。 7

66、、查詢供應(yīng)商和工程所在城市相同的供應(yīng)商能提供的零件代碼。 8、查詢上海供應(yīng)商不提供任何零件的工程代碼。 實(shí)驗(yàn)九 數(shù)據(jù)庫(kù)的完整性設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí):1學(xué)時(shí) 實(shí)驗(yàn)類型:設(shè)計(jì) 實(shí)驗(yàn)要求:必做 一、實(shí)驗(yàn)?zāi)康? 熟練掌握使用Navicat和Transact-SQL語(yǔ)言兩種方法創(chuàng)建、修改和刪除表。掌握管理表的有關(guān)系統(tǒng)存儲(chǔ)過(guò)程。 二、實(shí)驗(yàn)內(nèi)容 1、利用Navicat創(chuàng)建滿足以下要求的數(shù)據(jù)庫(kù):①數(shù)據(jù)庫(kù)存在于連接MySQL中;②數(shù)據(jù)庫(kù)名稱為xsgl; ③字符集選擇utf8 -- UTF-8 Unicode;排序規(guī)則選擇utf8_general_ci。 2、在數(shù)據(jù)庫(kù)xsgl中,利用Navicat和SQL語(yǔ)句創(chuàng)建以下表格: 1)表格名為xs(學(xué)生基本情況表),表格中各個(gè)屬性的定義如下: 列名 含義 數(shù)據(jù)類型 長(zhǎng)度 能否取空值 備注 xh 學(xué)號(hào) int no xm 姓名 char 8 yes xb 性別 char 2 yes nl 年齡 tinyint yes zy 專業(yè) char 16 yes jt

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!