亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 02. sql note.txt

?? 在達內培訓java筆記
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
?先登陸服務器:    telnet 192.168.0.23    公帳號: openlab-open123    tarena-tarena
再進入SQL:sqlplus sd0807/sd0807        帳號:sd0807-密碼同樣  公帳號:openlab-open123 

設置環境變量:
   ORACLE_SID=oral10g\    --變局部變量
   export ORACLE_SID      --變全局變量
   unset ORACLE_SID       --卸載環境變量
   ORACLE_HOME=...        --安裝路徑;直接用一句語句也可以,如下
   export ORACLE_HOME=/oracledata/.../bin:

一、注意事項:
    大小寫不敏感,即不區分大小寫。提倡關鍵字大寫,便于閱讀和調式。
    “!”在SQL環境下執行Unix命令。
    SQL語句是由簡單的英語單詞構成;這些英語單詞稱為關鍵字/保留字,不做它用。SQL由多個關鍵字構成。
    SQL語句由子句構成,有些子句是必須的,有些是可選的。
    在處理SQL語句時,其中所有的空格都被忽略(空格只用來分開單詞,連續多個空格當一個用)。
    SQL語句可以在一行上寫出,建議多行寫出,便于閱讀和調試。
    多條SQL語句必須以分號分隔。多數DBMS不需要在單條SQL語句后加分號,但特定的DBMS可能必須在單條SQL語句后加分號。
    SQL語句的最后一句要以 “;”號結束

二、寫子句順序
    Select column,group_function
    From  table
    [Where  condition]
    [Group by  group_by_expression]
    [Having    group_condition]
    ……
    [Order by  column];    --最后

三、常用簡單語句:
    clear screen:清屏
    edit:編輯剛才的一句。
    desc/describe:(列出所有列名稱)
        用法: DESCRIBE [schema.]object[@db_link]
    dual:亞表,臨時用。如:desc dual;/from dual;
    rollback:回溯,回溯到上次操作前的狀態,把這次事務操作作廢,只有一次(DDL和DCL語句會自動提交,不能回溯)。
        可以用commit語句提交,這樣就回溯不回了。
	set pause on\off :設置分屏(設置不分屏) 
	set pause "please put an enter key" 且 set pause on:設置帶有提示的分屏
	oerr ora 904 :查看錯誤
	set head off :去掉表頭
	set feed off :去掉表尾
	保存在oracle數據庫中的所有操作細節:
	    spool oracleday01.txt :開始記錄
	    spool off :開始保存細節

四、SELECT語句:選擇操作、投影操作。
select:從一個或多個表中檢索一個或多個數據列。包含信息:想選擇什么表,從什么地方選擇。必須要有From子句。(最常用)
        當從多張表里查詢的時候,會產生笛卡爾積;可用條件過濾它。
        當兩個表有相同字段時必須加前綴,列名前需加表名和“.”,如“s_emp.id”。
    1、用法:SELECT  columns,prod2,prod3<列>  FROM Table1,table2<表名>  分號結束
       如: select id from s_emp;
           select last_name,name from s_emp,s_dept where s_emp.dept_id=s_dept.id;--列表每人所在部門
           SELECT *  FROM Products;    --檢索所有列。
           數據太多時,最好別使用上句,會使DBMS降低檢索和應用程序的性能。(*通配符)
    2、對數據類型的列可進行運算(如加減乘除)。
    3、對列起別名:有直接起別名,加AS起別名,用雙引號起別名等三種方法
       (單引號,引起字符串;雙引號,引起別名。起別名有符號,或者區分大小寫時,必須用雙引號)
        多表查詢時,可給表起別名。(給列起別名,列<空格>列別名;給表起別名,表<空格>表別名;)。
        如:Select first_name EMPLOYEES, 12*(salary+100) AS MONEY, manager_id "ID1" From s_emp E;
    4、字段的拼接,可用雙豎線(雙豎線只能用于select語句里)。不同的DBMS可能使用不同的操作符;拼接的字段同樣可以起別名。
        如:Select  first_name ||' '|| last_name || ', '|| title "Employees" From s_emp;

排他鎖:Select id,salary  From s_emp where id=1  For Update;
   可以阻止他人并發的修改,直到你解鎖。
   如果已有鎖則自動退出:Select id,salary From s_emp where id=1 For Update NoWait;
   FOR UPDATE :可以再加 OF 精確到某格。如:   ... For Update  OF salary ...  
   注意要解鎖。

