《MySQL數據庫項目式教程》課件MySQL數據庫第4章_第1頁
《MySQL數據庫項目式教程》課件MySQL數據庫第4章_第2頁
《MySQL數據庫項目式教程》課件MySQL數據庫第4章_第3頁
《MySQL數據庫項目式教程》課件MySQL數據庫第4章_第4頁
《MySQL數據庫項目式教程》課件MySQL數據庫第4章_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任務:petstore數據操縱一、insertinto表名(字段名)values(值)為用戶表、上品分類表、商品表、訂單表、訂單明細表輸入數據二、數據修改與刪除操作1.新從奧迪大利亞購進一批天使魚,數量為50條,進價為15元,按庫存與新進商品的平均值調整商品的成本價格。該商品將以成本價格20%的市場價格賣出,調整商品的市場價格和數量。2.訂單號為20130411的訂單已經發(fā)貨,將該訂單的狀態(tài)修改為1,同時根據該訂單的訂單明細修改商品表的庫存。3.將用戶號為u0004的用戶記錄刪除,并刪除其所有的訂購信息。123本章講解“選課系統”的各種更新操作,一方面是為接下來的章節(jié)準備測試數據,另一方面希望讀者對“選課系統”的各個表結構有更深刻的認識,便于后續(xù)章節(jié)的學習。4表記錄的修改表記錄的插入表記錄的刪除MySQL特殊字符序列內容一覽123向數據庫表插入記錄時,可以使用insert語句向表中插入一條或者多條記錄,也可以使用insert….select語句向表中插入另一個表的結果集。更新操作與字符集使用insert語句插入新記錄關于自增型字段45批量插入多條記錄使用insert….select插入結果集6使用replace插入新記錄4.1表記錄的插入語法格式如下。insertinto表名[(字段列表)]values(值列表)|set列名=(表達)向用戶表account插入記錄:用戶編號、用戶名、密碼、性別、住址、郵箱、電話U0001,劉曉和,123456,男,廣東深圳1:向表的所有字段插入數據的任務要求。注意:insert語句的返回結果。4.1.1使用insert語句插入新記錄2:在指定的字段插入數據的任務要求。3:在insert語句中使用默認值的任務要求。4:包含圖片注意:外鍵約束關系。4.1.1使用insert語句插入新記錄從本章開始,MySQL客戶機與MySQL服務器之間的數據請求、響應變得更加頻繁,當請求數據(或者響應數據)中存在中文字符時,字符集的設置變得非常關鍵。任務布置4:完成本書場景描述4:更新操作與字符集的任務要求。4.1.2更新操作與字符集任務布置5:完成本書場景描述5:關于自增型字段的任務要求。4.1.3關于自增型字段CREATETABLEitems(

idint(5)NOTNULLAUTO_INCREMENTPRIMARYKEY,

labelvarchar(255)NOTNULL

);/*

插入三條數據,不指定id,采用默認值,加上AUTO_INCREMENT

您運行的SQL語句已經成功運行了。

*/

insertintoitems(label)values('xxx');insertintoitems(label)values('yyy');insertintoitems(label)values('zzz');/*

全顯示出來,看一下數據,注意看id的變化

*/select

