丨增刪改查如何操作表中的數(shù)據(jù)_第1頁
丨增刪改查如何操作表中的數(shù)據(jù)_第2頁
丨增刪改查如何操作表中的數(shù)據(jù)_第3頁
丨增刪改查如何操作表中的數(shù)據(jù)_第4頁
丨增刪改查如何操作表中的數(shù)據(jù)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

|+|decimal(10,2)| +++| |+6rowsinset(0.02代代1INSERTINTO表名[(字段名[,字段名]...)]VALUES(值的列表MySQL其實,MySQL比如,我們有一個叫demo.goodsmaster的表,包括了itemnumber、barcode、goodsname、specification、unit和price共6個字段。要插入一條數(shù)據(jù)記錄,其代代INSERTINTO(77895運(yùn)行這個代代12345678mysql>SELECT->FROM+++++++|itemnumber|barcode|goodsname|specification|unit|price+|++4|++|++|++|++|++5.00+1rowinset(0.01如果插入一條記錄,但是只給部分字段賦值,可不可以呢?比如說,客戶有個品,3代代INSERTINTO(--這里只給3個字段賦值,itemnumber、specification、unit7( 1313運(yùn)行這條代代123456789mysql>SELECT->FROM+++++++|itemnumber|barcode|goodsname|specification|unit|price+||++4|5|++||++||++|+|+5.00|NULL|10.00+++2rowsinset(0.00| | | |PRI| |auto_increment| | | | | | | | |specification| |YES | | | |YES | | |decimal(10,2)| | 11 126rowsinset(0.01可以看到,我們在插入數(shù)據(jù)時沒有明確賦值的3第一種情況是,如果字段允許為空,而我們沒有給它賦值,那么L予空值。在剛剛的代碼中,“specification”“un”字段都允許為空,因此,如果數(shù)據(jù)插入語句沒有指定這幾個字段的值,L第二種情況是,如果字段是主鍵,就不能為空,這個時候,MySQLMySQL1。因此,“itemnumber”也有了自己該有的比如說,我們嘗試把表demo.goodsmaster的字段“speicification代代ALTERTABLEMODIFYspecificationTEXTNOTL“sptn”賦值,這跟我們給字段“specification”代代FROMWHERE刪除數(shù)據(jù)記錄之后,再運(yùn)行上面的語句,給字段“specifict代代INSERTINTO(6( 12SQLMySQL“specification”沒有默認(rèn)值。也就是現(xiàn)在,你一定清楚了,部分插入一條數(shù)據(jù)記錄是可以的,但前提是,沒有賦值的字段,一定要讓MLSL會提示錯誤的。好了,到這里,我們就學(xué)會了給MySQL的數(shù)據(jù)表插入一條數(shù)據(jù)記錄。但是,在實際工作我們的項目就有這樣的場景:門店每天的銷售流水都很多,日積月累,流水表變得越來越大。如果就讓它這么不斷地增長,數(shù)據(jù)量甚至?xí)_(dá)到數(shù)億條,占據(jù)的空間達(dá)到幾十個GL2MySQLMySQL代代INSERTINTO表名(字段名SELECTFROMWHERE舉個例子,在我們的超市信息系統(tǒng)的L用INSERT代代INSERTINTO歷史流水表(日結(jié)時間字段,其他字段SELECTFROM代代DELETEFROMWHEREdemo.goodsmaster據(jù),可以通過下面的SQL語句來實現(xiàn):代代1DELETEFROM這是因為,Workbench自動處于安全模式,它要求對數(shù)據(jù)的刪除或修改操作中必須包含WHERE條件。而且,這個WHERE條件中,必須用到主鍵約束或者唯一性約束的字段。MySQL代12代12345678mysql>SELECT->FROM+++++++|itemnumber|barcode|goodsname|specification|unit|price+||++4|5|++||++||++|+|+5.00|NULL|10.00+++992rowsinset(0.00代代DELETEFROMWHEREitemnumber> 我們來看一下MySQL代代UPDATESET字段名=WHERE語法很簡單,需要注意的一點是,不要修改主鍵字段的值代代123456789mysql>SELECT->FROM->WHEREitemnumber=+++++++|itemnumber|barcode|goodsname|specification|unit|price+|++3|++|++|++|++|++5.00+1rowinset(0.00我們能查詢到一條商品編號是3的數(shù)據(jù)記錄:條碼是“00035代代123456789mysql>UPDATE->SET->WHEREitemnumber=QueryOK,1rowaffected(0.02Rowsmatched:Changed:1Warnings:mysql>SELECT->FROM->WHEREitemnumber=3;Emptyset(0.00sec)3代代SELECT*|FROMWHEREGROUPBYHAVINGORDERBYLIMIT在這些字段中,SELECT、WHERE、GROUPBYHAVINGLCT:是查詢關(guān)鍵字,表示我們要做一個查詢?!?”是一個通配符,表示我們要查WHERE:表示查詢條件。你可以要查詢的數(shù)據(jù)所要滿足的條件,放在WHERE關(guān)GROUPBY:作用是告訴MySQL,查詢結(jié)果要如何分組,經(jīng)常與MySQL的聚合函數(shù)HAVING:用于篩選查詢結(jié)果,跟WHERE類似。FROM、ORDERBYLIMITFROM關(guān)鍵字表示查詢的數(shù)據(jù)源。我們現(xiàn)在只學(xué)習(xí)了單個數(shù)據(jù)表,你可以要查詢的數(shù)據(jù)表名,直接寫在FROM關(guān)鍵字之后。以后我們在學(xué)到關(guān)聯(lián)表的時候,你就會知道,F(xiàn)ROM關(guān)鍵字后面,還可以跟著更復(fù)雜的數(shù)據(jù)表聯(lián)接。 MySQLASORDERORDERBYMySQL,查詢結(jié)果如何排序。ASC,DESC我來舉個簡單的小例子,帶你看看ORDERBY是怎么使用的(段“specification”和“unit”允許為空)demo.goodsmaster2代代INSERTINTO(6( 12INSERTINTO(18( 2411mysql>SELECT代碼23456789->FROM+++++++|itemnumber|barcode|goodsname|specification|unit|price+||||++4|5|6|7|++|||尺子|測試++||||++|+|+5.00|||+NULL|10.00NULL|15.00|NULL|20.00++4rowsinset(0.00ORDERBY7 6| |尺子 | |NULL|15.008 4| |尺 |三角 | |5.009 7| |測試 | |NULL|20.0010 5| |測 | |NULL|10.0011

124rowsinset(0.00barcodebarcode照price的降序排序。LIMIT的作用是告訴MySQL只顯示部分查詢的結(jié)果。比如,現(xiàn)在我們的數(shù)據(jù)表demo.goodsmaster42、3LIMIT代代mysql>SELECT->FROM->LIMIT4556789+++++++|itemnumber|barcode|goodsname|specification|unit|price+||++5|6|++||尺子++||++++|NULL|10.00|NULL|15.00+++這里的“LIMIT1,2”中,“1”表示起始位置,MySQL0,1從第2條記錄開始;“2”表示2條數(shù)據(jù)。因此,“LIMIT1,2”就表示從第2條數(shù)據(jù)開始,顯示2條數(shù)據(jù),也就是顯示了第2、3條數(shù)據(jù)。你一定要好好學(xué)習(xí)。下面的這些SQL語句,是我總結(jié)的數(shù)據(jù)操作語法,你一定要重點掌代代123456789INSERTINTO表名[(字段名[,字段名]...)]VALUES(值的列表INSERTINTO表名(字段名SELECTFROMWHEREDELETEFROMWHEREUPDATESET字段名=WHERESELECT*|字段列表FROM數(shù)據(jù)源WHERE條件GROUPBY字段HAVING條件ORDERBY字段LIMIT最后,我再補(bǔ)充一點。如果我們把查詢的結(jié)果插入到表中時,導(dǎo)致主鍵約束或者唯一性約束被破壞了,就可以用“ONUPLICATE假設(shè)用戶有2個店用一套系統(tǒng)統(tǒng)一管理。那么首先遇到的問題就是,需要進(jìn)行數(shù)據(jù)整合。下面我們就以商品信息表為例,來說明如何通過使用“ONUPLICATE假設(shè)門店A“demo.goodsmaster6 1| | |16 | 89.007 2| | |10支 | 5.008 3| |橡 | | 3.009 3rowsinset(0.00門店B代代123456789mysql>SELECT->FROM+++++++|itemnumber|barcode|goodsname|specification|unit|salesprice+||++1|4|++||++||+++|NULL|+|++89.001.50+2rowsinset(0.00BA就用門店B的條碼,替換門店A的條碼,用門店B的商品名稱,替換門店A的商品名BA作,就可以用下面的SQL語句實現(xiàn): 1| |教科 |16 | 89.00 2| | |10支 | 5.00 3| |橡 | | 3.00 4| |饅 1.5015

164rowsinset(0.00最后,我再跟你3份資料,分別是MySQL數(shù)據(jù)插入、MySQL數(shù)據(jù)更新MySQLdemo.goodsmaster“itemnumber”是主鍵,“itemnumber”不連情況你想,如入數(shù)才能這種況的發(fā)生呢? 不得售賣。頁面已增加防盜追蹤,將依 其上一 03|表:怎么創(chuàng)建和修改表下一 05|主鍵:如何正確設(shè)置主鍵言言ALTERTABLEdemo.goodsmasterAUTO_INCREMENT1 2SELECT@itemnumber=MIN(a.itemnumber)+1FROMde

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論