MySQL數(shù)據(jù)庫 課件 項目2 數(shù)據(jù)庫基礎(chǔ)開發(fā)_第1頁
MySQL數(shù)據(jù)庫 課件 項目2 數(shù)據(jù)庫基礎(chǔ)開發(fā)_第2頁
MySQL數(shù)據(jù)庫 課件 項目2 數(shù)據(jù)庫基礎(chǔ)開發(fā)_第3頁
MySQL數(shù)據(jù)庫 課件 項目2 數(shù)據(jù)庫基礎(chǔ)開發(fā)_第4頁
MySQL數(shù)據(jù)庫 課件 項目2 數(shù)據(jù)庫基礎(chǔ)開發(fā)_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

任務(wù)2.1數(shù)據(jù)庫的創(chuàng)建與數(shù)據(jù)表的開發(fā)子項目2數(shù)據(jù)庫基礎(chǔ)開發(fā)任務(wù)背景學校要建立一個教學管理系統(tǒng)。根據(jù)需求分析,要求創(chuàng)建學生、課程、教師和系部等數(shù)據(jù)表來存儲數(shù)據(jù)。接下來,要建立數(shù)據(jù)庫,設(shè)計數(shù)據(jù)表的結(jié)構(gòu),并初始化相關(guān)表數(shù)據(jù)。任務(wù)目標1.能創(chuàng)建和管理數(shù)據(jù)庫2.能創(chuàng)建和管理表知識目標1.掌握創(chuàng)建數(shù)據(jù)庫方法2.掌握管理數(shù)據(jù)庫的方法3.掌握創(chuàng)建數(shù)據(jù)表的方法4.掌握管理數(shù)據(jù)表的方法能力目標任務(wù)要求本任務(wù)將學習創(chuàng)建和管理數(shù)據(jù)庫、創(chuàng)建和管理表。在任務(wù)實施過程中,要特別注意表的規(guī)范化,要注意數(shù)據(jù)類型的正確選擇,還要注意數(shù)據(jù)庫和數(shù)據(jù)表字符集的統(tǒng)一問題。任務(wù)必備知識想一想MySQL創(chuàng)建數(shù)據(jù)庫的語句?任務(wù)必備知識2.1.1創(chuàng)建與管理數(shù)據(jù)庫使用CREATEDATABASE或CREATESCHEMA命令可以創(chuàng)建數(shù)據(jù)庫。其語法結(jié)構(gòu)如下:create{database|schema}[ifnotexists]db_name[charactersetcharset_name][collatecollation_name]任務(wù)必備知識2.1.1創(chuàng)建與管理數(shù)據(jù)庫CREATEDATABASE[IFNOTEXISTS]test1;CREATEDATABASEtest1;【任務(wù)2.1.1】創(chuàng)建數(shù)據(jù)庫test1任務(wù)必備知識mysql>createdatabasetest2->charactersetgb2312->collategb2312_chinese_ci;2.1.1創(chuàng)建與管理數(shù)據(jù)庫【任務(wù)2.1.2】創(chuàng)建數(shù)據(jù)庫test2庫,并指定字符集為gb2312任務(wù)必備知識(1)DEFAULTCHARACTERSET:指定數(shù)據(jù)庫的默認字符集(Charset),charset_name為字符集名稱。COLLATE:指定字符集的校對規(guī)則,collation_name為校對規(guī)則名稱。(2)創(chuàng)建數(shù)據(jù)庫時最好指定字符集。(3)IFNOTEXISTS:如果已存在某個數(shù)據(jù)庫,再來創(chuàng)建一個同名的庫,這時會出現(xiàn)錯誤信息。為避免錯誤信息,可以在建庫前加上這一判斷,只有該庫目前尚不存在時才執(zhí)行CREATEDATABASE操作。分析與討論任務(wù)必備知識想一想MySQL中如何查看庫?任務(wù)必備知識2.1.2查看庫用SHOWDATABASES命令查看,輸出結(jié)果如圖所示。任務(wù)必備知識mysql>showdatabases;2.1.1創(chuàng)建與管理數(shù)據(jù)庫【任務(wù)2.1.3】查看MySQL中存在的所有數(shù)據(jù)庫任務(wù)必備知識mysql>showcreatedatabasetest2\G***************************1.row***************************Database:test2CreateDatabase:CREATEDATABASE`test2`/*!40100defaultCHARACTERsetgb2312*//*!80016defaultENCRYPTION='N'*/2.1.1創(chuàng)建與管理數(shù)據(jù)庫【任務(wù)2.1.4】查看數(shù)據(jù)庫test2的定義任務(wù)必備知識想一想如何選定并使用數(shù)據(jù)庫?任務(wù)必備知識2.1.3選定并使用數(shù)據(jù)庫創(chuàng)建完數(shù)據(jù)庫并不表示選定并使用它,必須明確地用命令指定,可通過use命令完成?!救蝿?wù)2.1.5】將當前的數(shù)據(jù)庫切換為test2mysql>Usetest2;任務(wù)必備知識想一想如何修改庫字符集?任務(wù)必備知識2.1.4修改庫數(shù)據(jù)庫創(chuàng)建后,如果需要修改數(shù)據(jù)庫的參數(shù),可以使用ALTERDATABASE命令。語法格式如下:alterdatabasedb_namecharactersetcharset_namecollatecollation_name任務(wù)必備知識mysql>alterdatabasetest2->charactersetutf8mb4->collateutf8mb4_0900_ai_ci;【任務(wù)2.1.6】將test2庫修改字符集為utf8mb4,校對規(guī)則為utf8mb4_0900_ai_ci2.1.4修改庫任務(wù)必備知識想一想如何刪除數(shù)據(jù)庫?任務(wù)必備知識當數(shù)據(jù)庫不再需要時,我們可以使用dropdatabase命令刪除。語法格式如下:dropdatabase[ifexists]db_name2.1.5刪除庫任務(wù)必備知識mysql>dropdatabasetest1;刪除數(shù)據(jù)庫的時候,如果希望數(shù)據(jù)庫存在則刪除,不存在則忽略,需要添加ifexists:mysql>dropdatabaseifexiststest1;【任務(wù)2.1.7】刪除test1庫2.1.5刪除庫任務(wù)必備知識數(shù)據(jù)庫創(chuàng)建之后,數(shù)據(jù)庫是空的,是沒有表的,可以用SHOWTABLES命令查看。表決定了數(shù)據(jù)庫的結(jié)構(gòu),表是存放數(shù)據(jù)的地方,一個庫需要什么表,各數(shù)據(jù)庫表中有什么樣的列,是要合理設(shè)計的。任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表創(chuàng)建教師表teacher,結(jié)構(gòu)如表所示【任務(wù)2.1.8】創(chuàng)建教師表teacher任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表mysql>createtableifnotexiststeacher->(->t_no char(6)primarykeycomment'教師編號',->t_name varchar(20) comment'教師姓名',->d_no char(4) comment'院系編號'->);【任務(wù)2.1.8】創(chuàng)建教師表teacher任務(wù)必備知識(1)char和varchar都用來表示字符串類型,那這兩者有何區(qū)別,應(yīng)該如何選擇?(2)主鍵primarykey如何設(shè)置?分析與討論任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表創(chuàng)建院系表department,結(jié)構(gòu)如表所示【任務(wù)2.1.9】創(chuàng)建院系表department任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表mysql>createtableifnotexistsdepartment->(->d_no char(4)primarykey comment'院系編號',->d_name varchar(20)notnulluniquecomment'院系名稱'->);【任務(wù)2.1.9】創(chuàng)建院系表department任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表創(chuàng)建課程表course,結(jié)構(gòu)如表所示【任務(wù)2.1.10】創(chuàng)建課程表course任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表mysql>createtableifnotexistscourse->(->c_no char(4) primarykey comment'課程號',->c_name varchar(20) notnull comment'課程名',->c_periodtinyintunsignednotnull comment'學時',->c_credittinyintunsigned notnull comment'學分',->c_typeenum('必修課','選修課')default'必修課'comment'課程類型'->);【任務(wù)2.1.10】創(chuàng)建課程表course任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表創(chuàng)建表student,結(jié)構(gòu)如表所示【任務(wù)2.1.11】創(chuàng)建表student任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表mysql>createtableifnotexistsstudent->(->s_no char(6) primarykey comment'學號',->s_name varchar(20) notnull comment'姓名',->s_sex enum('男','女')notnulldefault'男' comment'性別',->s_birth date notnull comment'出生日期',->s_address varchar(50) notnull comment'家庭地址',->s_phone char(11) comment'聯(lián)系電話',->s_photo blob comment'照片',->d_no char(4) comment'系部編號',->foreignkey(d_no)referencesdepartment(d_no)->);【任務(wù)2.1.11】創(chuàng)建表student任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表創(chuàng)建成績表score,結(jié)構(gòu)如表所示【任務(wù)2.1.12】創(chuàng)建表score任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表mysql>createtableifnotexistsscore->(->s_no char(4) notnull comment'學號',->c_no char(4) notnull comment'課程號',->mark decimal(4,1) comment'成績',->->primarykey(s_no,c_no),->foreignkey(s_no)referencesstudent(s_no),->foreignkey(c_no)referencescourse(c_no)->);【任務(wù)2.1.12】創(chuàng)建表score任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表創(chuàng)建成績表teach,結(jié)構(gòu)如表所示【任務(wù)2.1.13】創(chuàng)建授課表teach任務(wù)必備知識2.1.6創(chuàng)建數(shù)據(jù)表mysql>createtableifnotexiststeach->(->id intunsignedprimarykeyauto_incrementcomment'標識',->t_nochar(8) NOTnull comment'教師編號',->c_nochar(4) comment'課程編號'->);【任務(wù)2.1.13】創(chuàng)建授課表teach任務(wù)必備知識想一想如何查看表?表結(jié)構(gòu)?任務(wù)必備知識2.1.7查看表mysql>showtables;輸出結(jié)果如圖所示。【任務(wù)2.1.14】查詢已創(chuàng)建的表創(chuàng)建了數(shù)據(jù)表后,現(xiàn)在能用SHOWTABLES查詢已創(chuàng)建的表的情況。任務(wù)必備知識2.1.7查看表mysql>descteacher;【任務(wù)2.1.15】查看teacher表的結(jié)構(gòu)任務(wù)必備知識2.1.7查看表mysql>showcreatetableteacher\G***************************1.row***************************Table:teacherCreateTable:CREATETABLE`teacher`(`t_no`char(8)NOTnullCOMMENT'教師編號',`t_name`varchar(20)DEFAULTnullCOMMENT'教師姓名',`d_no`char(4)DEFAULTnullCOMMENT'院系編號',PRIMARYKEY(`t_no`))ENGINE=InnoDBDEFAULTCHARset=utf8mb4COLLATE=utf8mb4_0900_ai_ci【任務(wù)2.1.16】查看teacher的定義任務(wù)必備知識想一想如何修改表?(增加或刪減列、重新命名列或表,修改默認字符集)?任務(wù)必備知識2.1.8修改表mysql>altertablestudentrenamestudent_new;altertable用于更改原有表的結(jié)構(gòu),包含重命名、增加、刪除、修改等。【任務(wù)2.1.17】將表student重名為student_new【任務(wù)2.1.18】將student表中的s_birth字段重命名為s_s_birthmysql>altertablestudentrenamecolumns_birthtos_s_birth;任務(wù)必備知識2.1.8修改表mysql>altertablestudent->add‘入學日期’datenotnulldefault'2014-9-1'afters_sex;【任務(wù)2.1.19】給student表的s_sex列后增加一列“入學日期”,并定義其默認值為'2014-9-1'任務(wù)必備知識2.1.8修改表mysql>altertableteachaddforeignkey(t_no)referencesteacher(t_no);【任務(wù)2.1.20】為表teach的t_no字段添加外鍵,其參考表teacher的t_no字段任務(wù)必備知識2.1.8修改表mysql>altertablescoreaddcheck(markbetween0and100);【任務(wù)2.1.21】為score表中的mark字段添加檢查約束(mark大于等于0小于等于100)任務(wù)必備知識2.1.8修改表mysql>altertablestudent2dropcolumn‘入學日期’【任務(wù)2.1.22】刪除student表中的“入學日期”字段任務(wù)必備知識2.1.8修改表首先通過showcreatetable命令查看約束名稱:mysql>showcreatetablescore\G***************************1.row***************************Table:scoreCreateTable:CREATETABLE`score`(`s_no`char(4)NOTnullCOMMENT'學號',`c_no`char(4)NOTnullCOMMENT'課程號',`mark`decimal(4,1)DEFAULTnullCOMMENT'成績',PRIMARYKEY(`s_no`,`c_no`),【任務(wù)2.1.23】刪除score表中的check約束任務(wù)必備知識2.1.8修改表KEY`c_no`(`c_no`),CONSTRAINT`score_ibfk_1`FOREIGNKEY(`s_no`)REFERENCES`student`(`s_no`),CONSTRAINT`score_ibfk_2`FOREIGNKEY(`c_no`)REFERENCES`course`(`c_no`),CONSTRAINT`score_chk_1`CHECK((`mark`between0and100)))ENGINE=InnoDBDEFAULTCHARset=utf8mb4COLLATE=utf8mb4_0900_ai_ci查詢到約束的名稱為score_chk_1,通過該名稱刪除約束:mysql>altertablescoredropcheckscore_chk_1;【任務(wù)2.1.23】刪除score表中的check約束任務(wù)必備知識2.1.8修改表mysql>altertablestudentmodifys_sexenum('男','女')default'女';【任務(wù)2.1.24】修改表student的s_sex列的默認值為女任務(wù)必備知識2.1.8修改表mysql>altertablestudent1modifys_nochar(8);【任務(wù)2.1.25】修改student表中字段s_no的數(shù)據(jù)類型為char(8)任務(wù)必備知識2.1.9復(fù)制表可以通過createtable命令復(fù)制表的結(jié)構(gòu)和數(shù)據(jù),語法格式:createtable[ifnotexists]tbl_name[likeold_tbl_name|asselect_statement];mysql>createtableteacher_newliketeacher;【任務(wù)2.1.26】基于teacher表創(chuàng)建teacher_new表,其結(jié)構(gòu)和teacher表相同任務(wù)必備知識mysql>createtableteacher_copyasselect*fromteacher;【任務(wù)2.1.27】基于teacher表創(chuàng)建teacher_copy表,其結(jié)構(gòu)和數(shù)據(jù)與teacher相同2.1.9復(fù)制表任務(wù)必備知識想一想如何刪除表?任務(wù)必備知識如果表不合適或不需要了,可以用droptable命令刪除已存在的表。droptable[ifexists]表1,表2,...;說明:一次性刪除多張表時,表與表之間通過逗號(,)分隔?!救蝿?wù)2.1.28】刪除表teacher_new和teacher_copy2.1.10刪除表mysql>droptableifexiststeacher_new,teacher_copy;任務(wù)實施創(chuàng)建人事管理系統(tǒng)(rsgl)數(shù)據(jù)庫,在這個數(shù)據(jù)庫中設(shè)計3張表:department(部門信息)表、employee(員工信息)表、salary(工資)表,表結(jié)構(gòu)如下所示。department(部門信息)表employee(員工信息)表salary任務(wù)實施參考jxgl數(shù)據(jù)庫及表的建立操作完成以上操作,寫出創(chuàng)建這3張表的SQL語句,在創(chuàng)建完成后,用desc命令查看并檢驗是否正確。要求撰寫實訓總結(jié),把完成任務(wù)過程中主要操作、命令及關(guān)鍵步驟的截圖,遇到的問題與解決方法、未解決或需要進一步探討的問題、以及任務(wù)實踐過程中的收獲和經(jīng)驗教訓的內(nèi)容寫入總結(jié)并提交。學習活動展示學習產(chǎn)品(學習超市):展示創(chuàng)建的數(shù)據(jù)庫與表,代碼與結(jié)果截圖優(yōu)化(完善)設(shè)計:參照別人的修改完善優(yōu)化學習產(chǎn)品展示提交:通過網(wǎng)絡(luò)上傳到mysql作業(yè)文件夾點評歸納創(chuàng)建數(shù)據(jù)庫的語句?如何查看庫?如何選定并使用數(shù)據(jù)庫?如何刪除數(shù)據(jù)庫?*如何創(chuàng)建數(shù)據(jù)表?參數(shù)有那些?如何查看表?表結(jié)構(gòu)?如何修改表?如何刪除表?成績考核考核項目完成度線上各個考核項目完成情況課堂預(yù)習問題回答課堂表現(xiàn)布置作業(yè)任務(wù)書2.2主講教師:姜云橋謝謝觀看THANKYOU主講教師:姜云橋任務(wù)2.2數(shù)據(jù)的操作子項目2數(shù)據(jù)庫基礎(chǔ)開發(fā)任務(wù)背景學校要建立一個教學管理系統(tǒng)。根據(jù)需求分析,建立數(shù)據(jù)庫,數(shù)據(jù)表,接下來要初始化相關(guān)表數(shù)據(jù)。任務(wù)目標1.能管理數(shù)據(jù)表數(shù)據(jù)2.能插入數(shù)據(jù)3.能修改數(shù)據(jù)4.能刪除數(shù)據(jù)知識目標1.掌握插入INSERTINTO的語法2.了解REPLACEINTO、LOADDATAINFILE的語法3.掌握update...set...命令的語法4.掌握DELETE的語法能力目標任務(wù)要求本任務(wù)將學習數(shù)據(jù)表中插入、修改和刪除數(shù)據(jù)。在任務(wù)實施過程中,要特別注意操作的語法結(jié)構(gòu)。任務(wù)必備知識想一想如何插入數(shù)據(jù)?任務(wù)必備知識2.2.1插入數(shù)據(jù)插入數(shù)據(jù)的方法很多,可以通過insertinto、replaceinto語句插入,也可以使用loaddatainfile方式將保存在文本文件中的數(shù)據(jù)插入到指定的表。一次可以插入一行或插入多行數(shù)據(jù)。任務(wù)必備知識insertintotable_name(col1,col2,...)values(val1,val2,...);2.2.1插入數(shù)據(jù)一、插入單行數(shù)據(jù)【任務(wù)2.2.1】向student表中插入如下數(shù)據(jù)任務(wù)必備知識mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132001','李平','男','2001-02-01','南京路1號',null,null,'D001');2.2.1插入數(shù)據(jù)任務(wù)必備知識2.2.1插入數(shù)據(jù)【任務(wù)2.2.1】再次用insertinto語句向student表中插入主鍵相同數(shù)據(jù)mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132001','李平','女','2023-02-01','南京路3號',null,null,'D001');ERROR1062(23000):Duplicateentry'132001'forkey'student.PRIMARY'任務(wù)必備知識2.2.1插入數(shù)據(jù)由于student表中已經(jīng)有132001學生的記錄,因此將出現(xiàn)主鍵沖突錯誤,如果希望即使插入主鍵相同的數(shù)據(jù)也不會報錯,則可以使用關(guān)鍵字ignore:mysql> insert ignore intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132001','李平','女','2023-02-01','南京路3號',null,null,'D001')任務(wù)必備知識insertintotable_name(col1,col2,...)values(val1,val2,...),(val1,val2,...),...;2.2.1插入數(shù)據(jù)二、插入多行數(shù)據(jù)【任務(wù)2.2.3】一次性向student表中插入下列2行數(shù)據(jù)任務(wù)必備知識mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132002','葉明','女','2001-05-02','學院路1號',null,null,'D003'),->('132003','張?zhí)?,'男','2000-02-019','文明路6號',null,null,'D001');2.2.1插入數(shù)據(jù)任務(wù)必備知識insertintotable_name(col1,col2,...)selectcol1,col2,...;2.2.1插入數(shù)據(jù)三、插入查詢數(shù)據(jù)【任務(wù)2.2.4】將student表中對應(yīng)數(shù)據(jù)插入student_new表中。任務(wù)必備知識首先創(chuàng)建student_new表:mysql>createtablestudent_new->(->s_nochar(8)primarykey,->s_namevarchar(20),->s_sexenum('男','女')default'女',->s_birthdatenotnull,->d_nochar(4)->);將student表中對應(yīng)字段的數(shù)據(jù)插入student_new表:mysql>insertintostudent_new(s_no,s_name,s_sex,s_birth,d_no)->selects_no,s_name,s_sex,s_birth,d_nofromstudent;2.2.1插入數(shù)據(jù)任務(wù)必備知識當插入主鍵相同的記錄時默認會報錯,插入失敗,而有時我們希望當插入的數(shù)據(jù)違反主鍵約束時,執(zhí)行更新操作替換原表中的數(shù)據(jù),此時可通過ONDUPLICATEKEYupdate或REPLACE語句實現(xiàn)。2.2.1插入數(shù)據(jù)四、插入重復(fù)數(shù)據(jù).insert…onduplicatekeyupdateinsertintotable_name(col1,col2,...)values(val1,val2,...)onduplicatekeyupdateassignment_list;任務(wù)必備知識2.2.1插入數(shù)據(jù)【任務(wù)2.2.5】向student表中插入如下數(shù)據(jù),若數(shù)據(jù)存在,更新s_birth為’2023-03-02’mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('122001','張群','男','2000-02-01','文明路8號',null,null,'D001')->onduplicatekeyupdate->s_birth='2023-03-02'任務(wù)必備知識2.2.1插入數(shù)據(jù)【任務(wù)2.2.6】向student表中插入如下數(shù)據(jù)若數(shù)據(jù)不存在,直接插入,若存在,更新為待插入的數(shù)據(jù)mysql> replace intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('122001','張群','男','1991-02-01','文明路13號',null,null,'D002');任務(wù)必備知識MySQL還支持圖片的存儲,圖片一般可以以路徑的形式來存儲,即插入圖片采用直接插入圖片的存儲路徑。當然,也可以直接插入圖片本身,只要用LOAD_FILE()函數(shù)即可。2.2.1插入數(shù)據(jù)五、插入圖片數(shù)據(jù)122110,程明,男,1991-02-01,D001,北京路123號,02066635425,picture.jpg其中,照片路徑為“D:\IMAGE\picture.jpg”。使用如下語句。

mysql>insertintostudentvalues('122110','程明','男','1991-02-01','D001','北京路123號','02066635425','D:\IMAGE\picture.jpg');【任務(wù)2.2.7】向student表中插入一行數(shù)據(jù)任務(wù)必備知識想一想如何修改數(shù)據(jù)?任務(wù)必備知識用update...set...命令對表中的數(shù)據(jù)進行修改。可以修改一個表的數(shù)據(jù),也可以修改多個表的數(shù)據(jù)。2.2.2修改數(shù)據(jù)updatetbl_namesetcol1=val1,col2=val2,...[wherewhere_condition][orderby...][limitrow_count]一、單表更新任務(wù)必備知識2.2.2修改數(shù)據(jù)mysql>updatecoursesetc_type='專業(yè)基礎(chǔ)課'wherec_no='A002';【任務(wù)2.2.8】將課程A002的類型修改為專業(yè)基礎(chǔ)課程任務(wù)必備知識2.2.2修改數(shù)據(jù)updatetable_referencessetcol1=val1,col2=val2,...[wherewhere_condition]二、多表更新說明:1)更新多個表中的數(shù)據(jù),意味著SET涉及的字段分屬不同的表。2)多表更新不支持orderby和limit子句。3)多表更新中多個字段的賦值執(zhí)行順序是不確定的。任務(wù)必備知識2.2.2修改數(shù)據(jù)mysql>updatestudentstjoinscoresconst.s_no=sc.s_no->joincoursecsoncs.c_no=sc.c_no->setst.s_s_address='人民路21號',sc.mark=85->wherest.s_name='聶鳳卿'andcs.c_name='MYSQL';【任務(wù)2.2.9】同時更新“聶鳳卿“的地址為”人民路21號“,MYSQL課程的成績?yōu)?5任務(wù)必備知識