五、ORDER BY 子句,排序
Order by:按某排序列表(默認升序 asc,由低到高;可加 desc,改成降序由高到低)
    檢索返回數據的順序沒有特殊意義,為了明確地排序用 SELECT 語句檢索出的數據,可使用 ORDER BY 子句。
    ORDER BY 子句取一個或多個列的名字。
    對空值,按無窮大處理(升序中,空值排最后;降序中排最前)。
    1、用法:Select prod_id,prod_price,prod_name From Products  Order By  prod_price,prod_name; 
      (從左到右執行排序,先排price)
       ORDER BY子句中使用的列將是為顯示所選擇的列,但是實際上并不一定要這樣,用非檢索的列排序數據是完全合法的。
       為了按多個列排序,列名之間用逗號分開。
    2、支持按相對列位置進行排序。
       輸入 SELECT prod_id,prod_price,prod_name
       FROM  Products
       ORDER BY 2,3    --(2指price,3指name)
    3、升序、降序。默認是升序(asc,從小到大排序),想降序時用desc。
       如:SELECT prod_id,prod_price,prod_name FROM  Products ORDER BY prod_price DESC;
      注意:DESC 關鍵字只應用到直接位于其前面的列名。如果想在多個列上進行排序,必須對每個列指定DESC關鍵字。
         升序是默認的,可不寫,但降序必須寫。


六、WHERE子句,選擇、過濾
    其后只能跟邏輯語句,返回值只有ture或false
    如: select last_name,salary from s_emp where salary=1000;--找出工資1000的人

WHERE子句操作符:
    1、邏輯比較運算符
        =        等于
        !=       不等于,還有(<>  ^=   這兩個同樣表示不等于)
        >         大于
        >=        大于等于
        <         小于
        <=        小于等于

    2、SQL 比較運算符
    between…and…    :在兩者之間。(BETWEEN 小值 AND 大值)
        如:select last_name,salary from s_emp where salary between 1000 and 1500;
          --工資1000到1500的人,包括1000和1500。
    in(列表):在列表里面的。
        如:select last_name,dept_id from s_emp where dept_id in(41,42);第41、42部門的人
    like    : 包含某內容的。模糊查詢
        可以利用通配符創建比較特定數據的搜索模式,通配符只能用于文本,非文本數據類型不能使用通配符。
        通配符在搜索模式中任意位置使用,并且可以使用多個通配符。
        通配符%表示任何字符出現任意次數;還能代表搜索模式中給定位置的0個或多個字符。下劃線匹配單個任意字符。
        如:select table_name from user_tables where table_name like 'S\_%' escape'\';
        '  找出“S_“開頭的,由于下劃線有任意字符的含義,故需另外定義轉移符。
           但習慣用“\”,為方便其他程序員閱讀和檢測,一般不改用其他的。
        like 'M%':M開頭的        like '_a%':第二個字符是a的    like '%a%'所有含a的
            (“_”表示一個任意字符;“%”表示任意多個任意字符。)
        單引號里面的內容,大小寫敏感。單引號用來限定字符串,
        如果將值與串類型的列進行比較,則需要限定引號;用來與數值列進行比較時,不用引號。
    is null:是空。(NULL表示不包含值。與空格、0是不同的。)
        如:SELECT prod_name,prod_price FROM Products WHERE prod_price IS NULL;


七、高級檢索(邏輯運算符):
    通常我們需要根據多個條件檢索數據。可以使用AND或OR、NOT等連接相關的條件
    計算次序可以通過圓括號()來明確地分組。不要過分依賴默認計算次序,使用圓括號()沒有壞處,它能消除二義性。
    
    and:條件與
       如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 AND vend_id=‘DELL’
    or:條件或    (注: and 的優先級比 or 更高,改變優先級可用括號)
       如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 OR vend_id=‘DELL’
    not:條件非。否定它之后所跟的任何條件
        否定的SQL 比較運算符: NOT BETWEEN; NOT IN; NOT LIKE; IS NOT NULL:
         (注意,按英語習慣用 is not,而不是 not is)
        NOT 與 IN 在一起使用時,NOT 是找出與條件列表不匹配的行。
        IN 列表里有 NULL 時不處理,不影響結果;用 NOT IN 時,有 NULL 則出錯,必須排除空值再運算。
    in :選擇列表的條件
        使用IN操作符的優點: 在長的選項清單時,語法直觀; 計算的次序容易管理;
        比 OR 操作符清單執行更快;最大優點是可以包含其他 SELECT 語句,使用能夠動態地建立 WHERE 子句。
     如 SELECT prod_id,prod_price,prod_name FROM Products WHERE vend_id IN(‘DELL’,’RBER’,’TTSR’);


