關于mysql練習題的及答案_第1頁
關于mysql練習題的及答案_第2頁
關于mysql練習題的及答案_第3頁
關于mysql練習題的及答案_第4頁
關于mysql練習題的及答案_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MySQL練習題及答案一、基礎知識篇1.1數據庫操作1.創建一個名為`student`的數據庫。2.刪除名為`teacher`的數據庫。3.顯示當前MySQL服務器上所有數據庫的列表。4.使用`student`數據庫。1.2表操作1.在`student`數據庫中創建一個名為`student_info`的表,包含字段:`id`(整數型,主鍵,自增),`name`(字符串型,非空),`age`(整數型,非空),`gender`(字符串型,非空)。2.刪除`student`數據庫中的`course`表。3.修改`student_info`表,增加一個字段`class_name`(字符串型,非空)。4.顯示`student_info`表的結構。1.3數據操作1.向`student_info`表中插入一條記錄,姓名為,年齡為20,性別為男,班級為計算機科學與技術1班。2.更新`student_info`表中姓名為的記錄,將其年齡改為22。3.刪除`student_info`表中姓名為的記錄。4.查詢`student_info`表中所有學生的姓名和年齡。二、進階知識篇2.1約束條件1.在`student_info`表中為`age`字段添加約束,使其值在18到30之間。2.為`student_info`表的`name`字段添加唯一約束。3.創建一個名為`teacher_info`的表,包含字段:`id`(整數型,主鍵,自增),`name`(字符串型,非空),`course_id`(整數型,外鍵,關聯`course`表的`id`字段)。2.2數據查詢1.查詢`student_info`表中年齡大于20歲的學生姓名和班級。2.查詢`student_info`表中男女生各有多少人。3.查詢`student_info`表中最年輕的學生姓名和年齡。4.查詢`student_info`表中每個班級的平均年齡。2.3連接查詢1.查詢`student_info`表和`course`表中的學生姓名、課程名稱和成績。2.查詢`teacher_info`表和`course`表中的教師姓名和所教授的課程名稱。3.查詢`student_info`表和`teacher_info`表中的學生姓名、教師姓名和課程名稱。三、高級知識篇3.1事務處理1.編寫一個事務,實現學生選課功能,包括插入學生選課記錄和更新課程剩余名額。2.編寫一個事務,實現學生退課功能,包括刪除學生選課記錄和更新課程剩余名額。3.2視圖和索引1.創建一個視圖,顯示`student_info`表中年齡大于20歲的學生信息。2.為`student_info`表的`name`字段創建索引。3.查詢`student_info`表中的學生姓名,并按照年齡升序排序。3.3存儲過程和函數1.編寫一個存儲過程,實現根據學生姓名查詢其所在班級的功能。2.編寫一個函數,計算兩個整數之和。四、數據庫安全篇4.1用戶管理1.創建一個名為`admin_user`的新用戶,并為其設置密碼。2.授予`admin_user`用戶對所有數據庫的查詢權限。3.撤銷`admin_user`用戶對所有數據庫的刪除權限。4.顯示所有用戶的權限信息。4.2備份與恢復1.使用`mysqldump`工具備份`student`數據庫。2.將備份的`student`數據庫恢復到MySQL服務器。3.編寫一個定時任務,每天凌晨1點自動備份所有數據庫。五、性能優化篇5.1查詢優化2.對`student_info`表進行索引優化,以提高查詢效率。3.使用`EXPLN`語句查看`JOIN`查詢的性能瓶頸。5.2數據庫配置優化1.調整MySQL的`innodb_buffer_pool_size`參數,以優化數據庫性能。2.配置MySQL的`max_connections`參數,以處理更多的并發連接。3.修改MySQL的日志配置,以記錄慢查詢日志。六、觸發器和事件調度器篇6.1觸發器1.創建一個觸發器,當向`student_info`表插入新記錄時,自動檢查年齡是否在合法范圍內。2.創建一個觸發器,當更新`student_info`表中的`age`字段時,記錄更新前后的年齡值。6.2事件調度器1.創建一個事件,每天定時清理`student_info`表中超過30歲的學生記錄。2.創建一個事件,每周一統計`student_info`表中各班級的學生人數。七、MySQL特性篇7.1JSON數據類型1.創建一個包含JSON字段的學生信息表,并插入一條包含JSON數據的記錄。2.查詢JSON字段中的特定數據。7.2全文搜索1.為`student_info`表的`name`字段創建全文索引。2.使用全文搜索功能查詢包含“技術”關鍵詞的學生姓名。7.3空間數據類型1.創建一個包含空間數據類型的表,用于存儲地理坐標。2.查詢距離某個坐標點最近的記錄。答案:一、基礎知識篇1.1數據庫操作1.CREATEDATABASEstudent;2.DROPDATABASEteacher;3.SHOWDATABASES;4.USEstudent;1.2表操作1.CREATETABLEstudent_info(idINTPRIMARYKEYAUTO_INCREMENT,nameVARCHAR(50)NOTNULL,ageINTNOTNULL,genderVARCHAR(10)NOTNULL);2.DROPTABLEcourse;3.ALTERTABLEstudent_infoADDclass_nameVARCHAR(50)NOTNULL;4.DESCstudent_info;1.3數據操作1.INSERTINTOstudent_info(name,age,gender,class_name)VALUES('',20,'男','計算機科學與技術1班');2.UPDATEstudent_infoSETage=22WHEREname='';3.DELETEFROMstudent_infoWHEREname='';4.SELECTname,ageFROMstudent_info;二、進階知識篇2.1約束條件1.ALTERTABLEstudent_infoADDCHECK(ageBETWEEN18AND30);2.ALTERTABLEstudent_infoADDUNIQUE(name);3.CREATETABLEteacher_info(idINTPRIMARYKEYAUTO_INCREMENT,nameVARCHAR(50)NOTNULL,course_idINT,FOREIGNKEY(course_id)REFERENCEScourse(id));2.2數據查詢1.SELECTname,class_nameFROMstudent_infoWHEREage>20;2.SELECTgender,COUNT()FROMstudent_infoGROUPBYgender;3.SELECTname,ageFROMstudent_infoORDERBYageASCLIMIT1;4.SELECTclass_name,AVG(age)FROMstudent_infoGROUPBYclass_name;2.3連接查詢1.SELECT,c.course_name,sc.scoreFROMstudent_infosJOINcoursecONs.course_id=c.idJOINstudent_coursescONs.id=sc.student_id;2.SELECT,c.course_nameFROMteacher_infotJOINcoursecONt.course_id=c.id;3.SELECTASstudent_name,ASteacher_name,c.course_nameFROMstudent_infosJOINteacher_infotONs.class_name=t.class_nameJOINcoursecONt.course_id=c.id;三、高級知識篇3.1事務處理1.STARTTRANSACTION;INSERTINTOstudent_course(student_id,course_id)VALUES(1,2);UPDATEcourseSETremaining_seats=remaining_seats1WHEREid=2;COMMIT;2.STARTTRANSACTION;DELETEFROMstudent_courseWHEREstudent_id=1ANDcourse_id=2;UPDATEcourseSETremaining_seats=remaining_seats+1WHEREid=2;COMMIT;3.2視圖和索引1.CREATEVIEWview_student_infoASSELECTFROMstudent_infoWHEREage>20;2.CREATEINDEXidx_nameONstudent_info(name);3.SELECTnameFROMstudent_infoORDERBYageASC;3.3存儲過程和函數1.DELIMITER//CREATEPROCEDUREGetClassByName(INstudent_nameVARCHAR(50))BEGINSELECTclass_nameFROMstudent_infoWHEREname=student_name;END//DELIMITER;2.DELIMITER//CREATEFUNCTIONAddTwoNumbers(aINT,bINT)RETURNSINTBEGINRETURNa+b;END//DELIMITER;四、數據庫安全篇4.1用戶管理1.CREATEUSER'admin_user''localhost'IDENTIFIEDBY'password';2.GRANTSELECTON.TO'admin_user''localhost';3.REVOKEDELETEON.FROM'admin_user''localhost';4.SHOWGRANTSFOR'admin_user''localhost';4.2備份與恢復1.mysqldumpuusernamepstudent>student_backup.sql2.mysqluusernamepstudent<student_backup.sql3.crontabe01/usr/bin/mysqldumpuusernameppasswordalldatabases>/path/to/backup/all_databases_backup.sql五、性能優化篇5.1查詢優化1.EXPLNSELECTFROMstudent_infoWHEREage>20;(根據實際情況進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論