SET子句:根據(jù)WHERE子句中指定的條件,對符合條件的數(shù)據(jù)行進行修改。若語句中不設(shè)定WHERE子句,則更新所有行。分析與討論任務(wù)必備知識想一想如何刪除數(shù)據(jù)?任務(wù)必備知識2.2.3刪除數(shù)據(jù)deletefromtbl_name[wherewhere_condition][orderby...][limitrow_count]一、單表刪除說明:1)只刪除滿足where_condition條件的數(shù)據(jù)行,沒有指定條件將會刪除表中的全部數(shù)據(jù)。2)如果指定了orderby和limit子句,按照順序刪除row_count行數(shù)據(jù)。3)數(shù)據(jù)刪除后將不能恢復(fù),因此,在執(zhí)行刪除之前對數(shù)據(jù)做好備份。任務(wù)必備知識mysql>deletefromstudentwheres_sex='女';【任務(wù)2.2.10】刪除女生記錄2.2.3刪除數(shù)據(jù)mysql>deletefromscorewherec_no='B001'andmark<60;【任務(wù)2.2.11】刪除B001課程不及格的成績記錄任務(wù)必備知識mysql>deletefromscoreorderbymarklimit3;【任務(wù)2.2.12】刪除score表中分數(shù)最低的3行記錄2.2.3刪除數(shù)據(jù)mysql>deletefromstudent_new;或者mysql>truncatestudent_new;【任務(wù)2.2.13】清空student_new表中的數(shù)據(jù)任務(wù)必備知識2.2.3刪除數(shù)據(jù)deletetbl_name1,tbl_name2,...fromtable_references[wherewhere_condition]或者deletefromtbl_name1,tbl_name2,...usingtable_references[wherewhere_condition]一、多表刪除任務(wù)必備知識mysql>deletest,sc->fromstudentstjoinscoresconst.s_no=sc.s_no->wherest.s_name='聶鳳卿';或者mysql>deletefromst,sc->usingstudentstjoinscoresconst.s_no=sc.s_no->wherest.s_name='聶鳳卿';【任務(wù)2.2.14】同時刪除“聶鳳卿”的信息,以及相應(yīng)的課程成績2.2.3刪除數(shù)據(jù)任務(wù)必備知識(1)QUICK修飾符:可以加快部分種類的刪除操作的速度。(2)FROM子句:用于指定從何處刪除數(shù)據(jù)。(3)WHERE子句指定的刪除條件。如果省略WHERE子句則刪除該表的所有行。(4)ORDERBY子句:各行按照子句中指定的順序進行刪除,此子句只在與LIMIT聯(lián)用時才起作用。ORDERBY子句和LIMIT子句的具體定義將在任務(wù)10中介紹。

分析與討論任務(wù)必備知識(5)LIMIT子句:用于告知服務(wù)

溫馨提示

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

評論

0/150

提交評論