八、單行函數:
    函數一般在數據上執行,它給數據的轉換和處理提供了方便。不同的DBMS提供的函數不同。
    函數可能會帶來系統的不可移植性(可移植性:所編寫的代碼可以在多個系統上運行)。
    加入注釋是一個使用函數的好習慣。
    大多數SQL實現支持以下類型的函數: 文本處理, 算術運算, 日期和時間, 數值處理。

Null:空值
    空值當成無窮大處理,所有空值參與的運算皆為空。
    空值與空值并不相等,因為空值不能直接運算。
    如:prod_price=""     這種寫法是錯的(不要受到corejava的影響)
    prod_price=NULL      這種寫法是錯的(不要受到corejava的影響)
    prod_price IS NULL   這種寫法才是對的
NVL:處理空值,把空值轉化為指定值。可轉化為日期、字符、數值等三種(注意:轉化時,兩參數必須要同類型)
    如:NVL(date, '01-JAN-95')    NVL(title,'NO Title Yet')        NVL(salary,0)
    錯誤寫法:
     Select last_name,title,salary*commission_pct/100 COMM From s_emp;--沒提成的人沒法顯示工資
    正確寫法:
     Select last_name,title,salary*NVL(commission_pct,0)/100 COMM From s_emp;--把提成是空值的轉化為0

DISTINCT:過濾重復
    把重復的行過濾掉;多個字段組合時,只排除組合重復的。
    DISTINCT必須使用列名,不能使用計算或者表達式。
    所有的聚合函數都可以使用。如果指定列名,則DISTINCT只能用于COUNT(列名),DISTINCT不能用于COUNT(*)。
    如:Select  Distinct  name  From  s_dept; Select Distinct dept_id,title  From s_emp;

文本處理:
TRIM()/LTRIM()/RTIRM():去空格。只能去掉頭和尾的空格,中間的不理。
     trim('   heo Are  fdou   ')  -->  heo Are  fdou
     輸入:select trim('   heo Are  fdou   ')  from dual; -->:heo Are  fdou
LOWER:轉小寫
    lower('SQL Course') --> sql course
UPPER:轉大寫
    upper('    SQL Course') --->SQL COURSE