*fromitems;/*

idlabel

1xxx

2yyy

3zzz使用insert語句可以一次性地向表批量插入多條記錄,語法格式如下。insertinto表名[(字段列表)]values(值列表1),(值列表2),…(值列表n);向商品分類表category插入兩行記錄:類別編號、分類名稱、類別描述01,鳥類;02,貓;4.1.4批量插入多條記錄在insert語句中使用select子句可以將源表的查詢結果添加到目標表中,語法格式如下。insertinto目標表名[(字段列表1)]select(字段列表2)from源表where條件表達式注意:字段列表1與字段列表2的字段個數必須相同,且對應字段的數據類型盡量保持一致。如果源表與目標表的表結構完全相同,“(字段列表1)”可以省略。在訂單明細表lineitem中添加lineitem2中訂單號為00009的記錄訂單號、商品編號、數量、單價4.1.5使用insert….select插入結果replace語句的語法格式有三種語法格式。語法格式1:replaceinto表名[(字段列表)]values(值列表)語法格式2:replace[into]目標表名[(字段列表1)]select(字段列表2)from源表where條件表達式4.1.6使用replace插入新記錄replace語句的語法格式有三種語法格式。語法格式3:replace[into]表名set字段1=值1,字段2=值24.1.6使用replace插入新記錄replace語句的功能與insert語句的功能基本相同,不同之處在于:使用replace語句向表插入新記錄時,如果新紀錄的主鍵值或者唯一性約束的字段值與已有記錄相同,則已有記錄先被刪除(注意:已有記錄刪除時也不能違背外鍵約束條件),然后再插入新記錄。而Insert會報錯4.1.6使用replace插入新記錄使用replace的最大好處就是可以將delete和insert合二為一,形成一個原子操作,這樣就無需將delete操作與insert操作置于事務中了。任務布置6:完成本書場景描述6:replace語句的用法的任務要求。說明:考慮到數據庫移植,不建議使用replace。4.1.6使用replace插入新記錄update表名set字段名1=值1,字段名2=值2,…..,字段名n=值n[where條件表達式]where子句指定了表中的哪些記錄需要修改。若省略了where子句,則表示修改表中的所有記錄。set子句指定了要修改的字段以及該字段修改后的值。將book表中所有書籍數量都增加10.將account表中姓名“張三”電話改密碼改為1111114.2表記錄的修改多表聯合表tb1和tb2都有字段idint(4),pwdchar(4),當表tb1和tb2中id值相同時,將表tb1對應的pwd改為AAA,tb2中的pwd改為bbb。多表連接必須在where子句中指定。12表記錄的刪除通常使用delete語句實現,如果要清空某一個表可以使用truncate語句。使用truncate清空表記錄使用delete刪除表記錄4.3表記錄的刪除delete語句的語法格式如下。deletefrom表名[where條件表達式]說明:如果沒有指定where子句,那么該表的所有記錄都將被刪除,但表結構依然存在。商品表product商品編號、類別編號、商品名、商品介紹、市場價格、成本價格、數量將月餅的商品刪除將數量為0的商品全部刪除4.3.1使用delete刪除表記錄多表聯合刪除多個表中的行,并且刪除時使用其他的表搜索要刪除的記錄。假設有三個表t1,t2,t3,都包含id列。刪除t1中id值等于t2的id值的所有行,刪除t2中id值等于t3的id值的所有行。刪除條件t2,t3truncatetable用于完全清空一個表,語法格式如下。truncate[table]表名參與索引或視圖的表,不能使用該語句4.3.2使用truncate清空表記錄從邏輯上說,truncate語句與“deletefrom表名”語句作用相同,但是在某些情況下,兩者在使用上有所區(qū)別。例如:清空記錄的表如果是父表,那么truncate命令將永遠執(zhí)行失敗。如果使用truncatetable成功清空表記錄,那么會重新設置自增型字段的計數器。truncatetable語句不支持事務的回滾,并且不會觸發(fā)觸發(fā)器程序的運行。沒有日志不可恢復4.3.2使用truncate清空表記錄任務布置7:完成本書場景描述7:truncate與delete的區(qū)別的任務要求。4.3.2使用truncate清空表記錄MySQL中,當字符串中存在8個特殊字符序列時,字符序列被轉義成對應的字符(每個字符序列以反斜線符號“\”開頭,且字符序列大小寫敏感)。4.4MySQL特殊字符序列

SELECT

"This\nIs\nFour\nlines

";

+--------------------+

|

This

Is

Four

lines

|

+--------------------+

向表中插入兩條學生信息

4.4MySQL特殊字符序列大量數據的插入1.insertinto表名[(字段列表)]values(值列表1)insertinto表名[(字段列表)]values(值列表2)…….2.insertinto表名[(字段列表)]value(值列表1),(值列表2),(值列表3)….;3.loaddatainfile‘d:/test.txt’intotabletestfileldsterminatedby‘,’

optionallyenclosedby‘“’linesterminatedby‘?’;4.sourced:/test.sql;3.loaddatainfile‘d:\test.txt’

1.將選中的數據快兒拷貝到一個新建的表格工作薄,然后“另存為”-》“文本文件(制表符分割)(*.txt)”,假如存到“D:/test.txt”這個位置里。2.根據要導入的數據快兒建立MySql數據庫和表,CHARACTER

SET

gbk然后使用命令loaddatalocalinfile'D:\data.txt'intotabletablenameexceltomysqlfieldsterminatedby'\t';Select*fromtest4.sourced:/test.sql;

一、假如excel中有四列數據,希望導入到數據庫中mytable中,對應的字段分別為field1,field2,field3,field4.二、在excel表格中增加一列(?excel應該是E列),利用excel的公式自動生成SQL語句(這個很重要,別寫錯了),具體方法如下?:

1、增加一列(excel應該是E列,因為我們原有4列數據,分別為A\B\C\D列)2、在第一行(這一行必須為有效數據行否則出錯)的E列,就是E1中輸入公式=CONCATENATE("insertintotable(field1,field2,field3,field4)values('",A1,"','",B1,"','",C1,"','",D

溫馨提示

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

評論

0/150

提交評論