oracle基本語法(增刪改查)_第1頁
oracle基本語法(增刪改查)_第2頁
oracle基本語法(增刪改查)_第3頁
oracle基本語法(增刪改查)_第4頁
oracle基本語法(增刪改查)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

安裝PL/SQLDeveloper前提:必須安裝Oracle的客戶端卸載:------------------------------CommandWindow-->SQLPLUSSQLWindow-->用來開發SQL程序-------------------------------數據庫增刪改-->30%查-->70%------------------------------------------------------------------------------創建表:createtable表名(列1類型,列2類型);字符類型char-->定長字符串namechar(10)-->保存一個值到name'abc'--實際存儲后的結果是-->'abc'varchar2-->變長字符串namevarchar2(10)-->保存一個值到name'abc'--實際存儲后的結果是-->'abc'clob-->保存超大文本4G---------------------------數字類型所有的數字(整數,浮點數)都是number定義一個工資的保存列salnumber(5,2)-999.99~999.99年齡agenumber(2)-99~99---------------------------日期類型date-->保存年月日,時分秒--------------------------二進制類型BLOB-->最大不能超過4G;------------------------------表結構的基本操作:0、查看表結構desc表名1、添加一個字段altertable表名add(列類型);2、修改字段類型altertable表名modify(列類型);3、刪除一個字段altertable表名dropcolumn列名;4、修改表的名字renamestudenttostu5、刪除表droptable表名**如果需要修改列的名字新增一個字段,然后遷移數據,最后刪除原字段或者使用圖形化工具如果有值,這種刪除,是沒有辦法恢復的。。上述修改表結構相關的語句叫做DDL,修改,是沒有辦法恢復的--------------------------------------------------------------------------------------------------插入數據createtabletest(idnumber,namevarchar2(20),agenumber(2));1)insertinto表名values(所有列的值);insertintotestvalues(1,'zhangsan',20);2)insertinto表名(列)values(對應的值);insertintotest(id,name)values(2,'lisi');insertintotest(name,age)values('wangwu',20);--------------------------------------------------------------------------------------------------更新語句update表set列=新的值[where條件]--》更新滿足條件的記錄updatetestsetname='zhangsan2'wherename='zhangsan'update表set列=新的值--》更新所有的數據updatetestsetage=20;----------------------------------**刪除數據:幾種刪除方式:1)deletefrom表名where條件-->刪除滿足條件的記錄deletefromtestwhereid=1;deletefromtest;-->刪除所有commit;-->提交數據rollback;-->回滾數據delete方式可以恢復刪除的數據,但是提交了,就沒辦法了delete刪除的時候,會記錄日志--》刪除會很慢很慢2)truncatetable表名刪除所有數據,不會影響表結構,不會記錄日志,數據不能恢復--》刪除很快3)droptable表名刪除所有數據,包括表結構一并刪除,不會記錄日志,數據不能恢復-->刪除很快------------------------------------------------------------------------------------------如何查看一個SQL執行了多長時間?settimingon小技巧:如何快速的復制數據?1、insertintotestselect*fromtest;2、createtable表名select*fromtest;-----------------------------------------------------------------查詢:基本查詢,復雜查詢1、導入數據sqlplus狀態下:@文件名基本查詢select列from表名select*from表名--》所有列-----------------------------------------------1、去除重復的顯示selectdistinct列from表名2、算術運算,不能把NULL參與運算nvl(列,值)--》如果列為空,則用“值”替換NULLnvl(comm,0)--->如果comm為空,返回0每一個列都可以取別名3、如何連接字符串||-------------------------------------------------------------------------------日期類型:to_date(字符串1,字符串2)-->字符串1是日期的字符串,字符串2是格式,返回一個日期類型。to_date('1990-1-1','yyyy-mm-dd')-->返回日期類型的1990-1-1to_date('1990-1-113:30:10','yyyy-mm-ddhh24:mi:ss')-->返回日期類型的1990-1-113:30:10SQL的模糊查詢:like:匹配字符%:0到多個字符_:表示單個字符如果涉及到NULL判斷isNULL,isnotnull查詢結果需要排序orderby字段select*fromemporderbysal--》orderby后面,默認升序asc升序desc降序-------------------------------Oracle的復雜查詢,統計函數,分組sum,count,avg,max,min----分組:studentnamesexclassscorezhangsan男1090李四男1060zhang女1086王五女2090統計每個班的最高分max(score)10zhangsan男1090-->90李四男106020王五女2090-->90--------------------------------------統計每個班的男生和女生分別的最高分分組:classsexmax(score)10男zhangsan男1090-->90李四男106010女zhang女1086-->8620女王五女2090-->90統計函數不能跟在where條件后面-groupby和having子句groupby字段-->按照指定的字段進行分組having字句--》對分組后的結果進行篩選輸出-------------------------------一般來說,groupby后面的字段,最好出現在select后面統計函數統計的

溫馨提示

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

評論

0/150

提交評論