INITCAP:首字母轉大寫,其余轉小寫
    initcap(SQL Course')  '--> Sql Course  

CONCAT:合成。雙豎線只能在select語句里面用,這個可用于任何語句。
    Concat('Good','String') --> GoodString
SUBSTR:截取。
    Substr('String', 1 ,3)  --> Str
        第一個數字“1”,表示從第幾個開始截取;若要從倒數第幾個開始,用負數,如“-2”表示倒數第2個。
        上式中第2個數字“3”表示截取多少個。
LENGTH:統計長度。
    Length('String') --> 6
NVL:轉換空值

日期和時間處理:
    Oracle日期格式:DD-MMM-YYYY        (D代表日期date,M代表月month,Y代表年year)
    如:SELECT prod_name              (DAY表示完整的星期幾,DY顯示星期的前三個字母)
        FROM Products
        WHERE prod_time BETWEEN
            to_date(’01-JAN-2008’)
        AND to_date(’31-DEC-2008’);
    日期可以進行加減,默認單位是1天。日期與日期可以相減,得出天數;日期與日期但不能相加。
sysdate   ->  系統的當天
Months_Between('01-Sep-95','11-Jan-94')  --> 19.774194    相差多少個月,Between里面也可以填函數。
Add_months('11-Jan-94',6)                -->  11-Jul-94   增加多少個月
Next_day('01-Sep-95','Friday')   --> '08-Sep-95'    下一個星期五。其中的'Friday'可用6替代,因為星期日=1
Last_day('01-Sep-95')            -->  '30-Sep-95'   這個月的最后一天


數值處理:可以運用于代數,三角,幾何
ROUND:四舍五入
    Round(45.925,2)  -> 45.93        Round(45.925,0)  -> 46        Round(45.925,-1)  -> 50
    逗號前一個數是要處理的數據源,后一個參數表示保留多少位小數。
    后一參數是負數時,表示舍去小數點前的幾位,例3是舍去個位及其后的。不寫后一參數時,默認不保留小數。
TRUNC:舍去末位。直接舍去,不會進位。
    Trung(45.925,2)  -> 45.92       Trung(45.925,2)  -> 45.92       Trung(45.925,2)  -> 45.92
日期的舍取:


常用的數值處理函數有:
    ABS()    絕對值        ABS(-5741.5854) --> 5741.5854
    PI()     圓周率        注意:oracle中不支持 PI()函數;MYSql 支持PI()函數。
    SIN()    正統值             Oracle還支持COS()、ASIN()、ACOS()函數
    SQRT()   平方根 


  轉化:
TO_CHAR(number,'fmt'):把數值轉換成字符串
    顯示數字的命令
    9:正常顯示數字;
    0:顯示包括0的數值形式,空位強制補0;
    $:以美元符號顯示貨幣;
    L:按當前環境顯示相關的貨幣符號;
    . 和,:在固定位置出現“.”點 和“,”逗號;不夠位時,四舍五入。
   例題:SQL> select 'Order'||To_char(id)||
  2  'was filled for a total of'
  3  ||To_char(total,'fm$9,999,999')
  4  from s_ord
  5  where ship_date ='21-SEP-92';

TO_NUMBER(char):把字符轉換成數字


九、鏈接
內鏈接:嚴格匹配兩表的記錄。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191久久久久久久久久久| 国产成人在线免费| 欧美日韩色综合| 五月婷婷激情综合| 在线播放/欧美激情| 激情丁香综合五月| 中文字幕成人网| 91视频国产资源| 午夜欧美在线一二页| 欧美成人bangbros| 从欧美一区二区三区| 日韩一区中文字幕| 欧美日韩国产一级| 国产一区二区三区在线观看免费视频 | 中文字幕一区二区三| 色噜噜狠狠成人中文综合| 日本在线观看不卡视频| 国产日韩一级二级三级| 色偷偷一区二区三区| 免费久久精品视频| 中文字幕制服丝袜成人av| 欧美亚洲高清一区| 精品伊人久久久久7777人| 一区在线中文字幕| 欧美一区二区三区四区在线观看| 激情欧美日韩一区二区| 亚洲精品国产高清久久伦理二区| 在线播放国产精品二区一二区四区| 国内成人精品2018免费看| 亚洲三级视频在线观看| 精品剧情v国产在线观看在线| 97久久精品人人爽人人爽蜜臀| 日韩精品三区四区| 国产精品婷婷午夜在线观看| 欧美精品三级日韩久久| 99久久er热在这里只有精品66| 亚洲一区二区在线免费观看视频| 精品久久免费看| 欧美中文字幕一区| 成人免费视频一区| 日韩av电影免费观看高清完整版| 国产精品午夜在线观看| 欧美一区二区视频在线观看2022| 成人app在线| 国产一区二三区| 麻豆国产一区二区| 亚洲一区二区三区自拍| 国产精品久久久久三级| 欧美一区二区在线免费播放| 色先锋资源久久综合| 国产精品一区二区无线| 亚洲成人综合网站| 国产精品久久久久久久久搜平片| 这里是久久伊人| 欧美日韩视频一区二区| 色噜噜狠狠色综合中国| 成人精品一区二区三区中文字幕 | 看片网站欧美日韩| 亚洲mv大片欧洲mv大片精品| 国产精品国产自产拍高清av | 欧美一区二区三区在线看| 色婷婷精品久久二区二区蜜臂av| 成人黄色a**站在线观看| 精品一区二区在线视频| 蜜臀精品一区二区三区在线观看| 亚洲图片欧美色图| 亚洲国产一区二区三区| 亚洲一区在线电影| 日韩精品成人一区二区在线| 亚洲v中文字幕| 亚洲一区二区欧美| 亚洲v精品v日韩v欧美v专区| 亚洲国产综合在线| 日韩激情在线观看| 日本伊人精品一区二区三区观看方式| 亚洲一区二区三区四区在线免费观看 | 一本久道久久综合中文字幕| 成人免费视频一区二区| 成人禁用看黄a在线| k8久久久一区二区三区 | 欧洲生活片亚洲生活在线观看| av一本久道久久综合久久鬼色| 粗大黑人巨茎大战欧美成人| 成人精品gif动图一区| 97国产精品videossex| 99精品久久免费看蜜臀剧情介绍| 99精品在线观看视频| 色综合亚洲欧洲| 欧美日韩在线精品一区二区三区激情| 欧美在线观看视频一区二区 | 欧美日韩国产一区二区三区地区| 欧美日韩国产色站一区二区三区| 欧美女孩性生活视频| 日韩女优av电影| 国产精品网站在线| 一区二区三区在线免费观看| 亚洲自拍偷拍图区| 久久se这里有精品| 韩国一区二区在线观看| 国产不卡在线播放| 91福利在线导航| 日韩欧美另类在线| 国产精品卡一卡二卡三| 亚洲国产成人av网| 韩国一区二区视频| 色综合久久中文字幕综合网| 欧美日韩视频在线第一区| www国产成人| 成人免费在线播放视频| 亚洲成人免费av| 国产美女视频一区| 欧美日韩综合不卡| 国产丝袜在线精品| 丝袜美腿亚洲一区| 欧美日韩一区二区在线观看视频| 欧美一区日本一区韩国一区| 国产欧美日韩三级| 日日欢夜夜爽一区| av电影在线观看不卡 | 日韩精品自拍偷拍| 亚洲三级理论片| 久久99精品一区二区三区| 一本一道久久a久久精品综合蜜臀| 欧美一级久久久| 亚洲欧美日韩中文字幕一区二区三区| 蜜桃精品在线观看| 91视频你懂的| 国产喷白浆一区二区三区| 亚洲1区2区3区4区| 99riav久久精品riav| 久久先锋资源网| 性欧美疯狂xxxxbbbb| 成人精品视频一区二区三区尤物| 日韩一区二区三区四区五区六区 | 国产三级三级三级精品8ⅰ区| 亚洲综合一二区| av激情成人网| 久久久99免费| 日本不卡一二三区黄网| 欧美性videosxxxxx| 国产精品人人做人人爽人人添| 国内一区二区视频| 日韩欧美你懂的| 美女视频黄免费的久久| 欧美性猛交xxxx黑人交| 亚洲人快播电影网| caoporen国产精品视频| 久久精品一区二区三区不卡牛牛| 蜜臀精品一区二区三区在线观看 | 91麻豆精品在线观看| 久久久久久久久伊人| 捆绑调教一区二区三区| 欧美人xxxx| 日韩高清不卡一区| 欧美视频一区在线| 樱花影视一区二区| 91视频你懂的| 亚洲免费观看视频| 色婷婷综合久久久| 亚洲色图欧美在线| 色欧美日韩亚洲| 亚洲午夜私人影院| 欧美偷拍一区二区| 肉丝袜脚交视频一区二区| 欧美三级韩国三级日本三斤| 亚洲大片一区二区三区| 欧美精品一级二级三级| 亚洲1区2区3区视频| 91精品国产高清一区二区三区 | 日韩视频免费直播| 婷婷丁香久久五月婷婷| 在线综合+亚洲+欧美中文字幕| 日本va欧美va欧美va精品| 日韩视频在线永久播放| 韩日av一区二区| 亚洲国产精品国自产拍av| 99久久精品免费看| 亚洲综合丝袜美腿| 在线播放国产精品二区一二区四区| 日日夜夜精品视频免费| 欧美成人欧美edvon| 粉嫩高潮美女一区二区三区| 国产精品久久久久aaaa樱花 | 91丨porny丨最新| 亚洲欧美日韩一区二区三区在线观看| 91污在线观看| 五月天亚洲婷婷| 亚洲精品在线免费播放| 不卡的av网站| 亚洲夂夂婷婷色拍ww47| 51久久夜色精品国产麻豆| 国产一区二区三区免费看| 国产精品国产三级国产普通话三级| 色综合天天视频在线观看| 亚洲国产精品欧美一二99| 久久影院电视剧免费观看| 97久久人人超碰| 青青草国产成人99久久| 国产精品视频第一区| 久久久综合视频|